public InterfaceControlViewModel(ProblemViewModel problemViewModel, CameraViewModel cameraViewModel) { _problemViewModel = problemViewModel; _cameraViewModel = cameraViewModel; ElementManagementViewModel = new ElementManagementViewModel(_problemViewModel); ForceManagementViewModel = new ForceManagementViewModel(_problemViewModel); NodeManagementViewModel = new NodeManagementViewModel(_problemViewModel); MaterialManagementViewModel = new MaterialManagementViewModel(_problemViewModel); KeyboardCameraControlViewModel = new KeyboardCameraControlViewModel(_cameraViewModel); MouseCameraControlViewModel = new MouseCameraControlViewModel(_cameraViewModel); problemViewModel.PropertyChanged += ProblemViewModel_PropertyChanged; Application.Current.Dispatcher.InvokeAsync(UpdateCamera); }
public void UpdateCamera_NoPressedButtons_ExpectNoMovementOrRotation() { //Arrange var cameraViewModel = new FakeCameraViewModel(); var testSubject = new MouseCameraControlViewModel(cameraViewModel); //Act testSubject.UpdateCamera(); //Assert Assert.That(cameraViewModel.LookAtPoint, Is.EqualTo(new Point3D())); Assert.That(cameraViewModel.MovePoint, Is.EqualTo(new Point3D())); Assert.That(cameraViewModel.MoveVector, Is.EqualTo(new Vector3D())); Assert.That(cameraViewModel.RotationX, Is.EqualTo(0)); Assert.That(cameraViewModel.RotationY, Is.EqualTo(0)); Assert.That(cameraViewModel.RotationZ, Is.EqualTo(0)); }
public void UpdateCamera_MouseWheelMoved_ExpectMovementAndNoRotation() { //Arrange var cameraViewModel = new FakeCameraViewModel(); var testSubject = new MouseCameraControlViewModel(cameraViewModel); testSubject.ReactToMouseWheelMovement(100); //Act testSubject.UpdateCamera(); //Assert Assert.That(cameraViewModel.LookAtPoint, Is.EqualTo(new Point3D())); Assert.That(cameraViewModel.MovePoint, Is.EqualTo(new Point3D())); Assert.That(cameraViewModel.MoveVector, Is.Not.EqualTo(new Vector3D())); Assert.That(cameraViewModel.RotationX, Is.EqualTo(0)); Assert.That(cameraViewModel.RotationY, Is.EqualTo(0)); Assert.That(cameraViewModel.RotationZ, Is.EqualTo(0)); }
public void UpdateCamera_LeftButtonPressedAndMoved_ExpectMovementAndNoRotation() { //Arrange var cameraViewModel = new FakeCameraViewModel(); var testSubject = new MouseCameraControlViewModel(cameraViewModel); testSubject.ReactToMouseMovement(new Point(0, 0)); testSubject.ReactToMouseDown(System.Windows.Input.MouseButton.Left); testSubject.ReactToMouseMovement(new Point(10, 10)); //Act testSubject.UpdateCamera(); //Assert Assert.That(cameraViewModel.LookAtPoint, Is.EqualTo(new Point3D())); Assert.That(cameraViewModel.MovePoint, Is.EqualTo(new Point3D())); Assert.That(cameraViewModel.MoveVector, Is.Not.EqualTo(new Vector3D())); Assert.That(cameraViewModel.RotationX, Is.EqualTo(0)); Assert.That(cameraViewModel.RotationY, Is.EqualTo(0)); Assert.That(cameraViewModel.RotationZ, Is.EqualTo(0)); }