private static Csg.Vector3D OfCsgVector3(this Transform transform, Csg.Vector3D p) { var m = transform.Matrix; return(new Csg.Vector3D( p.X * m.m11 + p.Y * m.m21 + p.Z * m.m31 + m.tx, p.X * m.m12 + p.Y * m.m22 + p.Z * m.m32 + m.ty, p.X * m.m13 + p.Y * m.m23 + p.Z * m.m33 + m.tz )); }
private static bool IsAlmostEqualTo(this Csg.Vector3D target, Csg.Vector3D v) { if (Math.Abs(target.X - v.X) < Vector3.EPSILON && Math.Abs(target.Y - v.Y) < Vector3.EPSILON && Math.Abs(target.Z - v.Z) < Vector3.EPSILON) { return(true); } return(false); }
private static Vector3 ToElementsVector(this Csg.Vector3D v) { return(new Vector3(v.X, v.Y, v.Z)); }