# Triangle struct

Namespace: [Grasshopper2.Types.Shapes](https://developer.rhino3d.com/api/gh2/namespace/grasshopper2.types.shapes.md) · Assembly: [Grasshopper2](https://developer.rhino3d.com/api/gh2/assembly/grasshopper2.md)

```cs
[IoId("00000000-477c-4231-b679-ad5443c33551")]
public readonly struct Triangle : IStorable
```

A 3D triangle defined by corner points.

## Constructors

- [Triangle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/ctor.md): (2 overloads)

## Properties

- [A](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/a.md): Gets the first triangle corner.
- [AB](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/ab.md): Gets the triangle edge connecting the A and B corners.
- [AltitudeA](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/altitudea.md): Gets the altitude line starting at corner A.
- [AltitudeB](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/altitudeb.md): Gets the altitude line starting at corner B.
- [AltitudeC](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/altitudec.md): Gets the altitude line starting at corner C.
- [AngleA](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/anglea.md): Gets the angle at the A corner.
- [AngleB](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/angleb.md): Gets the angle at the B corner.
- [AngleC](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/anglec.md): Gets the angle at the C corner.
- [Area](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/area.md): Gets the area inside this triangle.
- [AreaCentre](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/areacentre.md): Gets the triangle area centroid.
- [B](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/b.md): Gets the second triangle corner.
- [BC](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/bc.md): Gets the triangle edge connecting the B and C corners.
- [BisectorA](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/bisectora.md): Gets the bisector line starting at corner A.
- [BisectorB](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/bisectorb.md): Gets the bisector line starting at corner B.
- [BisectorC](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/bisectorc.md): Gets the bisector line starting at corner C.
- [BoundingBox](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/boundingbox.md): Gets the bounding box of this triangle.
- [C](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/c.md): Gets the third triangle corner.
- [CA](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/ca.md): Gets the triangle edge connecting the C and A corners.
- [CircumCentre](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/circumcentre.md): Gets the triangle circumcentre.
- [CircumCircle](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/circumcircle.md): Gets the circumcircle of this triangle.
- [InCentre](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/incentre.md): Gets the triangle incentre.
- [IsAcute](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/isacute.md): Gets whether the triangle is acute, i.e. whether all angles are less than 90 degrees.
- [IsDegenerate](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/isdegenerate.md): Gets whether a triangle is degenerate, i.e. whether two or more points are coincident, or whether one of the corners is coincident with the opposite edge.
- [IsEquilateral](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/isequilateral.md): Gets whether a triangle is equilateral, i.e. whether all edges have the same length.
- [IsIsosceles](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/isisosceles.md): Gets whether a triangle is isosceles, i.e. whether two edges have the same length.
- [IsObtuse](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/isobtuse.md): Gets whether the triangle is obtuse, i.e. whether one angle exceeds 90 degrees.
- [IsRight](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/isright.md): Gets whether the triangle is right-angled, i.e. whether one angle equals 90 degrees.
- [IsScalene](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/isscalene.md): Gets whether a triangle is scalene, i.e. whether all edges have different lengths.
- [IsValid](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/isvalid.md): Gets whether all the corner points are valid. Degenerate triangles are not considered invalid.
- [MedianA](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/mediana.md): Gets the median line starting at corner A.
- [MedianB](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/medianb.md): Gets the median line starting at corner B.
- [MedianC](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/medianc.md): Gets the median line starting at corner C.
- [OrthoCentre](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/orthocentre.md): Gets the triangle orthocentre.
- [Perimeter](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/perimeter.md): Gets the perimeter (or circumference) of this triangle.
- [PerpendicularAB](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/perpendicularab.md): Gets the perpendicular bisector for edge AB.
- [PerpendicularBC](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/perpendicularbc.md): Gets the perpendicular bisector for edge BC.
- [PerpendicularCA](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/perpendicularca.md): Gets the perpendicular bisector for edge CA.
- [Unset](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/unset.md): (static) Gets a triangle with unset points.

## Methods

- [AppendToMesh](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/appendtomesh.md): Append this triangle to an existing mesh.
- [ClosestBarycentricParameters](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/closestbarycentricparameters.md): Gets the projection of a point onto the barycentric coordinates.
- [ClosestParameterOnBoundary](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/closestparameteronboundary.md): Gets the parameter on the triangle boundary closest to a test point.
- [ClosestParameterOnInterior](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/closestparameteroninterior.md): Gets the axial parameters on the triangle interior which are closest to a test point.
- [ClosestPointOnBoundary](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/closestpointonboundary.md): Gets the point on the triangle boundary closest to a test point.
- [ClosestPointOnInterior](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/closestpointoninterior.md): Gets the point on the triangle interior or boundary closest to a test point.
- [Offset](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/offset.md): Offset this triangle by a specific amount.
- [PointAlongBoundary](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/pointalongboundary.md): Gets the point along the boundary of the triangle. The triangle boundary has a domain [0, 3] where each subsequent unit domain maps to a different edge.
- [PointAtBarycentric](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/pointatbarycentric.md): Gets a point within this triangle using barycentric coordinates.
- [PointAtTrilinear](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/pointattrilinear.md): Gets a point within this triangle using trilinear coordinates.
- [PointOnInterior](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/pointoninterior.md): Gets the point on the triangle using the AB and AC primary axes.
- [Store](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/store.md)
- [ToMesh](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/tomesh.md): Create a mesh from this triangle.
- [ToPolyline](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/topolyline.md): Create a polyline from this triangle.
- [ToRounded](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/torounded.md): Create a triagle curve with filleted corners.
- [Transform](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/transform.md): Transform this triangle.
- [WithA](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/witha.md): Replace the A corner.
- [WithB](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/withb.md): Replace the B corner.
- [WithC](https://developer.rhino3d.com/api/gh2/type/grasshopper2.types.shapes.triangle/withc.md): Replace the C corner.
