Struct GeoEdge3
- Namespace
- GeometryHelper.Geometry
- Assembly
- GeometryHelper.dll
Whether an edge touches another shape.
public readonly struct GeoEdge3 : IEquatable<GeoEdge3>
- Implements
- Inherited Members
Remarks
The twin of GeoEdge2, with the one thing space needs that the plane does not. A bulge is the tangent of a quarter of the swept angle, the number AutoCAD keeps against a vertex, and in the plane it is enough on its own. In space it is not: a chord and a bulge are satisfied by an arc in any of the infinitely many planes through that chord, so the plane is carried as well, as Normal.
A positive bulge sweeps counter-clockwise about Normal, which is what a positive bulge means in the plane too, and that bows the curve towards the chord crossed with the normal. So a chord running along X with a normal along Z bows towards minus Y, the same way FromBulge(GeoPoint2, GeoPoint2, double) puts it.
A bulge of nought is a straight segment and the normal is then ignored, which is why IsArc is worth asking before ToArc().
Constructors
- GeoEdge3(GeoArc3)
Initializes an edge from an arc in space.
- GeoEdge3(GeoPoint3, GeoPoint3)
Initializes a straight edge between two points.
- GeoEdge3(GeoPoint3, GeoPoint3, double, GeoVector3)
Initializes an edge between two points, bulging by a given amount in a given plane.
- GeoEdge3(GeoPoint3, GeoPoint3, double, GeoVector3, Tolerance)
Initializes an edge between two points, bulging by a given amount in a given plane, within a tolerance.
Properties
- Bulge
Gets the bulge: the tangent of a quarter of the swept angle, nought for a straight segment.
- EndPoint
Gets the point the edge ends at.
- IsArc
Gets a value indicating whether the edge curves.
- IsValid
Gets whether this is a shape a constructor could have made: both ends are valid points, the bulge a number, and a curved edge's normal of unit length.
- Length
Gets the length of the edge, measured along the arc where it curves.
- MidPoint
Gets the point half way along the edge: the middle of its segment or of its arc.
- Normal
Gets the normal of the plane the arc bulges in, of no length at all for a straight segment.
- StartPoint
Gets the point the edge starts from.
Methods
- Clone()
Creates a copy of this edge.
- CollidesWith(GeoAabb3)
Checks whether this edge touches an axis-aligned box.
- CollidesWith(GeoAabb3, Tolerance)
Checks whether this edge touches an axis-aligned box, within a tolerance.
- CollidesWith(GeoArc3)
Checks whether this edge touches an arc.
- CollidesWith(GeoArc3, Tolerance)
Checks whether this edge touches an arc, within a tolerance.
- CollidesWith(GeoCircle3)
Checks whether this edge touches a circle.
- CollidesWith(GeoCircle3, Tolerance)
Checks whether this edge touches a circle, within a tolerance.
- CollidesWith(GeoEdge3)
Determines whether this edge touches another edge.
- CollidesWith(GeoEdge3, Tolerance)
Determines whether this edge touches another edge, within a tolerance.
- CollidesWith(GeoFace3)
Checks whether this edge touches a face.
- CollidesWith(GeoFace3, Tolerance)
Checks whether this edge touches a face, within a tolerance.
- CollidesWith(GeoLine3)
Determines whether this edge touches a segment.
- CollidesWith(GeoLine3, Tolerance)
Determines whether this edge touches a segment, within a tolerance.
- CollidesWith(GeoObb3)
Checks whether this edge touches an oriented box.
- CollidesWith(GeoObb3, Tolerance)
Checks whether this edge touches an oriented box, within a tolerance.
- CollidesWith(GeoPlane3)
Checks whether this edge touches a plane.
- CollidesWith(GeoPlane3, Tolerance)
Checks whether this edge touches a plane, within a tolerance.
- CollidesWith(GeoPolygon3)
Checks whether this edge touches a polygon.
- CollidesWith(GeoPolygon3, Tolerance)
Checks whether this edge touches a polygon, within a tolerance.
- CollidesWith(GeoRay3)
Determines whether this edge touches a ray.
- CollidesWith(GeoRay3, Tolerance)
Determines whether this edge touches a ray, within a tolerance.
- CollidesWith(GeoSolid3)
Checks whether this edge touches a solid.
- CollidesWith(GeoSolid3, Tolerance)
Checks whether this edge touches a solid, within a tolerance.
- CollidesWith(GeoTriangle3)
Checks whether this edge touches a triangle.
- CollidesWith(GeoTriangle3, Tolerance)
Checks whether this edge touches a triangle, within a tolerance.
- DistanceTo(GeoPoint3)
Gets the distance from the edge to a point.
- DistanceTo(GeoPoint3, Tolerance)
Gets the distance from the edge to a point, within a tolerance.
- Equals(GeoEdge3)
Indicates whether the current edge is equal to another edge.
- Equals(object)
Indicates whether this instance and a specified object are equal.
- Extend(double, LineEnd)
Lengthens the edge at one end, along itself.
- Extend(double, LineEnd, Tolerance)
Lengthens the edge at one end, along itself, within a tolerance.
- ExtendToLength(double, LineEnd)
Lengthens or shortens the edge at one end until it is a given length.
- ExtendToLength(double, LineEnd, Tolerance)
Lengthens or shortens the edge at one end until it is a given length, within a tolerance.
- GetAabb()
Gets the smallest axis-aligned box holding the edge.
- GetChord()
Gets the straight segment between the two ends, whether or not the edge curves.
- GetClosestPointOnBoundary(GeoPoint3)
Gets the point of the edge nearest another point.
- GetClosestPointOnBoundary(GeoPoint3, Tolerance)
Gets the point of the edge nearest another point, within a tolerance.
- GetHashCode()
Returns the hash code for this instance.
- GetIntersections(GeoAabb3)
Gets every point where this edge crosses an axis-aligned box.
- GetIntersections(GeoAabb3, Tolerance)
Gets every point where this edge crosses an axis-aligned box, within a tolerance.
- GetIntersections(GeoArc3)
Gets every point where this edge crosses an arc.
- GetIntersections(GeoArc3, Tolerance)
Gets every point where this edge crosses an arc, within a tolerance.
- GetIntersections(GeoCircle3)
Gets every point where this edge crosses a circle.
- GetIntersections(GeoCircle3, Tolerance)
Gets every point where this edge crosses a circle, within a tolerance.
- GetIntersections(GeoEdge3)
Gets every point where this edge crosses another edge.
- GetIntersections(GeoEdge3, Tolerance)
Gets every point where this edge crosses another edge, within a tolerance.
- GetIntersections(GeoFace3)
Gets every point where this edge crosses a face.
- GetIntersections(GeoFace3, Tolerance)
Gets every point where this edge crosses a face, within a tolerance.
- GetIntersections(GeoLine3)
Gets every point where this edge crosses a segment.
- GetIntersections(GeoLine3, Tolerance)
Gets every point where this edge crosses a segment, within a tolerance.
- GetIntersections(GeoObb3)
Gets every point where this edge crosses an oriented box.
- GetIntersections(GeoObb3, Tolerance)
Gets every point where this edge crosses an oriented box, within a tolerance.
- GetIntersections(GeoPlane3)
Gets every point where this edge crosses a plane.
- GetIntersections(GeoPlane3, Tolerance)
Gets every point where this edge crosses a plane, within a tolerance.
- GetIntersections(GeoPolygon3)
Gets every point where this edge crosses a polygon.
- GetIntersections(GeoPolygon3, Tolerance)
Gets every point where this edge crosses a polygon, within a tolerance.
- GetIntersections(GeoRay3)
Gets every point where this edge crosses a ray.
- GetIntersections(GeoRay3, Tolerance)
Gets every point where this edge crosses a ray, within a tolerance.
- GetIntersections(GeoSolid3)
Gets every point where this edge crosses a solid.
- GetIntersections(GeoSolid3, Tolerance)
Gets every point where this edge crosses a solid, within a tolerance.
- GetIntersections(GeoTriangle3)
Gets every point where this edge crosses a triangle.
- GetIntersections(GeoTriangle3, Tolerance)
Gets every point where this edge crosses a triangle, within a tolerance.
- GetParameterAtPoint(GeoPoint3)
Gets how far along the edge the point nearest another one sits, from nought to one.
- GetParameterAtPoint(GeoPoint3, Tolerance)
Gets how far along the edge the point nearest another one sits, from nought to one, within a tolerance.
- GetPlane()
Gets the plane the arc bulges in.
- GetPointAtParameter(double)
Gets the point a given way along the edge, from nought at the start to one at the end.
- IsEqualTo(GeoEdge3)
Determines whether this edge holds the same ends and the same bulge in the same plane as another.
- IsEqualTo(GeoEdge3, Tolerance)
Determines whether this edge holds the same ends and the same bulge in the same plane as another, within a tolerance.
- IsPointOn(GeoPoint3)
Determines whether a point lies on the edge.
- IsPointOn(GeoPoint3, Tolerance)
Determines whether a point lies on the edge, within a tolerance.
- Locate(GeoPoint3)
Says where a point sits relative to the edge; a curve never answers Inside.
- Locate(GeoPoint3, Tolerance)
Says where a point sits relative to the edge, within a tolerance.
- Reverse()
Gets the edge walked the other way, drawing the same curve.
- ToArc()
Gets the edge as an arc in space.
- ToLine()
Gets the edge as a straight segment.
- ToString()
Returns a string describing the edge.
- TransformBy(GeoTransform3)
Applies a transformation to the edge.
- Translate(GeoVector3)
Moves the edge by a vector.
- TryIntersectWith(GeoArc3, out GeoPoint3[])
Tries to find where this edge crosses an arc.
- TryIntersectWith(GeoArc3, out GeoPoint3[], Tolerance)
Tries to find where this edge crosses an arc, within a tolerance.
- TryIntersectWith(GeoCircle3, out GeoPoint3[])
Tries to find where this edge crosses a circle.
- TryIntersectWith(GeoCircle3, out GeoPoint3[], Tolerance)
Tries to find where this edge crosses a circle, within a tolerance.
- TryIntersectWith(GeoEdge3, out GeoPoint3[])
Tries to find where this edge crosses another edge.
- TryIntersectWith(GeoEdge3, out GeoPoint3[], Tolerance)
Tries to find where this edge crosses another edge, within a tolerance.
- TryIntersectWith(GeoLine3, out GeoPoint3[])
Tries to find where this edge crosses a segment.
- TryIntersectWith(GeoLine3, out GeoPoint3[], Tolerance)
Tries to find where this edge crosses a segment, within a tolerance.
- TryIntersectWith(GeoRay3, out GeoPoint3[])
Tries to find where this edge crosses a ray.
- TryIntersectWith(GeoRay3, out GeoPoint3[], Tolerance)
Tries to find where this edge crosses a ray, within a tolerance.
- TrySplitAtParameter(double, out GeoEdge3, out GeoEdge3)
Splits the edge at a point along it, when that point is neither of its ends.
- TryTrimTo(GeoPoint3, LineEnd, out GeoEdge3)
Shortens the edge at one end back to a point on it.
- TryTrimTo(GeoPoint3, LineEnd, out GeoEdge3, Tolerance)
Shortens the edge at one end back to a point on it, within a tolerance.
Operators
- operator ==(GeoEdge3, GeoEdge3)
Determines whether two edges are the same.
- operator !=(GeoEdge3, GeoEdge3)
Determines whether two edges differ.