포매팅
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// Warning: Some assembly references could not be resolved automatically. This might lead to incorrect decompilation of some parts,
|
||||
// for ex. property getter/setter access. To get optimal decompilation results, please manually add the missing references to the list of loaded assemblies.
|
||||
// EdenAutoMorpherScript, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null
|
||||
// Eden.AutoMorpher.TriangleUtil
|
||||
@@ -6,52 +6,52 @@ using UnityEngine;
|
||||
|
||||
public class TriangleUtil
|
||||
{
|
||||
public Vector3 ClosestPointOnTriangle(Vector3 p, Vector3 a, Vector3 b, Vector3 c)
|
||||
{
|
||||
Vector3 vector = b - a;
|
||||
Vector3 vector2 = c - a;
|
||||
Vector3 rhs = p - a;
|
||||
float num = Vector3.Dot(vector, rhs);
|
||||
float num2 = Vector3.Dot(vector2, rhs);
|
||||
if (num <= 0f && num2 <= 0f)
|
||||
{
|
||||
return a;
|
||||
}
|
||||
Vector3 rhs2 = p - b;
|
||||
float num3 = Vector3.Dot(vector, rhs2);
|
||||
float num4 = Vector3.Dot(vector2, rhs2);
|
||||
if (num3 >= 0f && num4 <= num3)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
float num5 = num * num4 - num3 * num2;
|
||||
if (num5 <= 0f && num >= 0f && num3 <= 0f)
|
||||
{
|
||||
float num6 = num / (num - num3);
|
||||
return a + num6 * vector;
|
||||
}
|
||||
Vector3 rhs3 = p - c;
|
||||
float num7 = Vector3.Dot(vector, rhs3);
|
||||
float num8 = Vector3.Dot(vector2, rhs3);
|
||||
if (num8 >= 0f && num7 <= num8)
|
||||
{
|
||||
return c;
|
||||
}
|
||||
float num9 = num7 * num2 - num * num8;
|
||||
if (num9 <= 0f && num2 >= 0f && num8 <= 0f)
|
||||
{
|
||||
float num10 = num2 / (num2 - num8);
|
||||
return a + num10 * vector2;
|
||||
}
|
||||
float num11 = num3 * num8 - num7 * num4;
|
||||
if (num11 <= 0f && num4 - num3 >= 0f && num7 - num8 >= 0f)
|
||||
{
|
||||
float num12 = (num4 - num3) / (num4 - num3 + (num7 - num8));
|
||||
return b + num12 * (c - b);
|
||||
}
|
||||
float num13 = 1f / (num11 + num9 + num5);
|
||||
float num14 = num9 * num13;
|
||||
float num15 = num5 * num13;
|
||||
return a + vector * num14 + vector2 * num15;
|
||||
}
|
||||
public Vector3 ClosestPointOnTriangle(Vector3 p, Vector3 a, Vector3 b, Vector3 c)
|
||||
{
|
||||
Vector3 vector = b - a;
|
||||
Vector3 vector2 = c - a;
|
||||
Vector3 rhs = p - a;
|
||||
float num = Vector3.Dot(vector, rhs);
|
||||
float num2 = Vector3.Dot(vector2, rhs);
|
||||
if (num <= 0f && num2 <= 0f)
|
||||
{
|
||||
return a;
|
||||
}
|
||||
Vector3 rhs2 = p - b;
|
||||
float num3 = Vector3.Dot(vector, rhs2);
|
||||
float num4 = Vector3.Dot(vector2, rhs2);
|
||||
if (num3 >= 0f && num4 <= num3)
|
||||
{
|
||||
return b;
|
||||
}
|
||||
float num5 = num * num4 - num3 * num2;
|
||||
if (num5 <= 0f && num >= 0f && num3 <= 0f)
|
||||
{
|
||||
float num6 = num / (num - num3);
|
||||
return a + num6 * vector;
|
||||
}
|
||||
Vector3 rhs3 = p - c;
|
||||
float num7 = Vector3.Dot(vector, rhs3);
|
||||
float num8 = Vector3.Dot(vector2, rhs3);
|
||||
if (num8 >= 0f && num7 <= num8)
|
||||
{
|
||||
return c;
|
||||
}
|
||||
float num9 = num7 * num2 - num * num8;
|
||||
if (num9 <= 0f && num2 >= 0f && num8 <= 0f)
|
||||
{
|
||||
float num10 = num2 / (num2 - num8);
|
||||
return a + num10 * vector2;
|
||||
}
|
||||
float num11 = num3 * num8 - num7 * num4;
|
||||
if (num11 <= 0f && num4 - num3 >= 0f && num7 - num8 >= 0f)
|
||||
{
|
||||
float num12 = (num4 - num3) / (num4 - num3 + (num7 - num8));
|
||||
return b + num12 * (c - b);
|
||||
}
|
||||
float num13 = 1f / (num11 + num9 + num5);
|
||||
float num14 = num9 * num13;
|
||||
float num15 = num5 * num13;
|
||||
return a + vector * num14 + vector2 * num15;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user