Support of Constructive Solid Geometry in the SolidKit Library
From Solid Graphics Wiki
|Be sure you understand the SolidKit Library limitations regarding it's Costructive Solid Geometry features before you buy the library. You are strongly encouraged to use the SolidKit Library Demo to try out the CSG features before your purchase.|
- The SolidKit Library supports boolean operations on triangle meshes (triangulated polyhedrons). In order for the operation to be successful - the meshes must represent closed surfaces of a solid 3D objects (for example cubes or spheres). The surfaces must be closed without holes which would allow to "see inside the object". From mesh topology perspective - each mesh edge must be part of exactly two mesh's triangles where triangles orientation along the edge are running in oposite direction of each other. Vertices of each mesh triangle must be oriented in counterclockwise order when viewed from outside of object's volume. All input shapes for CSG operations must be non self intersecting and must use right-hand coordinate system (or must be converted from left-hand to right-hand coordinate system before a CSG Operation is performed).
- CSG operations on triangle meshes where at least one of the mesh's edges is part of more than two triangles are not supported. Rusult of CSG operation using such triangle mesh is undefined.
- due to limited precision of computer's common floating point types - it is not guaranteed that the SolidKit library will be able to calculate a CSG operation on two otherwise correctly-defined triangle meshes. This limitation should affect less than 1% of CSG operations on average sized (~500 triangles) meshes. Please try out the SolidKit Library Demo to evaluate whether this limitation is acceptable for needs of your applications before you decide to buy the library.