public CatmullCurve <RenderVertex3D> Create(Vertex3D v0, Vertex3D v1, Vertex3D v2, Vertex3D v3) { return(new CatmullCurve3D(v0, v1, v2, v3)); }
public static CatmullCurve <T> GetInstance <TFactory>(Vertex3D v0, Vertex3D v1, Vertex3D v2, Vertex3D v3) where TFactory : ICatmullCurveFactory <T>, new() { var fact = new TFactory(); return(fact.Create(v0, v1, v2, v3)); }
public static void Reset(Vertex3D v) { v.Set(0, 0, 0); }
public CatmullCurve <RenderVertex2D> Create(Vertex3D v0, Vertex3D v1, Vertex3D v2, Vertex3D v3) { return(new CatmullCurve2D(new Vertex2D(v0.X, v0.Y), new Vertex2D(v1.X, v1.Y), new Vertex2D(v2.X, v2.Y), new Vertex2D(v3.X, v3.Y))); }
public static Vertex3D CrossZ(float rz, Vertex3D v) { return(new Vertex3D(-rz * v.Y, rz * v.X, 0)); }
public Vertex3D(Vertex3D v) { X = v.X; Y = v.Y; Z = v.Z; }
public bool Equals(Vertex3D v) { return(v.X == X && v.Y == Y && v.Z == Z); }
public Vertex3D Cross(Vertex3D v) { return(CrossVectors(this, v)); }
public float Dot(Vertex3D v) { return(X * v.X + Y * v.Y + Z * v.Z); }
public IRenderVertex Set(Vertex3D v) { base.Set(v.X, v.Y); return(this); }
public new IRenderVertex Set(Vertex3D v) { base.Set(v); return(this); }