Intersects two arcs using exact calculations.
Returns: The intersection type.
Intersects two Breps.
Returns: true if the operation was success, false otherwise. Check the output arrays to determine how the input intersects.
Intersects two Breps.
Returns: true if the operation was success, false otherwise. Check the output arrays to determine how the input intersects.
Intersects a Brep with an (infinite) plane.
Returns: true on success, false on failure.
Intersects a Brep with an (infinite) plane.
Returns: true on success, false on failure.
Intersects a Brep and a Surface.
Returns: true if the operation was success, false otherwise. Check the output arrays to determine how the input intersects.
Intersects a Brep and a Surface.
Returns: true if the operation was success, false otherwise. Check the output arrays to determine how the input intersects.
Intersects two circles using exact calculations.
Returns: The intersection type.
Intersect a curve with a Brep. This function returns the intersection parameters on the curve.
Returns: True on success, false on failure.
Intersects a curve with a Brep. This function returns the 3D points of intersection, curve parameters at the intersection locations, and 3D overlap curves. If an error occurs while processing overlap curves, this function will return false, but it will still provide partial results.
Returns: true on success, false on failure.
Intersects a curve with a Brep. This function returns the 3D points of intersection and 3D overlap curves. If an error occurs while processing overlap curves, this function will return false, but it will still provide partial results.
Returns: true on success, false on failure.
Intersects a curve with a Brep face.
Returns: true on success, false on failure.
Finds the intersections between two curves.
Returns: A collection of intersection events.
Finds the intersections between two curves.
Returns: A collection of intersection events.
Intersects a curve and an infinite line.
Returns: A collection of intersection events.
Intersects a curve with an (infinite) plane.
Returns: A list of intersection events or null if no intersections were recorded.
Finds the places where a curve intersects itself.
Returns: A collection of intersection events.
Intersects a sub-curve and a surface.
Returns: A collection of intersection events.
Intersects a curve and a surface.
Returns: A collection of intersection events.
Intersects a sub-curve and a surface.
Returns: A collection of intersection events.
Intersects a curve and a surface.
Returns: A collection of intersection events.
Intersects geometry with an (infinite) plane.
Returns: true if the intersection was computed, including when the plane misses the geometry. For an InstanceReferenceGeometry, true if it was computed for any object in the instance definition. false if the plane is not valid, tolerance is negative or not a number, the geometry type is not supported or the intersection failed. Curves and points found before a failure are still returned.
Intersects an infinite line and an axis aligned bounding box.
Returns: true if the line intersects the box, false if no intersection occurs.
Intersects an infinite line with a box volume.
Returns: true if the line intersects the box, false if no intersection occurs.
Intersects a line with a circle using exact calculations.
Intersects a line with a cylinder using exact calculations.
Returns: If None is returned, the first point is the point on the line closest to the cylinder and the second point is the point on the cylinder closest to the line.
If LineCylinderIntersection.Single is returned, the first point is the point on the line and the second point is the same point on the cylinder.
Intersects two lines.
Returns: true if a closest point can be calculated and the result passes the tolerance parameter test; otherwise false.
Find the unique closest-points pair between two infinite lines, if it exists.
Returns: true if points are found and false if the lines are numerically parallel. Numerically parallel means the 2x2 matrix:
+AoA -AoB
-AoB +BoB
is numerically singular, where A = (lineA.To - lineA.From) and B = (lineB.To-lineB.From).
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).
Returns: true on success, false on failure.
Intersects a line with a sphere using exact calculations.
Returns: If
LineSphereIntersection.None is returned, the first point is the point on the line closest to the sphere and the second point is the point on the sphere closest to the line. If
LineSphereIntersection.Single is returned, the first point is the point on the line and the second point is the same point on the sphere.
Finds the intersections of a mesh and a line. The points are not necessarily sorted.
Returns: An array of points: one for each face that was passed by the faceIds out reference. Empty if no items are found.
Finds the intersections of a mesh and a line.
Returns: An array of points: one for each face that was passed by the faceIds out reference. Empty if no items are found.
Finds the intersections of a mesh and a line. Points are sorted along the line.
Returns: An array of points: one for each face that was passed by the faceIds out reference. Empty if no items are found.
Intersects meshes. Overlaps and perforations are provided in the output list.
Tolerance can be specified.
We suggest to use the document tolerance multiplied by MeshIntersectionsTolerancesCoefficient.
Returns: True, if the operation succeeded, otherwise false.
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 MeshIntersectionsTolerancesCoefficient.
Returns: An array of intersection and overlaps polylines.
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 MeshMesh(IEnumerable<Mesh>, double, Polyline[], bool, Polyline[], bool, Mesh, TextLog, CancellationToken, IProgress<double>) when overlaps or joined curves are needed, and MeshMeshPredicate(IEnumerable<Mesh>, IEnumerable<Mesh>, double, bool, TextLog, CancellationToken) when only the yes/no answer is needed.
Returns: An array of intersection line segments, empty if no intersections were found.
Returns: True, if meshes intersect, otherwise false. False is also returned on error, but textLog will start with Error: and contain the error.
Determines which meshes intersect, and reports one intersecting face couple for each pair found. No geometry is computed: each pair of meshes is tested only until its first hit.
Returns: True if any pair intersects, otherwise false. False is also returned on error or cancellation.
Determines whether any of the meshes intersect. No geometry is computed, and the search stops at the first pair of meshes that intersect: this is the quickest answer when the intersecting pairs are not needed.
Returns: True if any pair intersects, otherwise false. False is also returned on error or cancellation.
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 MeshIntersectionsTolerancesCoefficient.
Returns: True, if the operation succeeded, otherwise false.
Returns: An array of polylines describing the intersection loops, or null if no intersections could be found.
Returns: An array of polylines describing the intersection loops, or null if no intersections could be found.
Intersects a mesh with a collection of infinite planes, providing both overlaps and perforations.
Tolerance can be specified.
We suggest to use the document tolerance multiplied by MeshIntersectionsTolerancesCoefficient.
Returns: An array of polylines describing the intersection loops, or null if no intersections could be found.
Returns: An array of polylines describing the intersection loops, or null if no intersections could be found.
Returns: An array of polylines describing the intersection loops, or null if no intersections could be found.
Returns: An array of polylines describing the intersection loops, or null if no intersections could be found.
Finds the intersection of a mesh and a polyline. Starting from version 7, points are always sorted along the polyline.
Returns: An array of points: one for each face that was passed by the faceIds out reference.
Finds the intersection of a mesh and a polyline. Points are guaranteed to be sorted along the polyline.
Returns: An array of points: one for each face that was passed by the faceIds out reference.
Finds the first intersection of a ray with a mesh.
Returns: >= 0.0 parameter along ray if successful. < 0.0 if no intersection found.
Finds the first intersection of a ray with a mesh.
Returns: >= 0.0 parameter along ray if successful. < 0.0 if no intersection found.
Finds the first intersection of each one of a set of rays with a mesh.
Returns: One value for each ray, in the order of the rays: the parameter along that ray of its first intersection with the mesh, or a value smaller than 0.0 where that ray does not meet the mesh. Null when the mesh or the set of rays is null.
Finds the first intersection of each one of a set of rays with a mesh.
Returns: One value for each ray, in the order of the rays: the parameter along that ray of its first intersection with the mesh, or a value smaller than 0.0 where that ray does not meet the mesh. Null when the mesh or the set of rays is null.
Intersects a plane and a bounding box.
Returns: True if successful, false otherwise.
Intersects a plane with a circle using exact calculations.
Returns: The type of intersection that occurred.
Intersects two planes and return the intersection line. If the planes are parallel or coincident, no intersection is assumed.
Returns: true on success, false on failure.
Intersects three planes to find the single point they all share.
Returns: true on success, false on failure. If at least two out of the three planes are parallel or coincident, failure is assumed.
Intersects a plane with a sphere using exact calculations.
Returns: If
PlaneSphereIntersection.None is returned, the intersectionCircle has a radius of zero and the center point is the point on the plane closest to the sphere.
Projects points onto breps.
Returns: Array of projected points, or null in case of any error or invalid input.
Projects points onto breps.
Returns: Array of projected points, or null in case of any error or invalid input.
Projects points onto meshes.
Returns: Array of projected points, or null in case of any error or invalid input.
Projects points onto meshes.
Returns: Array of projected points, or null in case of any error or invalid input.
Computes point intersections that occur when shooting a ray to a collection of surfaces and Breps.
Returns: An array of points: one for each surface or Brep face that was hit, or an empty array on failure.
Computes point intersections that occur when shooting a ray to a collection of surfaces and Breps.
Returns: An array of RayShootEvent structs if successful, or an empty array on failure.
Computes point intersections that occur when shooting a ray to a collection of surfaces and Breps.
Returns: An array of RayShootEvent structs if successful, or an empty array on failure.
Intersects two spheres using exact calculations.
Returns: The intersection type.
Intersects two Surfaces.
Returns: true on success, false on failure.