LEDAS Geometry Comparison
BackgroundThe LEDAS team has many man-years of experience in the research and development of Boolean operations through its work on the Russian Geometric Kernel (RGK) project. They know in detail the drawbacks and bottlenecks to the Boolean approach. In particular, Boolean operations are not that reliable in complicated cases due to the construction of the so-called Intersection Graph. (It defines how parts of the original body are merged to produce the resulting body with only valid topology – no self-intersections, unbounded faces, hanging edges, and so on.)
LEDAS determined that it was not essential to compute an Intersection Graph, and they found how to compute which parts of one model lay within a tolerance of the other model (and which do not) without Intersection Graph.
Experts in 3D geometry know that there are two levels of geometry representation: topology (made of faces, edges, vertices), and underlying geometry (surfaces and curves that define the form of faces and edges). It is relatively easy to map topology of one 3D model to the topology of another model: each entity gets its counterpart, and if mapping for some entities does not exist, then the difference is found at the topological level. It is more complicated to find difference (or to check that there are no differences) when taking into account actual underlying geometry and specified tolerances. The solution developed by LEDAS makes it possible to detect differences at both the topological and geometric levels.
This level of information is useful to both the user and the software that processes the output through APIs.