public Solver() { if (DynaShapeViewExtension.ViewModel == null) { throw new Exception("Oh no, DynaShape could not get access to the Helix ViewModel. Sad!"); } CurrentIteration = 0; Display = new DynaShapeDisplay(this); DynaShapeViewExtension.ViewModel.ViewMouseDown += ViewportMouseDownHandler; DynaShapeViewExtension.ViewModel.ViewMouseUp += ViewportMouseUpHandler; DynaShapeViewExtension.ViewModel.ViewMouseMove += ViewportMouseMoveHandler; DynaShapeViewExtension.ViewModel.ViewCameraChanged += ViewportCameraChangedHandler; DynaShapeViewExtension.ViewModel.CanNavigateBackgroundPropertyChanged += ViewportCanNavigateBackgroundPropertyChangedHandler; }