Files
2026-06-04 11:42:34 +02:00

181 lines
4.9 KiB
C#

using System;
using UnityEngine.Scripting;
namespace UnityEngine
{
// Token: 0x0200044F RID: 1103
[UsedByNativeCode]
public struct Plane
{
// Token: 0x060038A2 RID: 14498 RVA: 0x0006189C File Offset: 0x0005FA9C
public Plane(Vector3 inNormal, Vector3 inPoint)
{
this.m_Normal = Vector3.Normalize(inNormal);
this.m_Distance = -Vector3.Dot(inNormal, inPoint);
}
// Token: 0x060038A3 RID: 14499 RVA: 0x000618BC File Offset: 0x0005FABC
public Plane(Vector3 inNormal, float d)
{
this.m_Normal = Vector3.Normalize(inNormal);
this.m_Distance = d;
}
// Token: 0x060038A4 RID: 14500 RVA: 0x000618D4 File Offset: 0x0005FAD4
public Plane(Vector3 a, Vector3 b, Vector3 c)
{
this.m_Normal = Vector3.Normalize(Vector3.Cross(b - a, c - a));
this.m_Distance = -Vector3.Dot(this.m_Normal, a);
}
// Token: 0x17000D04 RID: 3332
// (get) Token: 0x060038A5 RID: 14501 RVA: 0x00061908 File Offset: 0x0005FB08
// (set) Token: 0x060038A6 RID: 14502 RVA: 0x00061924 File Offset: 0x0005FB24
public Vector3 normal
{
get
{
return this.m_Normal;
}
set
{
this.m_Normal = value;
}
}
// Token: 0x17000D05 RID: 3333
// (get) Token: 0x060038A7 RID: 14503 RVA: 0x00061930 File Offset: 0x0005FB30
// (set) Token: 0x060038A8 RID: 14504 RVA: 0x0006194C File Offset: 0x0005FB4C
public float distance
{
get
{
return this.m_Distance;
}
set
{
this.m_Distance = value;
}
}
// Token: 0x060038A9 RID: 14505 RVA: 0x00061958 File Offset: 0x0005FB58
public void SetNormalAndPosition(Vector3 inNormal, Vector3 inPoint)
{
this.m_Normal = Vector3.Normalize(inNormal);
this.m_Distance = -Vector3.Dot(inNormal, inPoint);
}
// Token: 0x060038AA RID: 14506 RVA: 0x00061978 File Offset: 0x0005FB78
public void Set3Points(Vector3 a, Vector3 b, Vector3 c)
{
this.m_Normal = Vector3.Normalize(Vector3.Cross(b - a, c - a));
this.m_Distance = -Vector3.Dot(this.m_Normal, a);
}
// Token: 0x060038AB RID: 14507 RVA: 0x000619AC File Offset: 0x0005FBAC
public void Flip()
{
this.m_Normal = -this.m_Normal;
this.m_Distance = -this.m_Distance;
}
// Token: 0x17000D06 RID: 3334
// (get) Token: 0x060038AC RID: 14508 RVA: 0x000619D0 File Offset: 0x0005FBD0
public Plane flipped
{
get
{
return new Plane(-this.m_Normal, -this.m_Distance);
}
}
// Token: 0x060038AD RID: 14509 RVA: 0x000619FC File Offset: 0x0005FBFC
public void Translate(Vector3 translation)
{
this.m_Distance += Vector3.Dot(this.m_Normal, translation);
}
// Token: 0x060038AE RID: 14510 RVA: 0x00061A18 File Offset: 0x0005FC18
public static Plane Translate(Plane plane, Vector3 translation)
{
return new Plane(plane.m_Normal, plane.m_Distance += Vector3.Dot(plane.m_Normal, translation));
}
// Token: 0x060038AF RID: 14511 RVA: 0x00061A58 File Offset: 0x0005FC58
public Vector3 ClosestPointOnPlane(Vector3 point)
{
float num = Vector3.Dot(this.m_Normal, point) + this.m_Distance;
return point - this.m_Normal * num;
}
// Token: 0x060038B0 RID: 14512 RVA: 0x00061A94 File Offset: 0x0005FC94
public float GetDistanceToPoint(Vector3 point)
{
return Vector3.Dot(this.m_Normal, point) + this.m_Distance;
}
// Token: 0x060038B1 RID: 14513 RVA: 0x00061ABC File Offset: 0x0005FCBC
public bool GetSide(Vector3 point)
{
return Vector3.Dot(this.m_Normal, point) + this.m_Distance > 0f;
}
// Token: 0x060038B2 RID: 14514 RVA: 0x00061AEC File Offset: 0x0005FCEC
public bool SameSide(Vector3 inPt0, Vector3 inPt1)
{
float distanceToPoint = this.GetDistanceToPoint(inPt0);
float distanceToPoint2 = this.GetDistanceToPoint(inPt1);
return (distanceToPoint > 0f && distanceToPoint2 > 0f) || (distanceToPoint <= 0f && distanceToPoint2 <= 0f);
}
// Token: 0x060038B3 RID: 14515 RVA: 0x00061B44 File Offset: 0x0005FD44
public bool Raycast(Ray ray, out float enter)
{
float num = Vector3.Dot(ray.direction, this.m_Normal);
float num2 = -Vector3.Dot(ray.origin, this.m_Normal) - this.m_Distance;
bool flag;
if (Mathf.Approximately(num, 0f))
{
enter = 0f;
flag = false;
}
else
{
enter = num2 / num;
flag = enter > 0f;
}
return flag;
}
// Token: 0x060038B4 RID: 14516 RVA: 0x00061BB4 File Offset: 0x0005FDB4
public override string ToString()
{
return UnityString.Format("(normal:({0:F1}, {1:F1}, {2:F1}), distance:{3:F1})", new object[]
{
this.m_Normal.x,
this.m_Normal.y,
this.m_Normal.z,
this.m_Distance
});
}
// Token: 0x060038B5 RID: 14517 RVA: 0x00061C20 File Offset: 0x0005FE20
public string ToString(string format)
{
return UnityString.Format("(normal:({0}, {1}, {2}), distance:{3})", new object[]
{
this.m_Normal.x.ToString(format),
this.m_Normal.y.ToString(format),
this.m_Normal.z.ToString(format),
this.m_Distance.ToString(format)
});
}
// Token: 0x04001124 RID: 4388
private Vector3 m_Normal;
// Token: 0x04001125 RID: 4389
private float m_Distance;
}
}