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.