diff options
-rw-r--r-- | doc/gen/Languages.txt | 118 | ||||
-rw-r--r-- | doc/gen/Topics.txt | 90 | ||||
-rw-r--r-- | include/common/geom.h | 12 | ||||
-rw-r--r-- | include/common/matrix.h | 6 | ||||
-rw-r--r-- | makefile | 16 |
5 files changed, 231 insertions, 11 deletions
diff --git a/doc/gen/Languages.txt b/doc/gen/Languages.txt new file mode 100644 index 0000000..9d0df2d --- /dev/null +++ b/doc/gen/Languages.txt | |||
@@ -0,0 +1,118 @@ | |||
1 | Format: 1.51 | ||
2 | |||
3 | # This is the Natural Docs languages file for this project. If you change | ||
4 | # anything here, it will apply to THIS PROJECT ONLY. If you'd like to change | ||
5 | # something for all your projects, edit the Languages.txt in Natural Docs' | ||
6 | # Config directory instead. | ||
7 | |||
8 | |||
9 | # You can prevent certain file extensions from being scanned like this: | ||
10 | # Ignore Extensions: [extension] [extension] ... | ||
11 | |||
12 | |||
13 | #------------------------------------------------------------------------------- | ||
14 | # SYNTAX: | ||
15 | # | ||
16 | # Unlike other Natural Docs configuration files, in this file all comments | ||
17 | # MUST be alone on a line. Some languages deal with the # character, so you | ||
18 | # cannot put comments on the same line as content. | ||
19 | # | ||
20 | # Also, all lists are separated with spaces, not commas, again because some | ||
21 | # languages may need to use them. | ||
22 | # | ||
23 | # Language: [name] | ||
24 | # Alter Language: [name] | ||
25 | # Defines a new language or alters an existing one. Its name can use any | ||
26 | # characters. If any of the properties below have an add/replace form, you | ||
27 | # must use that when using Alter Language. | ||
28 | # | ||
29 | # The language Shebang Script is special. It's entry is only used for | ||
30 | # extensions, and files with those extensions have their shebang (#!) lines | ||
31 | # read to determine the real language of the file. Extensionless files are | ||
32 | # always treated this way. | ||
33 | # | ||
34 | # The language Text File is also special. It's treated as one big comment | ||
35 | # so you can put Natural Docs content in them without special symbols. Also, | ||
36 | # if you don't specify a package separator, ignored prefixes, or enum value | ||
37 | # behavior, it will copy those settings from the language that is used most | ||
38 | # in the source tree. | ||
39 | # | ||
40 | # Extensions: [extension] [extension] ... | ||
41 | # [Add/Replace] Extensions: [extension] [extension] ... | ||
42 | # Defines the file extensions of the language's source files. You can | ||
43 | # redefine extensions found in the main languages file. You can use * to | ||
44 | # mean any undefined extension. | ||
45 | # | ||
46 | # Shebang Strings: [string] [string] ... | ||
47 | # [Add/Replace] Shebang Strings: [string] [string] ... | ||
48 | # Defines a list of strings that can appear in the shebang (#!) line to | ||
49 | # designate that it's part of the language. You can redefine strings found | ||
50 | # in the main languages file. | ||
51 | # | ||
52 | # Ignore Prefixes in Index: [prefix] [prefix] ... | ||
53 | # [Add/Replace] Ignored Prefixes in Index: [prefix] [prefix] ... | ||
54 | # | ||
55 | # Ignore [Topic Type] Prefixes in Index: [prefix] [prefix] ... | ||
56 | # [Add/Replace] Ignored [Topic Type] Prefixes in Index: [prefix] [prefix] ... | ||
57 | # Specifies prefixes that should be ignored when sorting symbols in an | ||
58 | # index. Can be specified in general or for a specific topic type. | ||
59 | # | ||
60 | #------------------------------------------------------------------------------ | ||
61 | # For basic language support only: | ||
62 | # | ||
63 | # Line Comments: [symbol] [symbol] ... | ||
64 | # Defines a space-separated list of symbols that are used for line comments, | ||
65 | # if any. | ||
66 | # | ||
67 | # Block Comments: [opening sym] [closing sym] [opening sym] [closing sym] ... | ||
68 | # Defines a space-separated list of symbol pairs that are used for block | ||
69 | # comments, if any. | ||
70 | # | ||
71 | # Package Separator: [symbol] | ||
72 | # Defines the default package separator symbol. The default is a dot. | ||
73 | # | ||
74 | # [Topic Type] Prototype Enders: [symbol] [symbol] ... | ||
75 | # When defined, Natural Docs will attempt to get a prototype from the code | ||
76 | # immediately following the topic type. It stops when it reaches one of | ||
77 | # these symbols. Use \n for line breaks. | ||
78 | # | ||
79 | # Line Extender: [symbol] | ||
80 | # Defines the symbol that allows a prototype to span multiple lines if | ||
81 | # normally a line break would end it. | ||
82 | # | ||
83 | # Enum Values: [global|under type|under parent] | ||
84 | # Defines how enum values are referenced. The default is global. | ||
85 | # global - Values are always global, referenced as 'value'. | ||
86 | # under type - Values are under the enum type, referenced as | ||
87 | # 'package.enum.value'. | ||
88 | # under parent - Values are under the enum's parent, referenced as | ||
89 | # 'package.value'. | ||
90 | # | ||
91 | # Perl Package: [perl package] | ||
92 | # Specifies the Perl package used to fine-tune the language behavior in ways | ||
93 | # too complex to do in this file. | ||
94 | # | ||
95 | #------------------------------------------------------------------------------ | ||
96 | # For full language support only: | ||
97 | # | ||
98 | # Full Language Support: [perl package] | ||
99 | # Specifies the Perl package that has the parsing routines necessary for full | ||
100 | # language support. | ||
101 | # | ||
102 | #------------------------------------------------------------------------------- | ||
103 | |||
104 | # The following languages are defined in the main file, if you'd like to alter | ||
105 | # them: | ||
106 | # | ||
107 | # Text File, Shebang Script, C/C++, C#, Java, JavaScript, Perl, Python, | ||
108 | # PHP, SQL, Visual Basic, Pascal, Assembly, Ada, Tcl, Ruby, Makefile, | ||
109 | # ActionScript, ColdFusion, R, Fortran | ||
110 | |||
111 | # If you add a language that you think would be useful to other developers | ||
112 | # and should be included in Natural Docs by default, please e-mail it to | ||
113 | # languages [at] naturaldocs [dot] org. | ||
114 | |||
115 | |||
116 | Alter Language: C/C++ | ||
117 | |||
118 | Struct Prototype Ender: ; | ||
diff --git a/doc/gen/Topics.txt b/doc/gen/Topics.txt new file mode 100644 index 0000000..c825869 --- /dev/null +++ b/doc/gen/Topics.txt | |||
@@ -0,0 +1,90 @@ | |||
1 | Format: 1.51 | ||
2 | |||
3 | # This is the Natural Docs topics file for this project. If you change anything | ||
4 | # here, it will apply to THIS PROJECT ONLY. If you'd like to change something | ||
5 | # for all your projects, edit the Topics.txt in Natural Docs' Config directory | ||
6 | # instead. | ||
7 | |||
8 | |||
9 | # If you'd like to prevent keywords from being recognized by Natural Docs, you | ||
10 | # can do it like this: | ||
11 | # Ignore Keywords: [keyword], [keyword], ... | ||
12 | # | ||
13 | # Or you can use the list syntax like how they are defined: | ||
14 | # Ignore Keywords: | ||
15 | # [keyword] | ||
16 | # [keyword], [plural keyword] | ||
17 | # ... | ||
18 | |||
19 | |||
20 | #------------------------------------------------------------------------------- | ||
21 | # SYNTAX: | ||
22 | # | ||
23 | # Topic Type: [name] | ||
24 | # Alter Topic Type: [name] | ||
25 | # Creates a new topic type or alters one from the main file. Each type gets | ||
26 | # its own index and behavior settings. Its name can have letters, numbers, | ||
27 | # spaces, and these charaters: - / . ' | ||
28 | # | ||
29 | # Plural: [name] | ||
30 | # Sets the plural name of the topic type, if different. | ||
31 | # | ||
32 | # Keywords: | ||
33 | # [keyword] | ||
34 | # [keyword], [plural keyword] | ||
35 | # ... | ||
36 | # Defines or adds to the list of keywords for the topic type. They may only | ||
37 | # contain letters, numbers, and spaces and are not case sensitive. Plural | ||
38 | # keywords are used for list topics. You can redefine keywords found in the | ||
39 | # main topics file. | ||
40 | # | ||
41 | # Index: [yes|no] | ||
42 | # Whether the topics get their own index. Defaults to yes. Everything is | ||
43 | # included in the general index regardless of this setting. | ||
44 | # | ||
45 | # Scope: [normal|start|end|always global] | ||
46 | # How the topics affects scope. Defaults to normal. | ||
47 | # normal - Topics stay within the current scope. | ||
48 | # start - Topics start a new scope for all the topics beneath it, | ||
49 | # like class topics. | ||
50 | # end - Topics reset the scope back to global for all the topics | ||
51 | # beneath it. | ||
52 | # always global - Topics are defined as global, but do not change the scope | ||
53 | # for any other topics. | ||
54 | # | ||
55 | # Class Hierarchy: [yes|no] | ||
56 | # Whether the topics are part of the class hierarchy. Defaults to no. | ||
57 | # | ||
58 | # Page Title If First: [yes|no] | ||
59 | # Whether the topic's title becomes the page title if it's the first one in | ||
60 | # a file. Defaults to no. | ||
61 | # | ||
62 | # Break Lists: [yes|no] | ||
63 | # Whether list topics should be broken into individual topics in the output. | ||
64 | # Defaults to no. | ||
65 | # | ||
66 | # Can Group With: [type], [type], ... | ||
67 | # Defines a list of topic types that this one can possibly be grouped with. | ||
68 | # Defaults to none. | ||
69 | #------------------------------------------------------------------------------- | ||
70 | |||
71 | # The following topics are defined in the main file, if you'd like to alter | ||
72 | # their behavior or add keywords: | ||
73 | # | ||
74 | # Generic, Class, Interface, Section, File, Group, Function, Variable, | ||
75 | # Property, Type, Constant, Enumeration, Event, Delegate, Macro, | ||
76 | # Database, Database Table, Database View, Database Index, Database | ||
77 | # Cursor, Database Trigger, Cookie, Build Target | ||
78 | |||
79 | # If you add something that you think would be useful to other developers | ||
80 | # and should be included in Natural Docs by default, please e-mail it to | ||
81 | # topics [at] naturaldocs [dot] org. | ||
82 | |||
83 | |||
84 | Topic Type: Struct | ||
85 | |||
86 | Plural: Structs | ||
87 | Class Hierarchy: Yes | ||
88 | |||
89 | Keywords: | ||
90 | struct | ||
diff --git a/include/common/geom.h b/include/common/geom.h index 4445998..a843c76 100644 --- a/include/common/geom.h +++ b/include/common/geom.h | |||
@@ -15,16 +15,24 @@ | |||
15 | typedef int32_t IntVector; | 15 | typedef int32_t IntVector; |
16 | 16 | ||
17 | /** | 17 | /** |
18 | * Type: CartesianVector | 18 | * Struct: CartesianVector |
19 | * An abstract 2-D vector in cartesian coordinates. | 19 | * An abstract 2-D vector in cartesian coordinates. |
20 | * | ||
21 | * Fields: | ||
22 | * x - the horizontal component | ||
23 | * y - the vertical component | ||
20 | */ | 24 | */ |
21 | typedef struct { | 25 | typedef struct { |
22 | IntVector x, y; | 26 | IntVector x, y; |
23 | } CartesianVector; | 27 | } CartesianVector; |
24 | 28 | ||
25 | /** | 29 | /** |
26 | * Type: CartesianMapping | 30 | * Struct: CartesianMapping |
27 | * A tuple of cartesian vectors representing a mapping. | 31 | * A tuple of cartesian vectors representing a mapping. |
32 | * | ||
33 | * Fields: | ||
34 | * origin - preimage vector | ||
35 | * target - image vector | ||
28 | */ | 36 | */ |
29 | typedef struct { | 37 | typedef struct { |