public static ShapeDescription DrawRectangle(Vector3 position, Size size, Color4[] colors) { ushort[] indices; ColoredVertex[] vertices = PolyMesh.CreateQuad(position.ToVector4(), size.Width, size.Height, colors, out indices); return new ShapeDescription { Vertices = vertices, Indices = indices, Primitives = 2, Shape = Shape.Rectangle }; }
/// <summary> /// Extends a Vector4 to a Vector3. /// </summary> /// <param name="vector4">Extended SharpDX Vector4 (From)</param> /// <param name="toVector3">SharpDX Vector3 (To)</param> /// <param name="distance">Distance (float units)</param> /// <returns>Extended Vector4</returns> public static Vector4 Extend(this Vector4 vector4, Vector3 toVector3, float distance) { return vector4 + distance * (toVector3.ToVector4() - vector4).Normalized(); }
/// <summary> /// Calculates the squared distance between two vectors. /// </summary> /// <param name="vector4">Extended SharpDX Vector4</param> /// <param name="toVector3">SharpDX Vector3</param> /// <returns>The squared distance between the two vectors.</returns> public static float DistanceSquared(this Vector4 vector4, Vector3 toVector3) { return Vector4.DistanceSquared(vector4, toVector3.ToVector4()); }