CSG Solids (IFMECSGSolid)

A constructive solid geometry (CSG) solid is a solid volume in 3D space. These solids are defined by the resultant volume constructed by a tree of operand solids (of any type), and a Boolean operator. The supported Boolean operators include union, intersection, and difference.

The following diagram shows a solid defined by the Boolean difference of a cube with a sphere.

Boolean_difference.png (c) 2006 Captain Sprite, CC BY-SA 3.0

A CSG solid supports multiple operations, such that a solid can be constructed from a tree of operators and operands. An example of such a tree is shown in the following diagram.

Csg_tree.png (c) 2005 Zottie, CC BY-SA 3.0

Optionally, CSGSolids may possess a transformation matrix. CSGSolids may also have front or back appearances, and may be single or double sided.