/// <summary> /// Composes two view such that a projection with the resulting view will be equivalent to a projection /// by A followed by a projection by B. /// </summary> public static View Compose(View A, View B) { return new View( B.Project(A.Offset), B.Right * A.Right.X + B.Down * A.Right.Y, B.Right * A.Down.X + B.Down * A.Down.Y); }
/// <summary> /// Creates a projected form of a figure. /// </summary> public static ProjectedFigure Project(Figure Figure, View Projection) { if (Figure == null) return null; return new ProjectedFigure(Projection, Figure); }
/// <summary> /// Updates the current view for the camera state. /// </summary> private void _MakeView() { this._View = this._Camera.GetView(this.AspectRatio); }
public ProjectedFigure(View Projection, Figure Source) { this.Source = Source; this.Projection = Projection; }