1. A non-transitory computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to perform a method, the method comprising: accessing a first geometry object that stores data associated with a first solid, where the solid represented by the first geometry object is a composite solid; accessing a second geometry object that stores data associated with a second solid; decomposing the composite solid into a set of simple solids and determining the intersection between the set of simple solids and the solid associated with the second geometry object; accessing a spatial index that stores data concerning minimum bounding volumes (MBVs) associated with the first geometry object and the second geometry object, where a minimum bounding volume encloses a three dimensional volume; identifying in the spatial index a first minimum bounding volume (MBV) associated with the first solid; identifying in the spatial index a second MBV associated with the second solid; providing a no intersection signal that indicates that the first solid and the second solid do not intersect upon determining that the first MBV and the second MBV do not intersect; and upon determining that the first MBV and the second MBV intersect: extracting a set of candidate pairs of intersecting surfaces associated with the first geometry object and the second geometry object; providing the set of candidate pairs of intersecting surfaces to a surface-surface logic, where the candidate pairs of intersecting surfaces are decomposed into lines; establishing a value for a solid-solid intersection signal that indicates whether the first solid and the second solid intersect, where the value is based, at least in part, on surface-surface intersections, surface-line intersections, and line-line intersections, and where intersections are formed by the candidate pairs of intersecting surfaces; and providing the solid-solid intersection signal.