Class GeoFace3
- Namespace
- GeometryHelper.Geometry
- Assembly
- GeometryHelper.dll
Whether a face touches another shape.
public sealed class GeoFace3 : IEquatable<GeoFace3>
- Inheritance
-
GeoFace3
- Implements
- Inherited Members
- Extension Methods
Remarks
A shape that does not lie in this one's plane is refused rather than projected in, because projecting would report two plates a metre apart as overlapping and say nothing about it. SharesPlaneWith(GeoPlane3) asks the question beforehand. Everything comes back as GeoFace3, because joining two areas can leave a hole in the middle and only a face can hold one.
Constructors
- GeoFace3(GeoPolygon3)
Initializes a face with no holes.
- GeoFace3(GeoPolygon3, IEnumerable<GeoPolygon3>)
Initializes a face with holes.
- GeoFace3(GeoPolygon3, IEnumerable<GeoPolygon3>, Tolerance)
Initializes a face with holes, within a tolerance.
Properties
- Area
Gets the area of the face, with the area of every hole removed.
- 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, each wound the same way as the boundary.
- Normal
Gets the unit normal of the face, taken from its boundary.
Methods
- BuildIndex()
Builds a spatial index over the surface of this face, for asking it many questions.
- BuildIndex(Tolerance)
Builds a spatial index over the surface of this face, within a tolerance.
- Clone()
Creates a copy of this face.
- CollidesWith(GeoArc3)
Checks whether this face touches an arc, using the default tolerance.
- CollidesWith(GeoArc3, Tolerance)
Checks whether this face touches an arc, within a tolerance.
- CollidesWith(GeoCircle3)
Checks whether this face touches a circle, using the default tolerance.
- CollidesWith(GeoCircle3, Tolerance)
Checks whether this face touches a circle, within a tolerance.
- CollidesWith(GeoEdge3)
Checks whether this face touches an edge.
- CollidesWith(GeoEdge3, Tolerance)
Checks whether this face touches an edge, within a tolerance.
- CollidesWith(GeoLine3)
Checks whether this face touches a segment, using the default tolerance.
- CollidesWith(GeoLine3, Tolerance)
Checks whether this face touches a segment, within a tolerance.
- CollidesWith(GeoPolygonArc3)
Checks whether this face touches a curved loop.
- CollidesWith(GeoPolygonArc3, Tolerance)
Checks whether this face touches a curved loop, within a tolerance.
- CollidesWith(GeoPolylineArc3)
Checks whether this face touches a curved chain.
- CollidesWith(GeoPolylineArc3, Tolerance)
Checks whether this face touches a curved chain, within a tolerance.
- CollidesWith(GeoRay3)
Checks whether a ray runs into this face, using the default tolerance.
- CollidesWith(GeoRay3, Tolerance)
Checks whether a ray runs into this face, within a tolerance.
- CollidesWith(GeoSolid3)
Checks whether this face touches a solid, using the default tolerance.
- CollidesWith(GeoSolid3, Tolerance)
Checks whether this face touches a solid, within a tolerance.
- Contains(GeoPoint3)
Checks whether this face holds a point, using the default tolerance.
- Contains(GeoPoint3, Tolerance)
Checks whether this face holds a point, within a tolerance.
- DistanceTo(GeoPoint3)
Calculates the shortest distance from this face to a point.
- DistanceTo(GeoPoint3, Tolerance)
Calculates the shortest distance from this face to a point, within a tolerance.
- Equals(GeoFace3)
Determines whether another face has exactly the same boundary and holes, in the same order.
- Equals(object)
Determines whether the specified object is equal to the current face.
- Flip()
Gets the face with its orientation reversed, holes included.
- FromLoops(IEnumerable<GeoPoint3>, IEnumerable<IEnumerable<GeoPoint3>>)
Makes the faces that cover a boundary less its holes, from loops of corners that need not lie flat, using the default tolerance.
- FromLoops(IEnumerable<GeoPoint3>, IEnumerable<IEnumerable<GeoPoint3>>, Tolerance)
Makes the faces that cover a boundary less its holes, from loops of corners that need not lie flat, within a tolerance.
- GetAabb()
Gets the axis-aligned bounding box enclosing this face.
- GetClosestPointOnBoundary(GeoPoint3)
Gets the point of this face nearest a target point.
- GetClosestPointOnBoundary(GeoPoint3, Tolerance)
Gets the point of this face nearest a target point, within a tolerance.
- GetFrame()
Gets the frame of this face: the frame of its boundary, so its holes are laid out with it.
- GetHashCode()
Returns the hash code for this instance.
- GetIntersections(GeoArc3)
Gets every point where an arc crosses this face, using the default tolerance.
- GetIntersections(GeoArc3, Tolerance)
Gets every point where an arc crosses this face, within a tolerance.
- GetIntersections(GeoCircle3)
Gets every point where a circle crosses this face, using the default tolerance.
- GetIntersections(GeoCircle3, Tolerance)
Gets every point where a circle crosses this face, within a tolerance.
- GetIntersections(GeoEdge3)
Gets every point where an edge crosses this face.
- GetIntersections(GeoEdge3, Tolerance)
Gets every point where an edge crosses this face, within a tolerance.
- GetIntersections(GeoLine3)
Gets every point where a segment crosses this face.
- GetIntersections(GeoLine3, Tolerance)
Gets every point where a segment crosses this face, within a tolerance.
- GetIntersections(GeoPolygonArc3)
Gets every point where a curved loop crosses this face.
- GetIntersections(GeoPolygonArc3, Tolerance)
Gets every point where a curved loop crosses this face, within a tolerance.
- GetIntersections(GeoPolylineArc3)
Gets every point where a curved chain crosses this face.
- GetIntersections(GeoPolylineArc3, Tolerance)
Gets every point where a curved chain crosses this face, within a tolerance.
- GetPlane()
Gets the plane carrying the face, oriented along its normal.
- Intersect(GeoFace3)
Keeps what this face and a face both cover.
- Intersect(GeoFace3, Tolerance)
Keeps what this face and a face both cover, within a tolerance.
- Intersect(GeoPolygon3)
Keeps what this face and a polygon both cover.
- Intersect(GeoPolygon3, Tolerance)
Keeps what this face and a polygon both cover, within a tolerance.
- IsEqualTo(GeoFace3)
Compares whether this face equals another using the default tolerance.
- IsEqualTo(GeoFace3, Tolerance)
Compares whether this face equals another within a tolerance, ignoring the order the holes are listed in.
- Locate(GeoPoint3)
Locates a point relative to this face, using the default tolerance.
- Locate(GeoPoint3, Tolerance)
Locates a point relative to this face, within a tolerance.
- Offset(double)
Grows this face within its own plane by a distance, or shrinks it when the distance is negative, with sharp corners, using the default tolerance. The holes shrink as the boundary grows. See Offset(GeoFace3, double, OffsetOptions, Tolerance).
- Offset(double, OffsetJoin)
Grows this face within its own plane by a distance, or shrinks it when the distance is negative, with the given corners, using the default tolerance.
- Offset(double, OffsetJoin, Tolerance)
Grows this face within its own plane by a distance, or shrinks it when the distance is negative, with the given corners, within a tolerance.
- Offset(double, OffsetOptions)
Grows this face within its own plane by a distance, or shrinks it when the distance is negative, as the options say, using the default tolerance.
- Offset(double, OffsetOptions, Tolerance)
Grows this face within its own plane by a distance, or shrinks it when the distance is negative, as the options say, within a tolerance.
- Offset(double, Tolerance)
Grows this face within its own plane by a distance, or shrinks it when the distance is negative, with sharp corners, within a tolerance.
- ProjectToFace2(GeoCoordinateSystem3)
Lays this face and its holes out in a frame, dropping each vertex's distance from the plane.
- SharesPlaneWith(GeoPlane3)
Determines whether a plane is the plane this face lies in.
- SharesPlaneWith(GeoPlane3, Tolerance)
Determines whether a plane is the plane this face lies in, within a tolerance.
- Subtract(GeoFace3)
Takes a face out of this face.
- Subtract(GeoFace3, Tolerance)
Takes a face out of this face, within a tolerance.
- Subtract(GeoPolygon3)
Takes a polygon out of this face.
- Subtract(GeoPolygon3, Tolerance)
Takes a polygon out of this face, within a tolerance.
- ToString()
Returns a string that represents the current face.
- TransformBy(GeoTransform3)
Applies a transformation to the boundary and every hole.
- Translate(GeoVector3)
Moves the face by a vector.
- Triangulate()
Breaks the outer boundary into triangles, ignoring the holes.
- TriangulateSurface()
Breaks the face into triangles that each lie within its material, holes included, using the default tolerance.
- TriangulateSurface(Tolerance)
Breaks the face into triangles that each lie within its material, holes included, within a tolerance.
- TryIntersectWith(GeoArc3, out GeoPoint3[])
Tries to find where an arc crosses this face, using the default tolerance.
- TryIntersectWith(GeoArc3, out GeoPoint3[], Tolerance)
Tries to find where an arc crosses this face, within a tolerance.
- TryIntersectWith(GeoCircle3, out GeoPoint3[])
Tries to find where a circle crosses this face, using the default tolerance.
- TryIntersectWith(GeoCircle3, out GeoPoint3[], Tolerance)
Tries to find where a circle crosses this face, within a tolerance.
- TryIntersectWith(GeoLine3, out GeoPoint3)
Tries to find the point where a line segment crosses this face, using the default tolerance.
- TryIntersectWith(GeoLine3, out GeoPoint3, Tolerance)
Tries to find the point where a line segment crosses this face, within a tolerance.
- TryIntersectWith(GeoRay3, out GeoPoint3)
Tries to find the point where a ray crosses this face, using the default tolerance.
- TryIntersectWith(GeoRay3, out GeoPoint3, Tolerance)
Tries to find the point where a ray crosses this face, within a tolerance.
- TrySplitBy(GeoPlane3, out GeoFace3[], out GeoFace3[])
Splits this face by a plane, using the default tolerance.
- TrySplitBy(GeoPlane3, out GeoFace3[], out GeoFace3[], Tolerance)
Splits this face by a plane, within a tolerance.
- Union(GeoFace3)
Joins this face to a face.
- Union(GeoFace3, Tolerance)
Joins this face to a face, within a tolerance.
- Union(GeoPolygon3)
Joins this face to a polygon.
- Union(GeoPolygon3, Tolerance)
Joins this face to a polygon, within a tolerance.
- Xor(GeoFace3)
Keeps what this face and a face cover between them but do not share.
- Xor(GeoFace3, Tolerance)
Keeps what this face and a face cover between them but do not share, within a tolerance.
- Xor(GeoPolygon3)
Keeps what this face and a polygon cover between them but do not share.
- Xor(GeoPolygon3, Tolerance)
Keeps what this face and a polygon cover between them but do not share, within a tolerance.