Table of Contents

Class GeoFace2

Namespace
GeometryHelper.Geometry
Assembly
GeometryHelper.dll

Whether a face touches another shape.

public sealed class GeoFace2 : IEquatable<GeoFace2>
Inheritance
GeoFace2
Implements
Inherited Members

Constructors

GeoFace2(GeoPolygon2)

Initializes a face with no holes.

GeoFace2(GeoPolygon2, IEnumerable<GeoPolygon2>)

Initializes a face with holes.

Properties

Area

Gets the area of the face, with the area of every hole taken off.

Boundary

Gets the outer boundary of the face.

Centroid

Gets the centroid of the face: the centroid of its boundary with its holes taken out, so a plate balances at this point whatever has been cut from it.

Holes

Gets the read-only list of holes cut out of the face.

Length

Gets the total length of the outline: the boundary and the rim of every hole.

Methods

BuildIndex()

Builds a spatial index over the boundary of this face, the rim of every hole included, for asking it many questions.

Clone()

Creates a copy of this face, boundary and holes included.

CollidesWith(GeoArc2)

Checks whether a arc reaches the material of this face.

CollidesWith(GeoArc2, Tolerance)

Checks whether a arc reaches the material of this face, within a tolerance.

CollidesWith(GeoCircle2)

Checks whether a circle reaches the material of this face.

CollidesWith(GeoCircle2, Tolerance)

Checks whether a circle reaches the material of this face, within a tolerance.

CollidesWith(GeoEdge2)

Checks whether this face touches an edge.

CollidesWith(GeoEdge2, Tolerance)

Checks whether this face touches an edge, within a tolerance.

CollidesWith(GeoLine2)

Checks whether a segment reaches the material of this face.

CollidesWith(GeoLine2, Tolerance)

Checks whether a segment reaches the material of this face, within a tolerance.

CollidesWith(GeoPolygon2)

Checks whether a polygon reaches the material of this face.

CollidesWith(GeoPolygon2, Tolerance)

Checks whether a polygon reaches the material of this face, within a tolerance.

CollidesWith(GeoPolygonArc2)

Checks whether a curved loop reaches the material of this face.

CollidesWith(GeoPolygonArc2, Tolerance)

Checks whether a curved loop reaches the material of this face, within a tolerance.

CollidesWith(GeoPolyline2)

Checks whether a polyline reaches the material of this face.

CollidesWith(GeoPolyline2, Tolerance)

Checks whether a polyline reaches the material of this face, within a tolerance.

CollidesWith(GeoPolylineArc2)

Checks whether a curved chain reaches the material of this face.

CollidesWith(GeoPolylineArc2, Tolerance)

Checks whether a curved chain reaches the material of this face, within a tolerance.

CollidesWith(GeoRectangle2)

Checks whether a rectangle reaches the material of this face.

CollidesWith(GeoRectangle2, Tolerance)

Checks whether a rectangle reaches the material of this face, within a tolerance.

CollidesWith(GeoTriangle2)

Checks whether this face touches a triangle, using the default tolerance.

CollidesWith(GeoTriangle2, Tolerance)

Checks whether this face touches a triangle, within a tolerance.

Contains(GeoPoint2)

Checks whether this face holds a point, on its outline included, using default tolerance.

Contains(GeoPoint2, Tolerance)

Checks whether this face holds a point, on its outline included, within tolerance.

DistanceTo(GeoPoint2)

Calculates the shortest distance from this face to a point.

DistanceTo(GeoPoint2, Tolerance)

Calculates the shortest distance from this face to a point, within a tolerance.

Equals(GeoFace2)

Determines whether another face has exactly the same boundary and holes, in the same order.

Equals(object)

Determines whether the specified object is an equal face.

GetClosestPointOnBoundary(GeoPoint2)

Gets the point of the boundary of this face nearest a target point.

GetClosestPointOnBoundary(GeoPoint2, Tolerance)

Gets the point of the boundary of this face nearest a target point, within a tolerance.

GetHashCode()

Returns the hash code for this instance.

GetIntersections(GeoArc2)

Gets every point where a arc crosses the boundary of this face.

GetIntersections(GeoArc2, Tolerance)

Gets every point where a arc crosses the boundary of this face, within a tolerance.

GetIntersections(GeoCircle2)

Gets every point where a circle crosses the boundary of this face.

GetIntersections(GeoCircle2, Tolerance)

Gets every point where a circle crosses the boundary of this face, within a tolerance.

GetIntersections(GeoEdge2)

Gets every point where this face crosses an edge.

GetIntersections(GeoEdge2, Tolerance)

Gets every point where this face crosses an edge, within a tolerance.

GetIntersections(GeoLine2)

Gets every point where a segment crosses the boundary of this face.

GetIntersections(GeoLine2, Tolerance)

Gets every point where a segment crosses the boundary of this face, within a tolerance.

GetIntersections(GeoPolygon2)

Gets every point where a polygon crosses the boundary of this face.

GetIntersections(GeoPolygon2, Tolerance)

Gets every point where a polygon crosses the boundary of this face, within a tolerance.

GetIntersections(GeoPolygonArc2)

Gets every point where a curved loop crosses the boundary of this face.

GetIntersections(GeoPolygonArc2, Tolerance)

Gets every point where a curved loop crosses the boundary of this face, within a tolerance.

GetIntersections(GeoPolyline2)

Gets every point where a polyline crosses the boundary of this face.

GetIntersections(GeoPolyline2, Tolerance)

Gets every point where a polyline crosses the boundary of this face, within a tolerance.

GetIntersections(GeoPolylineArc2)

Gets every point where a curved chain crosses the boundary of this face.

GetIntersections(GeoPolylineArc2, Tolerance)

Gets every point where a curved chain crosses the boundary of this face, within a tolerance.

GetIntersections(GeoRectangle2)

Gets every point where a rectangle crosses the boundary of this face.

GetIntersections(GeoRectangle2, Tolerance)

Gets every point where a rectangle crosses the boundary of this face, within a tolerance.

GetIntersections(GeoTriangle2)

Gets every point where this face meets the edges of a triangle, using the default tolerance.

GetIntersections(GeoTriangle2, Tolerance)

Gets every point where this face meets the edges of a triangle, within a tolerance.

GetShortestLineTo(GeoArc2)

Gets the shortest segment leaving the boundary of this face and landing on a arc.

GetShortestLineTo(GeoArc2, Tolerance)

Gets the shortest segment leaving the boundary of this face and landing on a arc, within a tolerance.

GetShortestLineTo(GeoCircle2)

Gets the shortest segment leaving the boundary of this face and landing on a circle.

GetShortestLineTo(GeoCircle2, Tolerance)

Gets the shortest segment leaving the boundary of this face and landing on a circle, within a tolerance.

GetShortestLineTo(GeoEdge2)

Gets the shortest segment leaving this face and landing on an edge.

GetShortestLineTo(GeoEdge2, Tolerance)

Gets the shortest segment leaving this face and landing on an edge, within a tolerance.

GetShortestLineTo(GeoLine2)

Gets the shortest segment leaving the boundary of this face and landing on a segment.

GetShortestLineTo(GeoLine2, Tolerance)

Gets the shortest segment leaving the boundary of this face and landing on a segment, within a tolerance.

GetShortestLineTo(GeoPoint2)

Gets the shortest segment leaving the boundary of this face and landing on a point.

GetShortestLineTo(GeoPoint2, Tolerance)

Gets the shortest segment leaving the boundary of this face and landing on a point, within a tolerance.

GetShortestLineTo(GeoPolygon2)

Gets the shortest segment leaving the boundary of this face and landing on a polygon.

GetShortestLineTo(GeoPolygon2, Tolerance)

Gets the shortest segment leaving the boundary of this face and landing on a polygon, within a tolerance.

GetShortestLineTo(GeoPolygonArc2)

Gets the shortest segment leaving the boundary of this face and landing on a curved loop.

GetShortestLineTo(GeoPolygonArc2, Tolerance)

Gets the shortest segment leaving the boundary of this face and landing on a curved loop, within a tolerance.

GetShortestLineTo(GeoPolyline2)

Gets the shortest segment leaving the boundary of this face and landing on a polyline.

GetShortestLineTo(GeoPolyline2, Tolerance)

Gets the shortest segment leaving the boundary of this face and landing on a polyline, within a tolerance.

GetShortestLineTo(GeoPolylineArc2)

Gets the shortest segment leaving the boundary of this face and landing on a curved chain.

GetShortestLineTo(GeoPolylineArc2, Tolerance)

Gets the shortest segment leaving the boundary of this face and landing on a curved chain, within a tolerance.

GetShortestLineTo(GeoRectangle2)

Gets the shortest segment leaving the boundary of this face and landing on a rectangle.

GetShortestLineTo(GeoRectangle2, Tolerance)

Gets the shortest segment leaving the boundary of this face and landing on a rectangle, within a tolerance.

GetShortestLineTo(GeoTriangle2)

Gets the shortest segment leaving this face and landing on a triangle, using the default tolerance.

GetShortestLineTo(GeoTriangle2, Tolerance)

Gets the shortest segment leaving this face and landing on a triangle, within a tolerance.

Intersect(GeoFace2)

Gets the region covered by both this face and another, using default tolerance.

Intersect(GeoFace2, Tolerance)

Gets the region covered by both this face and another, within tolerance.

IsEqualTo(GeoFace2)

Determines whether another face covers the same region, within the default tolerance.

IsEqualTo(GeoFace2, Tolerance)

Determines whether another face covers the same region, within a tolerance.

Locate(GeoPoint2)

Locates a point relative to this face using default tolerance: inside the material, on the boundary or the rim of a hole, or outside, which includes inside a hole.

Locate(GeoPoint2, Tolerance)

Locates a point relative to this face within tolerance.

Offset(double)

Grows the face by a distance, or shrinks it when the distance is negative, with sharp corners, using default tolerance. The holes shrink as the boundary grows. See Offset2.

Offset(double, OffsetJoin)

Grows the face by a distance, or shrinks it when the distance is negative, with the given corners, using default tolerance.

Offset(double, OffsetJoin, Tolerance)

Grows the face by a distance, or shrinks it when the distance is negative, with the given corners, within tolerance.

Offset(double, OffsetOptions)

Grows the face by a distance, or shrinks it when the distance is negative, as the options say, using default tolerance.

Offset(double, OffsetOptions, Tolerance)

Grows the face by a distance, or shrinks it when the distance is negative, as the options say, within tolerance.

Offset(double, Tolerance)

Grows the face by a distance, or shrinks it when the distance is negative, with sharp corners, within tolerance.

RotateBy(double, GeoPoint2)

Rotates the face around a center point by an angle in radians (counter-clockwise).

SignedDistanceTo(GeoPoint2)

Calculates the distance from this face to a point, negative for a point on the material.

SignedDistanceTo(GeoPoint2, Tolerance)

Calculates the distance from this face to a point, negative for a point on the material, within a tolerance.

Subtract(GeoFace2)

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

Subtract(GeoFace2, Tolerance)

Gets the region of this face with another taken out of it, within tolerance.

Subtract(IEnumerable<GeoFace2>)

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

Subtract(IEnumerable<GeoFace2>, Tolerance)

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

ToFace3(GeoCoordinateSystem3)

Puts this face of the plane back into space, holes and all, on the plane of a frame.

ToMesh(MeshKind)

Breaks the face into faces of a kind, using the default tolerance. A grid needs the size of its cells, which ToMesh(MeshOptions) takes.

ToMesh(MeshOptions)

Breaks the face into faces as the options say, using the default tolerance.

ToMesh(MeshOptions, Tolerance)

Breaks the face into faces as the options say, within a tolerance: triangles, the cells of a grid, strips or convex pieces, each a simple polygon with no hole, counter-clockwise, meeting its neighbours edge to edge.

ToString()

Returns the string representation of the face.

TransformBy(GeoTransform2)

Applies a transformation to this face. Its holes come with it.

Translate(GeoVector2)

Translates the face by a displacement vector.

TriangulateSurface()

Breaks the face into triangles that each lie within its material, holes left open, using the default tolerance.

TriangulateSurface(Tolerance)

Breaks the face into triangles that each lie within its material, holes left open, within a tolerance.

TryIntersectWith(GeoArc2, out GeoPoint2[])

Tries to find where this face meets an arc.

TryIntersectWith(GeoArc2, out GeoPoint2[], Tolerance)

Tries to find where this face meets an arc, within a tolerance.

TryIntersectWith(GeoCircle2, out GeoPoint2[])

Tries to find where this face meets a circle.

TryIntersectWith(GeoCircle2, out GeoPoint2[], Tolerance)

Tries to find where this face meets a circle, within a tolerance.

TryIntersectWith(GeoEdge2, out GeoPoint2[])

Tries to find where this face meets an edge.

TryIntersectWith(GeoEdge2, out GeoPoint2[], Tolerance)

Tries to find where this face meets an edge, within a tolerance.

TryIntersectWith(GeoLine2, out GeoPoint2[])

Tries to find where this face meets a segment.

TryIntersectWith(GeoLine2, out GeoPoint2[], Tolerance)

Tries to find where this face meets a segment, within a tolerance.

TryIntersectWith(GeoPolygon2, out GeoPoint2[])

Tries to find where this face meets a polygon.

TryIntersectWith(GeoPolygon2, out GeoPoint2[], Tolerance)

Tries to find where this face meets a polygon, within a tolerance.

TryIntersectWith(GeoPolygonArc2, out GeoPoint2[])

Tries to find where this face meets a loop that may curve.

TryIntersectWith(GeoPolygonArc2, out GeoPoint2[], Tolerance)

Tries to find where this face meets a loop that may curve, within a tolerance.

TryIntersectWith(GeoPolyline2, out GeoPoint2[])

Tries to find where this face meets a chain.

TryIntersectWith(GeoPolyline2, out GeoPoint2[], Tolerance)

Tries to find where this face meets a chain, within a tolerance.

TryIntersectWith(GeoPolylineArc2, out GeoPoint2[])

Tries to find where this face meets a chain that may curve.

TryIntersectWith(GeoPolylineArc2, out GeoPoint2[], Tolerance)

Tries to find where this face meets a chain that may curve, within a tolerance.

TryIntersectWith(GeoRectangle2, out GeoPoint2[])

Tries to find where this face meets a rectangle.

TryIntersectWith(GeoRectangle2, out GeoPoint2[], Tolerance)

Tries to find where this face meets a rectangle, within a tolerance.

TryIntersectWith(GeoTriangle2, out GeoPoint2[])

Tries to find where this face meets the edges of a triangle, using the default tolerance.

TryIntersectWith(GeoTriangle2, out GeoPoint2[], Tolerance)

Tries to find where this face meets the edges of a triangle, within a tolerance.

TrySplitBy(GeoLine2, out GeoFace2[], out GeoFace2[])

Cuts the face by the straight line through a segment.

TrySplitBy(GeoLine2, out GeoFace2[], out GeoFace2[], Tolerance)

Cuts the face by the straight line through a segment, within a tolerance.

Union(GeoFace2)

Gets the region covered by this face or another, using default tolerance. See Boolean2.

Union(GeoFace2, Tolerance)

Gets the region covered by this face or another, within tolerance.

Xor(GeoFace2)

Gets the region covered by exactly one of this face and another, using default tolerance.

Xor(GeoFace2, Tolerance)

Gets the region covered by exactly one of this face and another, within tolerance.

Operators

operator ==(GeoFace2, GeoFace2)

Compares two faces for equality.

operator !=(GeoFace2, GeoFace2)

Compares two faces for inequality.