SurfaceType

Identifies the underlying representation format of a surface

The SurfaceType enum specifies how surface geometry is stored in memory. These formats do not determine accuracy or robustness. Solidean always operates in exact arithmetic internally, as defined by the chosen ExactArithmetic. Floating-point based formats such as TrianglesF32 and IndexedTrianglesF32 are simply storage layouts; their data is immediately interpreted exactly. Any missing topology at this level is automatically reconstructed when using the appropriate Operation::ExportXyz methods.

Signature

// Identifies the underlying representation format of a surface
enum SurfaceType:
    TrianglesF32 = 1010000
    IndexedTrianglesF32 = 1110000
    MeshletH256 = 4000004
    PlanePolygonsH256 = 5000004

TrianglesF32

A flat array of float32 triangles used for simple storage and interchange. Although vertices are given as floats, they are converted into the exact integer space on import, so robustness is unaffected. Topology such as shared vertices is not preserved in this layout, but can be restored when exporting.

IndexedTrianglesF32

A vertex buffer plus index list representation in float32. More compact than a raw triangle soup and capable of sharing vertices across triangles. Like TrianglesF32, this is treated exactly once imported, and any missing topological information will be reconstructed by Solidean's exporters.

MeshletH256

Stores surfaces in small clusters ("meshlets") internally, each using 256-bit arithmetic for robust processing. This format is optimized for internal execution of Boolean operations, balancing exactness with performance.

PlanePolygonsH256

Represents surfaces as exact polygons clipped from planes, rather than tessellated triangles. This compact representation preserves high-level geometric structure and avoids unnecessary triangulation, while maintaining 256-bit exactness.