/// <summary> /// /// </summary> public override void Unbind() { if (this.canvas != null && (!this.canvas.IsDisposed)) { this.canvas.MouseDown -= this.mouseDownEvent; this.canvas.MouseMove -= this.mouseMoveEvent; this.canvas.MouseUp -= this.mouseUpEvent; this.canvas.MouseWheel -= this.mouseWheelEvent; this.canvas = null; this.camera = null; } }
/// <summary> /// /// </summary> public override void Bind(ICamera camera, GLCanvas canvas) { if (camera == null || canvas == null) { throw new ArgumentNullException(); } this.camera = camera; this.canvas = canvas; canvas.MouseDown += this.mouseDownEvent; canvas.MouseMove += this.mouseMoveEvent; canvas.MouseUp += this.mouseUpEvent; canvas.MouseWheel += this.mouseWheelEvent; }
/// <summary> /// start to manipulate specified <paramref name="camera"/> or model. /// </summary> /// <param name="camera"></param> /// <param name="canvas"></param> public abstract void Bind(ICamera camera, GLCanvas canvas);