Table of Contents

Struct GeoTriangle3

Namespace
GeometryHelper.Geometry
Assembly
GeometryHelper.dll

Whether a triangle touches another shape.

public readonly struct GeoTriangle3 : IEquatable<GeoTriangle3>
Implements
Inherited Members

Constructors

GeoTriangle3(GeoPoint3, GeoPoint3, GeoPoint3)

Initializes a new triangle from three vertices.

Properties

A

Gets the first vertex.

Area

Gets the area of the triangle.

B

Gets the second vertex.

C

Gets the third vertex.

Centroid

Gets the centroid of the triangle.

IsValid

Gets whether this is a shape a constructor could have made: every corner is a valid point.

this[int]

Gets the vertex at a given index, counted from zero.

Normal

Gets the unit normal of the triangle, following the right-hand rule around A, B, C.

Perimeter

Gets the perimeter of the triangle.

Methods

Clone()

Creates a copy of this triangle.

CollidesWith(GeoArc3)

Checks whether this triangle touches an arc, using the default tolerance.

CollidesWith(GeoArc3, Tolerance)

Checks whether this triangle touches an arc, within a tolerance.

CollidesWith(GeoCircle3)

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

CollidesWith(GeoCircle3, Tolerance)

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

CollidesWith(GeoEdge3)

Checks whether this triangle touches an edge.

CollidesWith(GeoEdge3, Tolerance)

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

CollidesWith(GeoLine3)

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

CollidesWith(GeoLine3, Tolerance)

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

CollidesWith(GeoPolygonArc3)

Checks whether this triangle touches a curved loop.

CollidesWith(GeoPolygonArc3, Tolerance)

Checks whether this triangle touches a curved loop, within a tolerance.

CollidesWith(GeoPolylineArc3)

Checks whether this triangle touches a curved chain.

CollidesWith(GeoPolylineArc3, Tolerance)

Checks whether this triangle touches a curved chain, within a tolerance.

CollidesWith(GeoRay3)

Checks whether a ray runs into this triangle, using the default tolerance.

CollidesWith(GeoRay3, Tolerance)

Checks whether a ray runs into this triangle, within a tolerance.

CollidesWith(GeoTriangle3)

Checks whether this triangle touches another triangle, using the default tolerance.

CollidesWith(GeoTriangle3, Tolerance)

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

Contains(GeoPoint3)

Checks whether a point lies inside this triangle or on its edges, using the default tolerance.

Contains(GeoPoint3, Tolerance)

Checks whether a point lies inside this triangle or on its edges, within a tolerance.

DistanceTo(GeoLine3)

Gets the distance from this triangle to a segment, using the default tolerance.

DistanceTo(GeoLine3, Tolerance)

Gets the distance from this triangle to a segment, within a tolerance.

DistanceTo(GeoPoint3)

Calculates the shortest distance from this triangle to a point.

DistanceTo(GeoPolyline3)

Gets the distance from this triangle to a polyline, using the default tolerance.

DistanceTo(GeoPolyline3, Tolerance)

Gets the distance from this triangle to a polyline, within a tolerance.

DistanceTo(GeoRay3)

Gets the distance from this triangle to a ray, using the default tolerance.

DistanceTo(GeoRay3, Tolerance)

Gets the distance from this triangle to a ray, within a tolerance.

DistanceTo(GeoSolid3)

Gets the distance from this triangle to a solid, using the default tolerance.

DistanceTo(GeoSolid3, Tolerance)

Gets the distance from this triangle to a solid, within a tolerance.

DistanceTo(GeoTriangle3)

Gets the distance from this triangle to a triangle, using the default tolerance.

DistanceTo(GeoTriangle3, Tolerance)

Gets the distance from this triangle to a triangle, within a tolerance.

Equals(GeoTriangle3)

Determines whether another triangle has exactly the same vertices, in the same order.

Equals(object)

Determines whether the specified object is equal to the current triangle.

Flip()

Gets the triangle with its vertices in the opposite order, so its normal reverses.

GetAabb()

Gets the axis-aligned bounding box enclosing this triangle.

GetAreaVector()

Gets twice the area of the triangle as a vector normal to it, following the right-hand rule around A, B, C.

GetClosestPointOnBoundary(GeoPoint3)

Gets the closest point on this triangle to a target point.

GetEdgeAt(int)

Gets the edge at a given index: 0 is A to B, 1 is B to C, 2 is C to A.

GetHashCode()

Returns the hash code for this instance.

GetIntersections(GeoArc3)

Gets every point where an arc crosses this triangle, using the default tolerance.

GetIntersections(GeoArc3, Tolerance)

Gets every point where an arc crosses this triangle, within a tolerance.

GetIntersections(GeoCircle3)

Gets every point where a circle crosses this triangle, using the default tolerance.

GetIntersections(GeoCircle3, Tolerance)

Gets every point where a circle crosses this triangle, within a tolerance.

GetIntersections(GeoEdge3)

Gets every point where an edge crosses this triangle.

GetIntersections(GeoEdge3, Tolerance)

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

GetIntersections(GeoLine3)

Gets every point where a segment crosses this triangle.

GetIntersections(GeoLine3, Tolerance)

Gets every point where a segment crosses this triangle, within a tolerance.

GetIntersections(GeoPolygonArc3)

Gets every point where a curved loop crosses this triangle.

GetIntersections(GeoPolygonArc3, Tolerance)

Gets every point where a curved loop crosses this triangle, within a tolerance.

GetIntersections(GeoPolylineArc3)

Gets every point where a curved chain crosses this triangle.

GetIntersections(GeoPolylineArc3, Tolerance)

Gets every point where a curved chain crosses this triangle, within a tolerance.

GetPlane()

Gets the plane carrying the triangle.

GetPointAtBarycentric(double, double, double)

Gets the point at given barycentric coordinates.

GetShortestLineTo(GeoLine3)

Gets the shortest segment joining this triangle to a segment, using the default tolerance.

GetShortestLineTo(GeoLine3, Tolerance)

Gets the shortest segment joining this triangle to a segment, within a tolerance.

GetShortestLineTo(GeoRay3)

Gets the shortest segment joining this triangle to a ray, using the default tolerance.

GetShortestLineTo(GeoRay3, Tolerance)

Gets the shortest segment joining this triangle to a ray, within a tolerance.

GetShortestLineTo(GeoSolid3)

Gets the shortest segment joining this triangle to a solid, using the default tolerance.

GetShortestLineTo(GeoSolid3, Tolerance)

Gets the shortest segment joining this triangle to a solid, within a tolerance.

GetShortestLineTo(GeoTriangle3)

Gets the shortest segment joining this triangle to another, using the default tolerance.

GetShortestLineTo(GeoTriangle3, Tolerance)

Gets the shortest segment joining this triangle to another, within a tolerance.

IsDegenerate()

Checks whether the triangle has no area, using the default tolerance.

IsDegenerate(Tolerance)

Checks whether the triangle has no area, within a tolerance.

IsEqualTo(GeoTriangle3)

Compares whether this triangle equals another triangle using the default tolerance.

IsEqualTo(GeoTriangle3, Tolerance)

Compares whether this triangle equals another triangle within a tolerance.

Locate(GeoPoint3)

Locates a point relative to this triangle, using the default tolerance.

Locate(GeoPoint3, Tolerance)

Locates a point relative to this triangle, within a tolerance.

ProjectToTriangle2(GeoCoordinateSystem3)

Lays this triangle out in a frame, dropping each vertex's distance from the plane of that frame.

ToFace3()

Reads the triangle as a face with no holes in it.

ToFace3(Tolerance)

Reads the triangle as a face with no holes in it, within a tolerance.

ToPolygon3()

Reads the triangle as a three-sided polygon.

ToPolygon3(Tolerance)

Reads the triangle as a three-sided polygon, within a tolerance.

ToString()

Returns a string that represents the current triangle.

TransformBy(GeoTransform3)

Applies a transformation to this triangle.

Translate(GeoVector3)

Moves the triangle by a vector.

TryGetBarycentric(GeoPoint3, out double, out double, out double)

Gets the barycentric coordinates of a point with respect to this triangle.

TryIntersectWith(GeoArc3, out GeoPoint3[])

Tries to find where an arc crosses this triangle, using the default tolerance.

TryIntersectWith(GeoArc3, out GeoPoint3[], Tolerance)

Tries to find where an arc crosses this triangle, within a tolerance.

TryIntersectWith(GeoCircle3, out GeoPoint3[])

Tries to find where a circle crosses this triangle, using the default tolerance.

TryIntersectWith(GeoCircle3, out GeoPoint3[], Tolerance)

Tries to find where a circle crosses this triangle, within a tolerance.

TryIntersectWith(GeoLine3, out GeoPoint3)

Tries to find the point where a line segment crosses this triangle, using the default tolerance.

TryIntersectWith(GeoLine3, out GeoPoint3, Tolerance)

Tries to find the point where a line segment crosses this triangle, within a tolerance.

TryIntersectWith(GeoRay3, out GeoPoint3)

Tries to find the point where a ray crosses this triangle, using the default tolerance.

TryIntersectWith(GeoRay3, out GeoPoint3, Tolerance)

Tries to find the point where a ray crosses this triangle, within a tolerance.

Operators

operator ==(GeoTriangle3, GeoTriangle3)

Checks if two triangles have exactly the same vertices, in the same order.

operator !=(GeoTriangle3, GeoTriangle3)

Checks if two triangles differ in any vertex.