# PlaneIntersectionCache class

Namespace: [Rhino.Geometry.Intersect](https://developer.rhino3d.com/api/rhinocommon/namespace/rhino.geometry.intersect.md) · Assembly: [RhinoCommon](https://developer.rhino3d.com/api/rhinocommon/assembly/rhinocommon.md)

```cs
public sealed class PlaneIntersectionCache : IDisposable
```

Data that [Intersection.GeometryPlane(GeometryBase, Plane, double, bool, bool, bool, RhinoDoc, Transform, PlaneIntersectionCache, CancellationToken, Curve[], Point3d[])](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/geometryplane.md) computes from the geometry alone, kept between calls: the mesh intersection data of a mesh, and the Brep a SubD, Extrusion, Surface or BrepFace converts to. Reuse one cache for many planes through the same geometry, such as a contour stack.

**Remarks:** Entries are keyed by the native geometry. The cache keeps each geometry it is used with alive until [PlaneIntersectionCache.Clear()](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.planeintersectioncache/clear.md) or [PlaneIntersectionCache.Dispose()](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.planeintersectioncache/dispose.md), so a new object cannot take over the entry of a collected one. Call [PlaneIntersectionCache.Clear()](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.planeintersectioncache/clear.md) when a geometry used with the cache, or an instance definition it references, is changed in place; not while the cache is in use. One cache can be used from several threads at the same time.

## Constructors

- [PlaneIntersectionCache](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.planeintersectioncache/ctor.md): Creates an empty cache.

## Finalizer

- [~PlaneIntersectionCache](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.planeintersectioncache/finalize.md): Releases the native cache.

## Methods

- [Clear](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.planeintersectioncache/clear.md): Removes all entries, and releases the geometry the cache kept alive.
- [Dispose](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.planeintersectioncache/dispose.md): Releases the native cache.
