namespace Decal.Adapter.Wrappers; public class Vector3Object { private double mX; private double mY; private double mZ; public double X => mX; public double Y => mY; public double Z => mZ; public Vector3Object(double x, double y, double z) { mX = x; mY = y; mZ = z; } public override string ToString() { return "{X = " + mX + ", Y = " + mY + ", Z = " + mZ + "}"; } public override bool Equals(object obj) { if (obj is Vector3Object) { Vector3Object vector3Object = (Vector3Object)obj; if (mX == vector3Object.mX && mY == vector3Object.mY) { return mZ == vector3Object.mZ; } return false; } return false; } public bool Equals(Vector3Object obj) { if (obj == null) { return false; } if (mX == obj.mX && mY == obj.mY) { return mZ == obj.mZ; } return false; } public override int GetHashCode() { return mX.GetHashCode() ^ mY.GetHashCode() ^ mZ.GetHashCode(); } public static bool operator ==(Vector3Object a, Vector3Object b) { if (object.Equals(a, null)) { return object.Equals(b, null); } return a.Equals(b); } public static bool operator !=(Vector3Object a, Vector3Object b) { return !(a == b); } }