Struct GeoLine3
- Namespace
- GeometryHelper.Geometry
- Assembly
- GeometryHelper.dll
Whether a segment touches another shape.
public readonly struct GeoLine3 : IEquatable<GeoLine3>
- Implements
- Inherited Members
- Extension Methods
Constructors
- GeoLine3(GeoPoint3, GeoPoint3)
Initializes a new line segment from its endpoints.
- GeoLine3(double, double, double, double, double, double)
Initializes a new line segment from the coordinates of its endpoints.
Properties
- Direction
Gets the vector pointing from the start point to the end point. Its length is the length of the segment.
- EndPoint
Gets the end point of the line segment.
- IsValid
Gets whether this is a shape a constructor could have made: both ends are valid points.
- Length
Gets the length of the line segment.
- LengthSquared
Gets the squared length of the line segment.
- MidPoint
Gets the midpoint of the line segment.
- StartPoint
Gets the start point of the line segment.
Methods
- Clone()
Creates a copy of this line segment.
- CollidesWith(GeoAabb3)
Checks whether this segment touches an axis-aligned box, using the default tolerance.
- CollidesWith(GeoAabb3, Tolerance)
Checks whether this segment touches an axis-aligned box, within a tolerance.
- CollidesWith(GeoArc3)
Checks whether this segment touches an arc, using the default tolerance.
- CollidesWith(GeoArc3, Tolerance)
Checks whether this segment touches an arc, within a tolerance.
- CollidesWith(GeoCircle3)
Checks whether this segment touches a circle, using the default tolerance.
- CollidesWith(GeoCircle3, Tolerance)
Checks whether this segment touches a circle, within a tolerance.
- CollidesWith(GeoFace3)
Checks whether this segment touches a face, using the default tolerance.
- CollidesWith(GeoFace3, Tolerance)
Checks whether this segment touches a face, within a tolerance.
- CollidesWith(GeoLine3)
Determines whether this segment touches a segment.
- CollidesWith(GeoLine3, Tolerance)
Determines whether this segment touches a segment, within a tolerance.
- CollidesWith(GeoObb3)
Checks whether this segment touches an oriented box, using the default tolerance.
- CollidesWith(GeoObb3, Tolerance)
Checks whether this segment touches an oriented box, within a tolerance.
- CollidesWith(GeoPlane3)
Checks whether this segment touches a plane, using the default tolerance.
- CollidesWith(GeoPlane3, Tolerance)
Checks whether this segment touches a plane, within a tolerance.
- CollidesWith(GeoPolygon3)
Checks whether this segment touches a polygon, using the default tolerance.
- CollidesWith(GeoPolygon3, Tolerance)
Checks whether this segment touches a polygon, within a tolerance.
- CollidesWith(GeoRay3)
Determines whether this segment touches a ray.
- CollidesWith(GeoRay3, Tolerance)
Determines whether this segment touches a ray, within a tolerance.
- CollidesWith(GeoSolid3)
Checks whether this segment touches a solid, using the default tolerance.
- CollidesWith(GeoSolid3, Tolerance)
Checks whether this segment touches a solid, within a tolerance.
- CollidesWith(GeoTriangle3)
Checks whether this segment touches a triangle, using the default tolerance.
- CollidesWith(GeoTriangle3, Tolerance)
Checks whether this segment touches a triangle, within a tolerance.
- DistanceTo(GeoLine3)
Calculates the shortest distance between this segment and another segment.
- DistanceTo(GeoPlane3)
Calculates the shortest distance between this segment and a plane.
- DistanceTo(GeoPoint3)
Calculates the shortest distance from this segment to a point.
- DistanceTo(GeoPolygon3)
Calculates the shortest distance between this segment and a polygon.
- DistanceTo(GeoPolyline3)
Gets the distance from this segment to a polyline, using the default tolerance.
- DistanceTo(GeoPolyline3, Tolerance)
Gets the distance from this segment to a polyline, within a tolerance.
- DistanceTo(GeoRay3)
Calculates the shortest distance between this segment and a ray.
- DistanceTo(GeoSolid3)
Calculates the shortest distance between this segment and a solid. A segment reaching into the body is at distance zero.
- DistanceTo(GeoTriangle3)
Calculates the shortest distance between this segment and a triangle.
- Equals(GeoLine3)
Determines whether another segment has exactly the same endpoints, in the same order.
- Equals(object)
Determines whether the specified object is equal to the current segment.
- Extend(double, LineEnd)
Lengthens one end of this segment by a distance, using the default tolerance. A negative distance shortens it. See Lengthen3.
- Extend(double, LineEnd, Tolerance)
Lengthens one end of this segment by a distance, within a tolerance. A negative distance shortens it.
- Extend(double, double)
Lengthens both ends of this segment, each by its own distance, using the default tolerance. A negative distance shortens that end.
- Extend(double, double, Tolerance)
Lengthens both ends of this segment, each by its own distance, within a tolerance. A negative distance shortens that end.
- ExtendToLength(double, LineEnd)
Moves one end of this segment so that it measures a given length, using the default tolerance.
- ExtendToLength(double, LineEnd, Tolerance)
Moves one end of this segment so that it measures a given length, within a tolerance.
- GetAabb()
Gets the axis-aligned bounding box enclosing this segment.
- GetClosestPointOnBoundary(GeoPoint3)
Gets the closest point on this segment to a target point, clamped to the endpoints.
- GetDistanceAtParameter(double)
Gets the arc length from the start point to a normalized parameter.
- GetDistanceAtPoint(GeoPoint3)
Gets the arc length from the start point to the point on this segment closest to the supplied point.
- GetHashCode()
Returns the hash code for this instance.
- GetIntersection(GeoLine3)
Gets the single point where this segment meets another, or null where they do not meet, using the default tolerance.
- GetIntersection(GeoLine3, LineExtension)
Gets the single point where this segment meets another, reading either of them as the infinite line carrying it, or null where they still do not meet, using the default tolerance.
- GetIntersection(GeoLine3, LineExtension, Tolerance)
Gets the single point where this segment meets another, reading either of them as the infinite line carrying it, or null where they still do not meet, within a tolerance.
- GetIntersection(GeoLine3, Tolerance)
Gets the single point where this segment meets another, or null where they do not meet, within a tolerance.
- GetIntersections(GeoAabb3)
Gets every point where this segment crosses the surface of an axis-aligned box, using the default tolerance.
- GetIntersections(GeoAabb3, Tolerance)
Gets every point where this segment crosses the surface of an axis-aligned box, within a tolerance.
- GetIntersections(GeoArc3)
Gets every point where an arc crosses this segment, using the default tolerance.
- GetIntersections(GeoArc3, Tolerance)
Gets every point where an arc crosses this segment, within a tolerance.
- GetIntersections(GeoCircle3)
Gets every point where a circle crosses this segment, using the default tolerance.
- GetIntersections(GeoCircle3, Tolerance)
Gets every point where a circle crosses this segment, within a tolerance.
- GetIntersections(GeoFace3)
Gets every point where this segment crosses a face.
- GetIntersections(GeoFace3, Tolerance)
Gets every point where this segment crosses a face, within a tolerance.
- GetIntersections(GeoLine3)
Gets where this segment crosses a segment, as a list.
- GetIntersections(GeoLine3, Tolerance)
Gets where this segment crosses a segment, as a list, within a tolerance.
- GetIntersections(GeoObb3)
Gets every point where this segment crosses the surface of an oriented box, using the default tolerance.
- GetIntersections(GeoObb3, Tolerance)
Gets every point where this segment crosses the surface of an oriented box, within a tolerance.
- GetIntersections(GeoPlane3)
Gets every point where this segment crosses a plane.
- GetIntersections(GeoPlane3, Tolerance)
Gets every point where this segment crosses a plane, within a tolerance.
- GetIntersections(GeoPolygon3)
Gets every point where this segment crosses a polygon.
- GetIntersections(GeoPolygon3, Tolerance)
Gets every point where this segment crosses a polygon, within a tolerance.
- GetIntersections(GeoRay3)
Gets where this segment crosses a ray, as a list.
- GetIntersections(GeoRay3, Tolerance)
Gets where this segment crosses a ray, as a list, within a tolerance.
- GetIntersections(GeoSolid3)
Gets every point where this segment crosses the surface of a solid, using the default tolerance.
- GetIntersections(GeoSolid3, Tolerance)
Gets every point where this segment crosses the surface of a solid, within a tolerance.
- GetIntersections(GeoTriangle3)
Gets every point where this segment crosses a triangle.
- GetIntersections(GeoTriangle3, Tolerance)
Gets every point where this segment crosses a triangle, within a tolerance.
- GetParameterAtDistance(double)
Gets the normalized parameter at an arc length measured from the start point.
- GetParameterAtPoint(GeoPoint3)
Gets the normalized parameter of the point on the infinite line carrying this segment that is closest to the supplied point. The point need not lie on the segment, so the result may fall outside [0, 1].
- GetPlaneWith(GeoVector3)
Gets the infinite plane through this segment carrying a given in-plane direction.
- GetPointAtDistance(double)
Gets the point at an arc length measured from the start point.
- GetPointAtParameter(double)
Gets the point at a normalized parameter along the segment. 0 is the start point and 1 the end point; values outside that range extrapolate along the infinite line carrying the segment.
- GetShortestLineTo(GeoLine3)
Finds the shortest segment connecting a point on this segment to a point on another segment, using the default tolerance.
- GetShortestLineTo(GeoLine3, LineExtension)
Finds the shortest segment connecting this segment and another, reading this one, the other or both as the infinite line carrying it, using the default tolerance. With Both this is Tekla's
Intersection.LineToLine.
- GetShortestLineTo(GeoLine3, LineExtension, Tolerance)
Finds the shortest segment connecting this segment and another, reading this one, the other or both as the infinite line carrying it, within a tolerance.
- GetShortestLineTo(GeoLine3, Tolerance)
Finds the shortest segment connecting a point on this segment to a point on another segment, within a tolerance.
- GetShortestLineTo(GeoRay3)
Gets the shortest segment joining this one to a ray, using the default tolerance.
- GetShortestLineTo(GeoRay3, Tolerance)
Gets the shortest segment joining this one to a ray, within a tolerance.
- GetShortestLineTo(GeoSolid3)
Gets the shortest segment joining this one to a solid, using the default tolerance.
- GetShortestLineTo(GeoSolid3, Tolerance)
Gets the shortest segment joining this one to a solid, within a tolerance.
- GetShortestLineTo(GeoTriangle3)
Gets the shortest segment joining this one to a triangle, using the default tolerance.
- GetShortestLineTo(GeoTriangle3, Tolerance)
Gets the shortest segment joining this one to a triangle, within a tolerance.
- IsCoplanarWith(GeoLine3)
Checks whether this segment and another segment lie on a common plane, using the default tolerance.
- IsCoplanarWith(GeoLine3, Tolerance)
Checks whether this segment and another segment lie on a common plane, within a tolerance.
- IsDegenerate()
Checks whether the segment is shorter than the default tolerance, so it has no usable direction.
- IsDegenerate(Tolerance)
Checks whether the segment is shorter than a tolerance, so it has no usable direction.
- IsEqualTo(GeoLine3)
Compares whether this segment equals another segment using the default tolerance, ignoring which way round the endpoints are given.
- IsEqualTo(GeoLine3, Tolerance)
Compares whether this segment equals another segment within a tolerance, ignoring which way round the endpoints are given.
- IsParallelTo(GeoLine3)
Checks whether this segment is parallel to another segment using the default tolerance.
- IsParallelTo(GeoLine3, Tolerance)
Checks whether this segment is parallel to another segment within a tolerance.
- IsParallelTo(GeoPlane3)
Checks whether this segment runs parallel to a plane using the default tolerance.
- IsParallelTo(GeoPlane3, Tolerance)
Checks whether this segment runs parallel to a plane within a tolerance.
- IsPerpendicularTo(GeoLine3)
Checks whether this segment is perpendicular to another segment using the default tolerance.
- IsPerpendicularTo(GeoLine3, Tolerance)
Checks whether this segment is perpendicular to another segment within a tolerance.
- IsPointOn(GeoPoint3)
Checks whether a point lies on this segment using the default tolerance.
- IsPointOn(GeoPoint3, Tolerance)
Checks whether a point lies on this segment within a tolerance.
- Locate(GeoPoint3)
Says where a point lies with respect to this segment.
- Locate(GeoPoint3, Tolerance)
Says where a point lies with respect to this segment, within a tolerance.
- Offset(double, GeoVector3)
Gets the segment parallel to this one at a distance towards a direction, using the default tolerance.
- Offset(double, GeoVector3, Tolerance)
Gets the segment parallel to this one at a distance towards a direction, within a tolerance.
- Offset(double, double, GeoVector3)
Gets the segment parallel to this one, moved sideways and upward in the frame an up direction fixes for it, using the default tolerance.
- Offset(double, double, GeoVector3, Tolerance)
Gets the segment parallel to this one, moved sideways and upward in the frame an up direction fixes for it, within a tolerance.
- OffsetInPlane(double, GeoVector3)
Gets the segment parallel to this one at a distance to its left within a plane, using the default tolerance. See Offset3.
- OffsetInPlane(double, GeoVector3, Tolerance)
Gets the segment parallel to this one at a distance to its left within a plane, within a tolerance.
- OffsetThrough(GeoPoint3)
Gets the segment parallel to this one that passes through a point, using the default tolerance.
- OffsetThrough(GeoPoint3, Tolerance)
Gets the segment parallel to this one that passes through a point, within a tolerance.
- ProjectToLine2(GeoCoordinateSystem3)
Lays this segment out in a frame, dropping each end's distance from the plane of that frame.
- Reverse()
Gets the line segment running the other way.
- SplitAtDistances(IEnumerable<double>)
Splits this segment at several arc lengths at once, using the default tolerance.
- SplitAtDistances(IEnumerable<double>, Tolerance)
Splits this segment at several arc lengths at once, within a tolerance.
- ToString()
Returns a string that represents the current line segment.
- TransformBy(GeoTransform3)
Applies a transformation to this segment.
- Translate(GeoVector3)
Moves the line segment by a vector.
- TryExtendTo(GeoFace3, LineEnd, out GeoLine3)
Extends one end of this segment until it meets a face, using the default tolerance.
- TryExtendTo(GeoFace3, LineEnd, out GeoLine3, Tolerance)
Extends one end of this segment until it meets a face, within a tolerance.
- TryExtendTo(GeoLine3, LineEnd, out GeoLine3)
Extends one end of this segment until it meets another segment, using the default tolerance.
- TryExtendTo(GeoLine3, LineEnd, out GeoLine3, Tolerance)
Extends one end of this segment until it meets another segment, within a tolerance.
- TryExtendTo(GeoPlane3, LineEnd, out GeoLine3)
Extends one end of this segment until it pierces a plane, using the default tolerance.
- TryExtendTo(GeoPlane3, LineEnd, out GeoLine3, Tolerance)
Extends one end of this segment until it pierces a plane, within a tolerance.
- TryExtendTo(GeoPoint3, LineEnd, out GeoLine3)
Extends one end of this segment to the foot of the perpendicular from a point, using the default tolerance.
- TryExtendTo(GeoPoint3, LineEnd, out GeoLine3, Tolerance)
Extends one end of this segment to the foot of the perpendicular from a point, within a tolerance.
- TryExtendTo(GeoPolygon3, LineEnd, out GeoLine3)
Extends one end of this segment until it meets a polygon, using the default tolerance.
- TryExtendTo(GeoPolygon3, LineEnd, out GeoLine3, Tolerance)
Extends one end of this segment until it meets a polygon, within a tolerance.
- TryExtendTo(GeoSolid3, LineEnd, out GeoLine3)
Extends one end of this segment until it meets the surface of a solid, using the default tolerance.
- TryExtendTo(GeoSolid3, LineEnd, out GeoLine3, Tolerance)
Extends one end of this segment until it meets the surface of a solid, within a tolerance.
- TryIntersectWith(GeoArc3, out GeoPoint3[])
Tries to find where an arc crosses this segment, using the default tolerance.
- TryIntersectWith(GeoArc3, out GeoPoint3[], Tolerance)
Tries to find where an arc crosses this segment, within a tolerance.
- TryIntersectWith(GeoCircle3, out GeoPoint3[])
Tries to find where a circle crosses this segment, using the default tolerance.
- TryIntersectWith(GeoCircle3, out GeoPoint3[], Tolerance)
Tries to find where a circle crosses this segment, within a tolerance.
- TryIntersectWith(GeoFace3, out GeoPoint3)
Tries to find the point where this segment crosses a face, using the default tolerance.
- TryIntersectWith(GeoFace3, out GeoPoint3, Tolerance)
Tries to find the point where this segment crosses a face, within a tolerance.
- TryIntersectWith(GeoLine3, LineExtension, out GeoPoint3)
Tries to find the single point where this segment meets another, reading this one, the other or both as the infinite line carrying it, using the default tolerance.
- TryIntersectWith(GeoLine3, LineExtension, out GeoPoint3, Tolerance)
Tries to find the single point where this segment meets another, reading this one, the other or both as the infinite line carrying it, within a tolerance.
- TryIntersectWith(GeoLine3, out GeoPoint3)
Tries to find the single point where this segment meets another segment, using the default tolerance.
- TryIntersectWith(GeoLine3, out GeoPoint3, Tolerance)
Tries to find the single point where this segment meets another segment, within a tolerance.
- TryIntersectWith(GeoPlane3, out GeoPoint3)
Tries to find the point where this segment crosses a plane, using the default tolerance.
- TryIntersectWith(GeoPlane3, out GeoPoint3, Tolerance)
Tries to find the point where this segment crosses a plane, within a tolerance.
- TryIntersectWith(GeoPolygon3, out GeoPoint3)
Tries to find the point where this segment crosses a polygon, using the default tolerance.
- TryIntersectWith(GeoPolygon3, out GeoPoint3, Tolerance)
Tries to find the point where this segment crosses a polygon, within a tolerance.
- TryIntersectWith(GeoRay3, out GeoPoint3[])
Tries to find where this segment crosses a ray.
- TryIntersectWith(GeoRay3, out GeoPoint3[], Tolerance)
Tries to find where this segment crosses a ray, within a tolerance.
- TryIntersectWith(GeoTriangle3, out GeoPoint3)
Tries to find the point where this segment crosses a triangle, using the default tolerance.
- TryIntersectWith(GeoTriangle3, out GeoPoint3, Tolerance)
Tries to find the point where this segment crosses a triangle, within a tolerance.
- TrySplitAtDistance(double, out GeoLine3[])
Splits this segment at an arc length from its start, using the default tolerance.
- TrySplitAtDistance(double, out GeoLine3[], Tolerance)
Splits this segment at an arc length from its start, within a tolerance.
- TrySplitBy(GeoAabb3, out GeoLine3[], out GeoLine3[])
Splits this segment by an axis-aligned box, using the default tolerance.
- TrySplitBy(GeoAabb3, out GeoLine3[], out GeoLine3[], Tolerance)
Splits this segment by an axis-aligned box, within a tolerance.
- TrySplitBy(GeoAabb3[], out GeoLine3[], out GeoLine3[])
Splits this segment by several axis-aligned boxes taken together as their union, using the default tolerance.
- TrySplitBy(GeoAabb3[], out GeoLine3[], out GeoLine3[], Tolerance)
Splits this segment by several axis-aligned boxes taken together as their union, within a tolerance.
- TrySplitBy(GeoFace3, out GeoLine3[])
Splits this segment wherever it passes through a face, using the default tolerance.
- TrySplitBy(GeoFace3, out GeoLine3[], Tolerance)
Splits this segment wherever it passes through a face, within a tolerance.
- TrySplitBy(GeoObb3, out GeoLine3[], out GeoLine3[])
Splits this segment by an oriented box, using the default tolerance.
- TrySplitBy(GeoObb3, out GeoLine3[], out GeoLine3[], Tolerance)
Splits this segment by an oriented box, within a tolerance.
- TrySplitBy(GeoObb3[], out GeoLine3[], out GeoLine3[])
Splits this segment by several oriented boxes taken together as their union, using the default tolerance.
- TrySplitBy(GeoObb3[], out GeoLine3[], out GeoLine3[], Tolerance)
Splits this segment by several oriented boxes taken together as their union, within a tolerance.
- TrySplitBy(GeoPlane3, out GeoLine3[])
Splits this segment where a plane crosses it, using the default tolerance.
- TrySplitBy(GeoPlane3, out GeoLine3[], out GeoLine3[])
Splits this segment by a plane and sorts the pieces by side, using the default tolerance.
- TrySplitBy(GeoPlane3, out GeoLine3[], out GeoLine3[], Tolerance)
Splits this segment by a plane and sorts the pieces by side, within a tolerance.
- TrySplitBy(GeoPlane3, out GeoLine3[], Tolerance)
Splits this segment where a plane crosses it, within a tolerance.
- TrySplitBy(GeoPoint3, out GeoLine3[])
Splits this segment at a point on it, using the default tolerance.
- TrySplitBy(GeoPoint3, out GeoLine3[], Tolerance)
Splits this segment at a point on it, within a tolerance.
- TrySplitBy(GeoPolygon3, out GeoLine3[])
Splits this segment wherever it passes through a polygon, using the default tolerance.
- TrySplitBy(GeoPolygon3, out GeoLine3[], Tolerance)
Splits this segment wherever it passes through a polygon, within a tolerance.
- TrySplitBy(GeoSolid3, out GeoLine3[], out GeoLine3[])
Splits this segment by a solid, sorting the pieces into those inside it and those outside, using the default tolerance.
- TrySplitBy(GeoSolid3, out GeoLine3[], out GeoLine3[], Tolerance)
Splits this segment by a solid, within a tolerance.
- TrySplitBy(GeoSolid3[], out GeoLine3[], out GeoLine3[])
Splits this segment by several solids taken together as their union, using the default tolerance.
- TrySplitBy(GeoSolid3[], out GeoLine3[], out GeoLine3[], Tolerance)
Splits this segment by several solids taken together as their union, within a tolerance.
- TryTrimExtendToCorner(GeoLine3, out GeoLine3, out GeoLine3)
Trims or extends this segment and another so that they meet in a corner, using the default tolerance.
- TryTrimExtendToCorner(GeoLine3, out GeoLine3, out GeoLine3, Tolerance)
Trims or extends this segment and another so that they meet in a corner, within a tolerance.
- TryTrimTo(GeoFace3, LineEnd, out GeoLine3)
Trims one end of this segment back to the nearest place it meets a face, using the default tolerance.
- TryTrimTo(GeoFace3, LineEnd, out GeoLine3, Tolerance)
Trims one end of this segment back to the nearest place it meets a face, within a tolerance.
- TryTrimTo(GeoLine3, LineEnd, out GeoLine3)
Trims one end of this segment back to where another segment crosses it, using the default tolerance.
- TryTrimTo(GeoLine3, LineEnd, out GeoLine3, Tolerance)
Trims one end of this segment back to where another segment crosses it, within a tolerance.
- TryTrimTo(GeoPlane3, LineEnd, out GeoLine3)
Trims one end of this segment back to where it pierces a plane, using the default tolerance.
- TryTrimTo(GeoPlane3, LineEnd, out GeoLine3, Tolerance)
Trims one end of this segment back to where it pierces a plane, within a tolerance.
- TryTrimTo(GeoPoint3, LineEnd, out GeoLine3)
Trims one end of this segment back to the foot of the perpendicular from a point, using the default tolerance.
- TryTrimTo(GeoPoint3, LineEnd, out GeoLine3, Tolerance)
Trims one end of this segment back to the foot of the perpendicular from a point, within a tolerance.
- TryTrimTo(GeoPolygon3, LineEnd, out GeoLine3)
Trims one end of this segment back to the nearest place it meets a polygon, using the default tolerance.
- TryTrimTo(GeoPolygon3, LineEnd, out GeoLine3, Tolerance)
Trims one end of this segment back to the nearest place it meets a polygon, within a tolerance.
- TryTrimTo(GeoSolid3, LineEnd, out GeoLine3)
Trims one end of this segment back to the nearest place it meets the surface of a solid, using the default tolerance.
- TryTrimTo(GeoSolid3, LineEnd, out GeoLine3, Tolerance)
Trims one end of this segment back to the nearest place it meets the surface of a solid, within a tolerance.
Operators
- operator ==(GeoLine3, GeoLine3)
Checks if two segments have exactly the same endpoints, in the same order.
- operator !=(GeoLine3, GeoLine3)
Checks if two segments differ in either endpoint.