Intersectors


Intersection Algorithms

ACIS represents cones, cylinders, planes, spheres, and tori explicitly, and sculptured faces implicitly as nonuniform rational B-splines (NURBS). Curve algorithms allow for curve/curve intersections (CCI), curve/surface intersections (CSI), surface/surface intersections (SSI), and curve/curve intersections on a surface (CCS). These algorithms are known as intersectors.

Curve/Curve Intersection

The curve/curve intersection algorithm is implemented to find points or intervals where two curves meet or approach one another within a specified tolerance.

Curve/Surface Intersection

The curve/surface intersection algorithm can:

Surface/Surface Intersection

The surface/surface intersection algorithm can:

Curve/Curve Intersection on Surface

The curve/curve intersection on a surface (CCS) algorithm was introduced to improve the performance of many curve/curve intersections. In many cases, when two curves are intersected in ACIS, it is known that both of the curves lie on the same surface. However, the CCI algorithm that is generally used to intersect these curves does not use this information. The CCS algorithm receives a surface and two pcurves, as well as the two curves to be intersected. If this additional information is accurate (that is, each pcurve is an accurate representation of the curve in the surface's parameter space) and used, this can possibly improve the efficiency of the intersection algorithm.

Intersectors Implementation

Intersectors are implemented in low-level C++ classes that are not intended to be accessed directly by applications. They can be thought of as virtual methods of Booleans. When the Boolean operations are used properly, they invoke the correct intersector methods.

Note:  Reference material is provided on the intersector classes because they are visible in the header files. Unpredictable results can occur when these intersector classes are used directly by applications.


Related topics:

ACIS Checker

[Top]