Support of Constructive Solid Geometry in the SolidKit Library

From Solid Graphics Wiki

(Difference between revisions)
Jump to: navigation, search
m
m
Line 1: Line 1:
This article discuss [http://en.wikipedia.org/wiki/Constructive_solid_geometry Constructive solid geometry] (CSG) support for triangle meshes in the [[SolidKit Library]].
This article discuss [http://en.wikipedia.org/wiki/Constructive_solid_geometry Constructive solid geometry] (CSG) support for triangle meshes in the [[SolidKit Library]].
-
{{warning | Be sure you understand the library limitations regarding it's Costructive Solid Geometry features <u>before you buy</u> the library. You are strongly encouraged to use the [[SolidKit Library Demo]] to try out the CSG features before your purchase. }}
+
{{warning | Be sure you understand the SolidKit Library limitations regarding it's Costructive Solid Geometry features <u>before you buy</u> 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 mesh]]es. In order for the operation to be successfull - the mesh must represent surface of a solid 3D object with 3D volume (for example cube or sphere). The surface must be without holes. This however does not mean that the solid 3D object it represents must be without holes - only the mesh's surface representing the object must be 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.
*The ''SolidKIt Library'' supports boolean operations on [[triangle mesh]]es. In order for the operation to be successfull - the mesh must represent surface of a solid 3D object with 3D volume (for example cube or sphere). The surface must be without holes. This however does not mean that the solid 3D object it represents must be without holes - only the mesh's surface representing the object must be 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.

Revision as of 09:03, 7 May 2008

This article discuss Constructive solid geometry (CSG) support for triangle meshes in the SolidKit Library.

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. In order for the operation to be successfull - the mesh must represent surface of a solid 3D object with 3D volume (for example cube or sphere). The surface must be without holes. This however does not mean that the solid 3D object it represents must be without holes - only the mesh's surface representing the object must be 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.
  • 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 arithmetic - 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 for evaluation whether this limitation is acceptable for needs of your applications before you decide to buy the library.

See Also







Personal tools