private int LongestShortestEdge(double aodist, double dadist, double dodist)
{
// 123: shortest: aodist // 213: shortest: dadist // 312: shortest: dodist
// middle: dadist // middle: aodist // middle: aodist
// longest: dodist // longest: dodist // longest: dadist
// 132: shortest: aodist // 231: shortest: dadist // 321: shortest: dodist
// middle: dodist // middle: dodist // middle: dadist
// longest: dadist // longest: aodist // longest: aodist
int max = 0, min = 0, mid = 0, minMidMax;
if (dodist < aodist && dodist < dadist)
{
min = 3; // apex is the smallest angle, dodist is the longest edge
if (aodist < dadist)
{
max = 2; // dadist is the longest edge
mid = 1; // aodist is the middle longest edge
}
else
{
max = 1; // aodist is the longest edge
mid = 2; // dadist is the middle longest edge
}
}
else if (aodist < dadist)
{
min = 1; // dest is the smallest angle, aodist is the biggest edge
if (dodist < dadist)
{
max = 2; // dadist is the longest edge
mid = 3; // dodist is the middle longest edge
}
else
{
max = 3; // dodist is the longest edge
mid = 2; // dadist is the middle longest edge
}
}
else
{
min = 2; // origin is the smallest angle, dadist is the biggest edge
if (aodist < dodist)
{
max = 3; // dodist is the longest edge
mid = 1; // aodist is the middle longest edge
}
else
{
max = 1; // aodist is the longest edge
mid = 3; // dodist is the middle longest edge
}
}
minMidMax = min * 100 + mid * 10 + max;
// HANDLE ISOSCELES TRIANGLE CASE
return minMidMax;
}