public Transform Translate(double x, double y, double z) { return(new Transform(_transformMatrices, Matrix4X4.CreateTranslation(x, y, z))); }
public Transform Skew(double xToY, double xToZ, double yToX, double yToZ, double zToX, double zToY) { return(new Transform(_transformMatrices, Matrix4X4.CreateSkew(xToY, xToZ, yToX, yToZ, zToX, zToY))); }
public Transform RotateZ(double radians) { return(new Transform(_transformMatrices, Matrix4X4.CreateRotationZ(radians))); }
public Transform Scale(double x, double y, double z) { return(new Transform(_transformMatrices, Matrix4X4.CreateScale(x, y, z))); }
private Transform(IEnumerable <Matrix4X4> transforms, Matrix4X4 newTransform) { _transformMatrices = transforms.Concat(new[] { newTransform }).ToArray(); }