Vertex& Triangle::GetVertex(UINT VertexIndex)
{
Assert(VertexIndex < 3, "Triangle::GetVertex invalid vertex index.");
return *(_Vertices[VertexIndex]);
}
const Vertex& Triangle::GetVertex(UINT VertexIndex) const
{
Assert(VertexIndex < 3, "Triangle::GetVertex invalid vertex index.");
return *(_Vertices[VertexIndex]);
}
HalfEdge& Triangle::GetHalfEdge(UINT EdgeIndex)
{
Assert(EdgeIndex < 3, "Triangle::GetHalfEdge invalid vertex index.");
return *(_HalfEdges[EdgeIndex]);
}
const HalfEdge& Triangle::GetHalfEdge(UINT EdgeIndex) const
{
Assert(EdgeIndex < 3, "Triangle::GetHalfEdge invalid vertex index.");
return *(_HalfEdges[EdgeIndex]);
}
FullEdge& Triangle::GetFullEdge(UINT EdgeIndex)
{
Assert(EdgeIndex < 3, "Triangle::GetHalfEdge invalid edge index.");
return _HalfEdges[EdgeIndex]->AcrossEdge();
}
const FullEdge& Triangle::GetFullEdge(UINT EdgeIndex) const
{
Assert(EdgeIndex < 3, "Triangle::GetHalfEdge invalid edge index.");
return _HalfEdges[EdgeIndex]->AcrossEdge();
}
Triangle& Triangle::GetNeighboringTriangle(UINT TriangleIndex)
{
Assert(TriangleIndex < 3, "Triangle::GetNeighboringTriangle invalid triangle index.");
return _HalfEdges[TriangleIndex]->AcrossEdge().GetOtherTriangle(*this);
}
const Triangle& Triangle::GetNeighboringTriangle(UINT TriangleIndex) const
{
Assert(TriangleIndex < 3, "Triangle::GetNeighboringTriangle invalid triangle index.");
return _HalfEdges[TriangleIndex]->AcrossEdge().GetOtherTriangle(*this);
}
UINT Triangle::Index() const
{
return _Index;
}