Created
April 2, 2023 01:05
-
-
Save fadden/8a0e0898e220b18cfc087b4d9d89e847 to your computer and use it in GitHub Desktop.
Arc3D shape definition file format
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ATMTDS | |
<1> | |
# Krait from ELITE (version for Modulae simulator) | |
Krait | |
POINTS | |
# main shape | |
1 0 0 40 | |
2 -45 0 -10 | |
3 45 0 -10 | |
4 0 10 -40 | |
5 0 -10 -40 | |
* | |
# prongs (2,3 are parts of the main shape) | |
6 -45 0 40 | |
7 45 0 40 | |
# view port | |
8 0 3 16 | |
9 12 3 5 | |
10 -12 3 5 | |
11 0 4 8 | |
# engines | |
12 15 0 -30 | |
13 6 6 -36 | |
14 6 -6 -36 | |
15 -15 0 -30 | |
16 -6 6 -36 | |
17 -6 -6 -36 | |
endpoints | |
FACES | |
1 -1 1 3 4 | |
2 -1 1 4 2 | |
3 -1 1 5 3 | |
4 -1 1 2 5 | |
5 -1 2 4 5 | |
6 -1 3 5 4 | |
endfaces | |
DECORATIONS | |
# prongs (color 13 = dark gray) | |
# mode 2 (OR): draw if either of the flat panels it attaches to is visible | |
{ 2 4 } 2 13 2 6 | |
{ 1 3 } 2 13 3 7 | |
# windshield (color 2 = yellow) | |
# mode 0 (AND): draw only if top panels are visible | |
{ 1 } 0 2 8 9 11 | |
{ 2 } 0 2 8 10 11 | |
# engines (color 6 = red) | |
# mode 0 (AND): draw only if rear panels are visible | |
{ 6 } 0 6 12 13 14 12 | |
{ 5 } 0 6 15 16 17 15 | |
enddecorations | |
END |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Format of shape definition files (v1.0) | |
Blank lines and lines starting with "#" are ignored. | |
---------- | |
ATMTDS [ file signature; MUST be first line of file ] | |
<#> [ # is the minimum version number needed to read | |
the file, between angle brackets ] | |
shape_name [ 15 chars max ] | |
POINTS [ "POINTS" signals start of point list ] | |
id0 xc yc zc [ each id should be a unique integer (1-32767) ] | |
id1 xc yc zc [ max of 128 points ] | |
. [ max coordinate value is +/- 16384 ] | |
. | |
idn xc yc zc | |
ENDPOINTS | |
FACES [ "FACES" signals the start of face descriptions ] | |
id0 color p1 p2 p3...pn [ each pn is an ID for a point ] | |
id1 color p1 p2 p3...pn [ each list is terminated with a CR ] | |
. [ specify points in COUNTERCLOCKWISE order. Put | |
. the 3 points with the greatest angle FIRST. ] | |
idn color p1 p2 p3...pn [ max of 64 faces ] | |
[ color is pixel value; if -1 then current pen | |
color will be used for that face ] | |
ENDFACES | |
DECORATIONS [ "DECORATIONS" signals start of decorative edges ] | |
[ this section is optional ] | |
[ the faces f1...fn are evaluated according to | |
logic_mode; if it evaluates to TRUE, the decoration | |
will be drawn ] | |
[ p1...pn are the points to join. Note that, unlike | |
faces, pn and p1 are not joined automatically ] | |
[ color is the line color to use. If color = -1 then | |
the decoration will be drawn in the same color as | |
the rest of the shape ] | |
'{' f1...fn '}' logic_mode color p1...pn | |
'{' f1...fn '}' logic_mode color p1...pn | |
. | |
. | |
'{' f1...fn '}' logic_mode color p1...pn | |
ENDDECORATIONS | |
END [ end of file... everything after this is ignored ] | |
Other stuff: | |
----------- | |
The default colors are: | |
0 black | |
1 dark gray | |
2 brown | |
3 dark purple | |
4 medium blue | |
5 dark green | |
6 orange | |
7 deep red | |
8 pink (beige) | |
9 yellow | |
10 light green | |
11 light blue | |
12 purple (lilac) | |
13 periwinkle (light bluish-purple) | |
14 light gray | |
15 white |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment