Table of Contents

Class Boolean2

Namespace
GeometryHelper.Core
Assembly
GeometryHelper.dll

The boolean operations over the loops that may curve.

These flatten first, and say so by what they give back: Clipper resolves every region operation in this library and knows only straight edges, so there is no form of a boolean that keeps arcs. The straight result is the honest one — an answer of the curved type would be a promise that the arcs had survived, and they have not.

Offset2 is the exception, and the reason is worth knowing: offsetting is done piece by piece, so an arc can be offset exactly and stay an arc. A boolean cannot be done piece by piece.

public static class Boolean2
Inheritance
Boolean2
Inherited Members

Methods

Intersect(GeoFace2, GeoFace2)

Gets the region covered by both of two faces, using default tolerance.

Intersect(GeoFace2, GeoFace2, Tolerance)

Gets the region covered by both of two faces, within tolerance.

Intersect(GeoPolygon2, GeoPolygon2)

Gets the region covered by both of two polygons, using default tolerance.

Intersect(GeoPolygon2, GeoPolygon2, Tolerance)

Gets the region covered by both of two polygons, within tolerance.

Intersect(GeoPolygon2, GeoPolygonArc2)

Gets what both loops cover where the subject is already straight, cutting the arcs of the other.

Intersect(GeoPolygon2, GeoPolygonArc2, Tolerance)

Gets the result where the subject is already straight, within a tolerance.

Intersect(GeoPolygon2, GeoPolygonArc2, double)

Gets the result where the subject is already straight, cutting the arcs no further than a chord tolerance from the curve.

Intersect(GeoPolygon2, GeoPolygonArc2, double, Tolerance)

Gets what both loops cover where the subject is already straight, cutting the arcs of the other, within a tolerance.

Intersect(GeoPolygonArc2, GeoPolygon2)

Gets what both loops cover where one of them is already straight, cutting the arcs of the other.

Intersect(GeoPolygonArc2, GeoPolygon2, Tolerance)

Gets the result where one shape is already straight, within a tolerance.

Intersect(GeoPolygonArc2, GeoPolygon2, double)

Gets the result where one shape is already straight, cutting the arcs no further than a chord tolerance from the curve.

Intersect(GeoPolygonArc2, GeoPolygon2, double, Tolerance)

Gets what both loops cover where one of them is already straight, cutting the arcs of the other, within a tolerance.

Intersect(GeoPolygonArc2, GeoPolygonArc2)

Gets what both loops cover, with the arcs cut into straight pieces first.

Intersect(GeoPolygonArc2, GeoPolygonArc2, Tolerance)

Gets what both loops cover, with the arcs cut into straight pieces first, within a tolerance.

Intersect(GeoPolygonArc2, GeoPolygonArc2, double)

Gets what both loops cover, cutting the arcs no further than a chord tolerance from the curve.

Intersect(GeoPolygonArc2, GeoPolygonArc2, double, Tolerance)

Gets what both loops cover, cutting the arcs no further than a chord tolerance from the curve, within a tolerance.

MakeValid(GeoPolygon2)

Gets the region a polygon covers as faces that do not cross themselves, using the default tolerance.

MakeValid(GeoPolygon2, Tolerance)

Gets the region a polygon covers as faces that do not cross themselves, within a tolerance.

Subtract(GeoFace2, GeoFace2)

Gets the region of one face with another taken out of it, using default tolerance.

Subtract(GeoFace2, GeoFace2, Tolerance)

Gets the region of one face with another taken out of it, within tolerance. The tool's own holes are not taken out, since they are not part of it.

Subtract(GeoFace2, IEnumerable<GeoFace2>)

Gets the region of a face with every one of a set of faces taken out of it, using default tolerance.

Subtract(GeoFace2, IEnumerable<GeoFace2>, Tolerance)

Gets the region of a face with every one of a set of faces taken out of it, within tolerance.

Subtract(GeoPolygon2, GeoPolygon2)

Gets the region of one polygon with another taken out of it, using default tolerance.

Subtract(GeoPolygon2, GeoPolygon2, Tolerance)

Gets the region of one polygon with another taken out of it, within tolerance.

Subtract(GeoPolygon2, GeoPolygonArc2)

Gets the subject with the tool taken out of it where the subject is already straight, cutting the arcs of the other.

Subtract(GeoPolygon2, GeoPolygonArc2, Tolerance)

Gets the result where the subject is already straight, within a tolerance.

Subtract(GeoPolygon2, GeoPolygonArc2, double)

Gets the result where the subject is already straight, cutting the arcs no further than a chord tolerance from the curve.

Subtract(GeoPolygon2, GeoPolygonArc2, double, Tolerance)

Gets the subject with the tool taken out of it where the subject is already straight, cutting the arcs of the other, within a tolerance.

Subtract(GeoPolygon2, IEnumerable<GeoPolygon2>)

Gets the region of a polygon with every one of a set of polygons taken out of it, using default tolerance.

Subtract(GeoPolygon2, IEnumerable<GeoPolygon2>, Tolerance)

Gets the region of a polygon with every one of a set of polygons taken out of it, within tolerance: a slab with its openings cut, in one call.

Subtract(GeoPolygonArc2, GeoPolygon2)

Gets the subject with the tool taken out of it where one of them is already straight, cutting the arcs of the other.

Subtract(GeoPolygonArc2, GeoPolygon2, Tolerance)

Gets the result where one shape is already straight, within a tolerance.

Subtract(GeoPolygonArc2, GeoPolygon2, double)

Gets the result where one shape is already straight, cutting the arcs no further than a chord tolerance from the curve.

Subtract(GeoPolygonArc2, GeoPolygon2, double, Tolerance)

Gets the subject with the tool taken out of it where one of them is already straight, cutting the arcs of the other, within a tolerance.

Subtract(GeoPolygonArc2, GeoPolygonArc2)

Gets the subject with the tool taken out of it, with the arcs cut into straight pieces first.

Subtract(GeoPolygonArc2, GeoPolygonArc2, Tolerance)

Gets the subject with the tool taken out of it, with the arcs cut into straight pieces first, within a tolerance.

Subtract(GeoPolygonArc2, GeoPolygonArc2, double)

Gets the subject with the tool taken out of it, cutting the arcs no further than a chord tolerance from the curve.

Subtract(GeoPolygonArc2, GeoPolygonArc2, double, Tolerance)

Gets the subject with the tool taken out of it, cutting the arcs no further than a chord tolerance from the curve, within a tolerance.

Union(GeoFace2, GeoFace2)

Gets the region covered by either of two faces, using default tolerance.

Union(GeoFace2, GeoFace2, Tolerance)

Gets the region covered by either of two faces, within tolerance. A hole in one face that the other covers is filled.

Union(GeoPolygon2, GeoPolygon2)

Gets the region covered by either of two polygons, using default tolerance.

Union(GeoPolygon2, GeoPolygon2, Tolerance)

Gets the region covered by either of two polygons, within tolerance.

Union(GeoPolygon2, GeoPolygonArc2)

Gets both loops together where the subject is already straight, cutting the arcs of the other.

Union(GeoPolygon2, GeoPolygonArc2, Tolerance)

Gets the result where the subject is already straight, within a tolerance.

Union(GeoPolygon2, GeoPolygonArc2, double)

Gets the result where the subject is already straight, cutting the arcs no further than a chord tolerance from the curve.

Union(GeoPolygon2, GeoPolygonArc2, double, Tolerance)

Gets both loops together where the subject is already straight, cutting the arcs of the other, within a tolerance.

Union(GeoPolygonArc2, GeoPolygon2)

Gets both loops together where one of them is already straight, cutting the arcs of the other.

Union(GeoPolygonArc2, GeoPolygon2, Tolerance)

Gets the result where one shape is already straight, within a tolerance.

Union(GeoPolygonArc2, GeoPolygon2, double)

Gets the result where one shape is already straight, cutting the arcs no further than a chord tolerance from the curve.

Union(GeoPolygonArc2, GeoPolygon2, double, Tolerance)

Gets both loops together where one of them is already straight, cutting the arcs of the other, within a tolerance.

Union(GeoPolygonArc2, GeoPolygonArc2)

Gets both loops together, with the arcs cut into straight pieces first.

Union(GeoPolygonArc2, GeoPolygonArc2, Tolerance)

Gets both loops together, with the arcs cut into straight pieces first, within a tolerance.

Union(GeoPolygonArc2, GeoPolygonArc2, double)

Gets both loops together, cutting the arcs no further than a chord tolerance from the curve.

Union(GeoPolygonArc2, GeoPolygonArc2, double, Tolerance)

Gets both loops together, cutting the arcs no further than a chord tolerance from the curve, within a tolerance.

Union(IEnumerable<GeoFace2>)

Gets the region covered by any of a set of faces, using default tolerance.

Union(IEnumerable<GeoFace2>, Tolerance)

Gets the region covered by any of a set of faces, within tolerance.

Union(IEnumerable<GeoPolygon2>)

Gets the region covered by any of a set of polygons, using default tolerance.

Union(IEnumerable<GeoPolygon2>, Tolerance)

Gets the region covered by any of a set of polygons, within tolerance. Each polygon is read on its own under the even-odd rule before they are joined, so two that overlap stay filled where they overlap.

Xor(GeoFace2, GeoFace2)

Gets the region covered by exactly one of two faces, using default tolerance.

Xor(GeoFace2, GeoFace2, Tolerance)

Gets the region covered by exactly one of two faces, within tolerance.

Xor(GeoPolygon2, GeoPolygon2)

Gets the region covered by exactly one of two polygons, using default tolerance.

Xor(GeoPolygon2, GeoPolygon2, Tolerance)

Gets the region covered by exactly one of two polygons, within tolerance: their union less their overlap.

Xor(GeoPolygon2, GeoPolygonArc2)

Gets what one loop covers and the other does not where the subject is already straight, cutting the arcs of the other.

Xor(GeoPolygon2, GeoPolygonArc2, Tolerance)

Gets the result where the subject is already straight, within a tolerance.

Xor(GeoPolygon2, GeoPolygonArc2, double)

Gets the result where the subject is already straight, cutting the arcs no further than a chord tolerance from the curve.

Xor(GeoPolygon2, GeoPolygonArc2, double, Tolerance)

Gets what one loop covers and the other does not where the subject is already straight, cutting the arcs of the other, within a tolerance.

Xor(GeoPolygonArc2, GeoPolygon2)

Gets what one loop covers and the other does not where one of them is already straight, cutting the arcs of the other.

Xor(GeoPolygonArc2, GeoPolygon2, Tolerance)

Gets the result where one shape is already straight, within a tolerance.

Xor(GeoPolygonArc2, GeoPolygon2, double)

Gets the result where one shape is already straight, cutting the arcs no further than a chord tolerance from the curve.

Xor(GeoPolygonArc2, GeoPolygon2, double, Tolerance)

Gets what one loop covers and the other does not where one of them is already straight, cutting the arcs of the other, within a tolerance.

Xor(GeoPolygonArc2, GeoPolygonArc2)

Gets what one loop covers and the other does not, with the arcs cut into straight pieces first.

Xor(GeoPolygonArc2, GeoPolygonArc2, Tolerance)

Gets what one loop covers and the other does not, with the arcs cut into straight pieces first, within a tolerance.

Xor(GeoPolygonArc2, GeoPolygonArc2, double)

Gets what one loop covers and the other does not, cutting the arcs no further than a chord tolerance from the curve.

Xor(GeoPolygonArc2, GeoPolygonArc2, double, Tolerance)

Gets what one loop covers and the other does not, cutting the arcs no further than a chord tolerance from the curve, within a tolerance.