# Intersection 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 static class Intersection
```

Provides static methods for the computation of intersections, projections, sections and similar.

## Properties

- [MeshIntersectionsTolerancesCoefficient](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshintersectionstolerancescoefficient.md): (static) Offers a requested adjustment coefficient for mesh-mesh intersections tolerances. The value can be used to multiply the document absolute tolerance. This is only a UI value; it is up to developer to honor (or not) this request, depending on application needs.

## Methods

- [ArcArc](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/arcarc.md): (static) Intersects two arcs using exact calculations.
- [BrepBrep](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/brepbrep.md): (2 overloads, static) Intersects two Breps.
- [BrepPlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/brepplane.md): (2 overloads, static) Intersects a Brep with an (infinite) plane.
- [BrepSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/brepsurface.md): (2 overloads, static) Intersects a Brep and a Surface.
- [CircleCircle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/circlecircle.md): (static) Intersects two circles using exact calculations.
- [CurveBrep](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/curvebrep.md): (3 overloads, static) Intersect a curve with a Brep. This function returns the intersection parameters on the curve.
- [CurveBrepFace](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/curvebrepface.md): (static) Intersects a curve with a Brep face.
- [CurveCurve](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/curvecurve.md): (static) Finds the intersections between two curves.
- [CurveCurveValidate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/curvecurvevalidate.md): (static) Finds the intersections between two curves.
- [CurveLine](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/curveline.md): (static) Intersects a curve and an infinite line.
- [CurvePlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/curveplane.md): (static) Intersects a curve with an (infinite) plane.
- [CurveSelf](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/curveself.md): (static) Finds the places where a curve intersects itself.
- [CurveSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/curvesurface.md): (2 overloads, static) Intersects a sub-curve and a surface.
- [CurveSurfaceValidate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/curvesurfacevalidate.md): (2 overloads, static) Intersects a sub-curve and a surface.
- [GeometryPlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/geometryplane.md): (2 overloads, static) Intersects geometry with an (infinite) plane.
- [LineBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/linebox.md): (2 overloads, static) Intersects an infinite line and an axis aligned bounding box.
- [LineCircle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/linecircle.md): (static) Intersects a line with a circle using exact calculations.
- [LineCylinder](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/linecylinder.md): (static) Intersects a line with a cylinder using exact calculations.
- [LineLine](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/lineline.md): (2 overloads, static) Intersects two lines.
- [LinePlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/lineplane.md): (static) Intersects a line and a plane. This function only returns true if the intersection result is a single point (i.e. if the line is coincident with the plane then no intersection is assumed).
- [LineSphere](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/linesphere.md): (static) Intersects a line with a sphere using exact calculations.
- [MeshLine](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshline.md): (2 overloads, static) Finds the intersections of a mesh and a line. The points are not necessarily sorted.
- [MeshLineSorted](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshlinesorted.md): (static) Finds the intersections of a mesh and a line. Points are sorted along the line.
- [MeshMesh](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshmesh.md): (static) Intersects meshes. Overlaps and perforations are provided in the output list. Tolerance can be specified. We suggest to use the document tolerance multiplied by [Intersection.MeshIntersectionsTolerancesCoefficient](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshintersectionstolerancescoefficient.md).
- [MeshMeshAccurate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshmeshaccurate.md): (static) Intersects two meshes. Overlaps and near misses are handled. This is an old method kept for compatibility. Tolerance can be specified. We suggest to use the document tolerance multiplied by [Intersection.MeshIntersectionsTolerancesCoefficient](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshintersectionstolerancescoefficient.md).
- [MeshMeshFast](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshmeshfast.md): (static) Fast intersection of two meshes, returned as loose line segments rather than assembled polylines. Vertices are read in double precision when the mesh has them. Faces that cross or touch within tolerance produce segments; coplanar overlaps are ignored. Use [Intersection.MeshMesh(IEnumerable<Mesh>, double, Polyline[], bool, Polyline[], bool, Mesh, TextLog, CancellationToken, IProgress<double>)](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshmesh.md) when overlaps or joined curves are needed, and [Intersection.MeshMeshPredicate(IEnumerable<Mesh>, IEnumerable<Mesh>, double, bool, TextLog, CancellationToken)](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshmeshpredicate.md) when only the yes/no answer is needed.
- [MeshMeshPredicate](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshmeshpredicate.md): (3 overloads, static) Determines which meshes intersect. No geometry is computed: each pair of meshes is tested only until its first crossing is found, with the fast intersector behind [Intersection.MeshMeshFast(Mesh, Mesh)](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshmeshfast.md). Faces that cross or touch within tolerance count; coplanar overlap without a crossing does not. The same as [Intersection.MeshMeshPredicate(IEnumerable<Mesh>, IEnumerable<Mesh>, double, bool, IntersectingMeshPair[], TextLog, CancellationToken)](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshmeshpredicate.md) with fast = true.
- [MeshMeshTwoSets](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshmeshtwosets.md): (static) Intersects two sets of meshes with each other. Overlaps and perforations are provided in the output list. Only events between a mesh of the first set and a mesh of the second set are computed. Intersections among meshes of the same set, and self-intersections within a single mesh, are ignored. Tolerance can be specified. We suggest to use the document tolerance multiplied by [Intersection.MeshIntersectionsTolerancesCoefficient](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshintersectionstolerancescoefficient.md).
- [MeshPlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshplane.md): (6 overloads, static) Intersects a mesh with a collection of infinite planes. [RhinoMath.ZeroTolerance](https://developer.rhino3d.com/api/rhinocommon/type/rhino.rhinomath/zerotolerance.md) is used as fixed tolerance. We suggest to use the document tolerance multiplied by [Intersection.MeshIntersectionsTolerancesCoefficient](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshintersectionstolerancescoefficient.md) instaed.
- [MeshPolyline](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshpolyline.md): (static) Finds the intersection of a mesh and a polyline. Starting from version 7, points are always sorted along the polyline.
- [MeshPolylineSorted](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshpolylinesorted.md): (static) Finds the intersection of a mesh and a polyline. Points are guaranteed to be sorted along the polyline.
- [MeshRay](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshray.md): (2 overloads, static) Finds the first intersection of a ray with a mesh.
- [MeshRays](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/meshrays.md): (2 overloads, static) Finds the first intersection of each one of a set of rays with a mesh.
- [PlaneBoundingBox](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/planeboundingbox.md): (static) Intersects a plane and a bounding box.
- [PlaneCircle](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/planecircle.md): (static) Intersects a plane with a circle using exact calculations.
- [PlanePlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/planeplane.md): (static) Intersects two planes and return the intersection line. If the planes are parallel or coincident, no intersection is assumed.
- [PlanePlanePlane](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/planeplaneplane.md): (static) Intersects three planes to find the single point they all share.
- [PlaneSphere](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/planesphere.md): (static) Intersects a plane with a sphere using exact calculations.
- [ProjectPointsToBreps](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/projectpointstobreps.md): (static) Projects points onto breps.
- [ProjectPointsToBrepsEx](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/projectpointstobrepsex.md): (static) Projects points onto breps.
- [ProjectPointsToMeshes](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/projectpointstomeshes.md): (static) Projects points onto meshes.
- [ProjectPointsToMeshesEx](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/projectpointstomeshesex.md): (static) Projects points onto meshes.
- [RayShoot](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/rayshoot.md): (3 overloads, static) Computes point intersections that occur when shooting a ray to a collection of surfaces and Breps.
- [SphereSphere](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/spheresphere.md): (static) Intersects two spheres using exact calculations.
- [SurfaceSurface](https://developer.rhino3d.com/api/rhinocommon/type/rhino.geometry.intersect.intersection/surfacesurface.md): (static) Intersects two Surfaces.
