@@ -120,6 +120,31 @@ struct MeshGL {
120
120
* @brief The central classes of the library
121
121
* @{
122
122
*/
123
+
124
+ /* *
125
+ * This library's internal representation of an oriented, 2-manifold, triangle
126
+ * mesh - a simple boundary-representation of a solid object. Use this class to
127
+ * store and operate on solids, and use MeshGL for input and output, or
128
+ * potentially Mesh if only basic geometry is required.
129
+ *
130
+ * In addition to storing geometric data, a Manifold can also store an arbitrary
131
+ * number of vertex properties. These could be anything, e.g. UV coordinates,
132
+ * colors, bone weights, etc, but this library is completely agnostic. All
133
+ * properties are merely float values indexed by channel number. It is up to the
134
+ * user to associate channel numbers with meaning.
135
+ *
136
+ * Manifold allows vertex properties to be shared for efficient storage, or to
137
+ * have multiple property verts associated with a single geometric vertex,
138
+ * allowing sudden property changes, e.g. at Boolean intersections, without
139
+ * sacrificing manifoldness.
140
+ *
141
+ * Manifolds also keep track of their relationships to their inputs, via
142
+ * OriginalIDs and the faceIDs and transforms accessible through MeshGL. This
143
+ * allows object-level properties to be re-associated with the output after many
144
+ * operations, particularly useful for materials. Since separate object's
145
+ * properties are not mixed, there is no requirement that channels have
146
+ * consistent meaning between different inputs.
147
+ */
123
148
class Manifold {
124
149
public:
125
150
/* * @name Creation
0 commit comments