Intersection algorithms for spline and NURBS curves and surfaces have been a central research topic since 1980. The first challenges addressed were related to the intersection of B-spline curves, and the intersection of B-spline curves and elementary curves. Then in 1984 we got the first results on recursive intersection algorithms for B-spline surface, with a gradual deployment in industry. The development of SISL in 1989 allowed us to implement a second generation of surface intersection algorithms still keeping a focus on transversal intersections. With the discovery of approximate implicitization we at last had a tool for addressing singular intersections, and for addressing surface self-intersections. As approximate implicitization is computational intensive the deployment in industry is currently limited. However, the new massive parallel computational resource of many core processors satisfies the computational requirements of approximate implicitization and opens up new approaches for the architecture of intersection algorithms.
The shells of the object designed are described by composition of surfaces. Sometimes it is possible to define the objects by rectangular surfaces (NURBS) where the surfaces just share common boundaries and there is no need for trimming away parts of a surface. However, often the surfaces will be too large to be able to represent a desired shape and to design it with the constructive tools of the CAD-system. The curve where the surfaces meet will be an edge in the CAD-model to be found by intersecting the surfaces. For representing the relationships between surfaces, curves and surfaces in CAD-models, boundary structures are used.