GeometryBaseGetOverlaps Method |
Detects overlapping regions among a set of input objects after they are
orthogonally projected onto the supplied plane, and reports what should
happen to each input object so that the overlaps can be removed.
Namespace:
Rhino.Geometry
Assembly:
RhinoCommon (in RhinoCommon.dll)
Since: 9.0
Syntaxpublic static int[] GetOverlaps(
IEnumerable<GeometryBase> objects,
Plane plane,
double tolerance,
bool wholeCurves,
IEnumerable<GeometryBase> locked,
bool lockedExclusive,
out bool[] entire,
out ComponentIndex[][] deadSegments,
out Curve[] replacements
)
Public Shared Function GetOverlaps (
objects As IEnumerable(Of GeometryBase),
plane As Plane,
tolerance As Double,
wholeCurves As Boolean,
locked As IEnumerable(Of GeometryBase),
lockedExclusive As Boolean,
<OutAttribute> ByRef entire As Boolean(),
<OutAttribute> ByRef deadSegments As ComponentIndex()(),
<OutAttribute> ByRef replacements As Curve()
) As Integer()
Parameters
- objects
- Type: System.Collections.GenericIEnumerableGeometryBase
The geometry to test for overlaps. Supported types are Curve
(curves), Point (single points), and PointCloud
(sets of points). Objects of any other type, as well as null or invalid
objects, are silently ignored.
- plane
- Type: Rhino.GeometryPlane
The plane the geometry is orthogonally projected onto before testing.
Use Plane.WorldXY to test in the world XY plane (dropping Z).
- tolerance
- Type: SystemDouble
The overlap distance tolerance, measured in the projected plane. - wholeCurves
- Type: SystemBoolean
When true, an overlapping curve is treated as a single unit; when false,
curves may be split at segment boundaries so that only the overlapping
portions are affected.
- locked
- Type: System.Collections.GenericIEnumerableGeometryBase
Geometry that participates in the overlap test but is never itself
modified. May be null or empty.
- lockedExclusive
- Type: SystemBoolean
When true, overlaps are only reported where an input object overlaps a
locked object; overlaps purely among the input objects are ignored.
- entire
- Type: SystemBoolean
For each returned object index, true if the entire object is an overlap
and should be removed. This out parameter is assigned during this call.
- deadSegments
- Type: Rhino.GeometryComponentIndex
For each returned object index, the component indices of the segments
that overlap and should be removed. This out parameter is assigned during
this call.
- replacements
- Type: Rhino.GeometryCurve
For each returned object index, an optional replacement curve to use in
place of the original, or null when no replacement is produced. This out
parameter is assigned during this call.
Return Value
Type:
Int32
The indices, into
objects, of the objects that are
affected by an overlap. The
entire,
deadSegments, and
replacements
arrays are parallel to the returned array.
Exceptions| Exception | Condition |
|---|
| ArgumentNullException | If objects is null. |
See Also