summaryrefslogtreecommitdiffstats
path: root/dev/MinGfx/src/craft_cam.cc
diff options
context:
space:
mode:
authorMatt Strapp <matt@mattstrapp.net>2021-09-20 18:15:14 -0500
committerMatt Strapp <matt@mattstrapp.net>2021-09-20 18:15:14 -0500
commit342403a02f8063903d0f38327430721d4d0ae331 (patch)
tree29d020a27bc16939c568dd4b29166566d1c0e658 /dev/MinGfx/src/craft_cam.cc
parentFix parenthesis (diff)
downloadcsci4611-342403a02f8063903d0f38327430721d4d0ae331.tar
csci4611-342403a02f8063903d0f38327430721d4d0ae331.tar.gz
csci4611-342403a02f8063903d0f38327430721d4d0ae331.tar.bz2
csci4611-342403a02f8063903d0f38327430721d4d0ae331.tar.lz
csci4611-342403a02f8063903d0f38327430721d4d0ae331.tar.xz
csci4611-342403a02f8063903d0f38327430721d4d0ae331.tar.zst
csci4611-342403a02f8063903d0f38327430721d4d0ae331.zip
Diffstat (limited to 'dev/MinGfx/src/craft_cam.cc')
-rw-r--r--dev/MinGfx/src/craft_cam.cc254
1 files changed, 127 insertions, 127 deletions
diff --git a/dev/MinGfx/src/craft_cam.cc b/dev/MinGfx/src/craft_cam.cc
index 425f524..0d70168 100644
--- a/dev/MinGfx/src/craft_cam.cc
+++ b/dev/MinGfx/src/craft_cam.cc
@@ -1,127 +1,127 @@
-/*
- Copyright (c) 2017,2018 Regents of the University of Minnesota.
- All Rights Reserved.
- See corresponding header file for details.
- */
-
-#include "craft_cam.h"
-
-namespace mingfx {
-
-
-CraftCam::CraftCam() : t_scale_(1.0), r_scale_(1.0), l_scale_(1.0), yaw_(0.0), pitch_(0.0) {
-}
-
-CraftCam::CraftCam(const Matrix4 &initialViewMatrix) :
- t_scale_(1.0), r_scale_(1.0), l_scale_(1.0), yaw_(0.0), pitch_(0.0)
-{
-}
-
-CraftCam::~CraftCam()
-{
-}
-
-
-void CraftCam::UpdateSimulation(double dt, GLFWwindow *window_ptr) {
- if ((glfwGetKey(window_ptr, GLFW_KEY_UP) == GLFW_PRESS) ||
- (glfwGetKey(window_ptr, GLFW_KEY_W) == GLFW_PRESS)) {
- WalkForward(dt);
- }
- if ((glfwGetKey(window_ptr, GLFW_KEY_DOWN) == GLFW_PRESS) ||
- (glfwGetKey(window_ptr, GLFW_KEY_Z) == GLFW_PRESS)) {
- WalkBackward(dt);
- }
- if ((glfwGetKey(window_ptr, GLFW_KEY_LEFT) == GLFW_PRESS) ||
- (glfwGetKey(window_ptr, GLFW_KEY_A) == GLFW_PRESS)) {
- RotateLeft(dt);
- }
- if ((glfwGetKey(window_ptr, GLFW_KEY_RIGHT) == GLFW_PRESS) ||
- (glfwGetKey(window_ptr, GLFW_KEY_S) == GLFW_PRESS)) {
- RotateRight(dt);
- }
-}
-
-
-void CraftCam::OnMouseMove(const Vector2 &normalized_mouse_delta) {
- LookWithMouse(normalized_mouse_delta);
-}
-
-
-
-void CraftCam::WalkForward(double dt) {
- base_head_ = Matrix4::Translation(3.0f * (float)dt * t_scale_ * Vector3(0,0,1)) * base_head_;
-}
-
-void CraftCam::WalkBackward(double dt) {
- base_head_ = Matrix4::Translation(3.0f * (float)dt * t_scale_ * Vector3(0,0,-1)) * base_head_;
-}
-
-void CraftCam::RotateLeft(double dt) {
- base_head_ = Matrix4::RotationY(-0.75f * (float)dt * r_scale_) * base_head_;
-}
-
-void CraftCam::RotateRight(double dt) {
- base_head_ = Matrix4::RotationY(0.75f * (float)dt * r_scale_) * base_head_;
-}
-
-void CraftCam::LookWithMouse(const Vector2 &mouse_delta) {
- yaw_ += l_scale_ * mouse_delta[0];
- pitch_ += l_scale_ * mouse_delta[1];
- added_rot_ = Matrix4::RotationX(-pitch_) * Matrix4::RotationY(yaw_);
-}
-
-
-Matrix4 CraftCam::view_matrix() {
- return added_rot_ * base_head_;
-}
-
-void CraftCam::set_view_matrix(Matrix4 view_matrix) {
- base_head_ = view_matrix;
- added_rot_ = Matrix4();
-}
-
-Point3 CraftCam::eye() {
- Matrix4 camMat = view_matrix().Inverse();
- return camMat.ColumnToPoint3(3);
-}
-
-Vector3 CraftCam::look() {
- Matrix4 camMat = view_matrix().Inverse();
- return -camMat.ColumnToVector3(2);
-}
-
-
-void CraftCam::set_translation_scale(float s) {
- t_scale_ = s;
-}
-
-void CraftCam::set_rotation_scale(float s) {
- r_scale_ = s;
-}
-
-void CraftCam::set_look_scale(float s) {
- l_scale_ = s;
-}
-
-
-float CraftCam::translation_scale() {
- return t_scale_;
-}
-
-float CraftCam::rotation_scale() {
- return r_scale_;
-}
-
-float CraftCam::look_scale() {
- return l_scale_;
-}
-
-void CraftCam::UpdateHeight(float new_y_value) {
- Vector3 offset = Vector3(0, new_y_value - eye()[1], 0);
- base_head_ = Matrix4::Translation(-offset) * base_head_;
-}
-
-
-
-} // end namespace
-
+/*
+ Copyright (c) 2017,2018 Regents of the University of Minnesota.
+ All Rights Reserved.
+ See corresponding header file for details.
+ */
+
+#include "craft_cam.h"
+
+namespace mingfx {
+
+
+CraftCam::CraftCam() : t_scale_(1.0), r_scale_(1.0), l_scale_(1.0), yaw_(0.0), pitch_(0.0) {
+}
+
+CraftCam::CraftCam(const Matrix4 &initialViewMatrix) :
+ t_scale_(1.0), r_scale_(1.0), l_scale_(1.0), yaw_(0.0), pitch_(0.0)
+{
+}
+
+CraftCam::~CraftCam()
+{
+}
+
+
+void CraftCam::UpdateSimulation(double dt, GLFWwindow *window_ptr) {
+ if ((glfwGetKey(window_ptr, GLFW_KEY_UP) == GLFW_PRESS) ||
+ (glfwGetKey(window_ptr, GLFW_KEY_W) == GLFW_PRESS)) {
+ WalkForward(dt);
+ }
+ if ((glfwGetKey(window_ptr, GLFW_KEY_DOWN) == GLFW_PRESS) ||
+ (glfwGetKey(window_ptr, GLFW_KEY_Z) == GLFW_PRESS)) {
+ WalkBackward(dt);
+ }
+ if ((glfwGetKey(window_ptr, GLFW_KEY_LEFT) == GLFW_PRESS) ||
+ (glfwGetKey(window_ptr, GLFW_KEY_A) == GLFW_PRESS)) {
+ RotateLeft(dt);
+ }
+ if ((glfwGetKey(window_ptr, GLFW_KEY_RIGHT) == GLFW_PRESS) ||
+ (glfwGetKey(window_ptr, GLFW_KEY_S) == GLFW_PRESS)) {
+ RotateRight(dt);
+ }
+}
+
+
+void CraftCam::OnMouseMove(const Vector2 &normalized_mouse_delta) {
+ LookWithMouse(normalized_mouse_delta);
+}
+
+
+
+void CraftCam::WalkForward(double dt) {
+ base_head_ = Matrix4::Translation(3.0f * (float)dt * t_scale_ * Vector3(0,0,1)) * base_head_;
+}
+
+void CraftCam::WalkBackward(double dt) {
+ base_head_ = Matrix4::Translation(3.0f * (float)dt * t_scale_ * Vector3(0,0,-1)) * base_head_;
+}
+
+void CraftCam::RotateLeft(double dt) {
+ base_head_ = Matrix4::RotationY(-0.75f * (float)dt * r_scale_) * base_head_;
+}
+
+void CraftCam::RotateRight(double dt) {
+ base_head_ = Matrix4::RotationY(0.75f * (float)dt * r_scale_) * base_head_;
+}
+
+void CraftCam::LookWithMouse(const Vector2 &mouse_delta) {
+ yaw_ += l_scale_ * mouse_delta[0];
+ pitch_ += l_scale_ * mouse_delta[1];
+ added_rot_ = Matrix4::RotationX(-pitch_) * Matrix4::RotationY(yaw_);
+}
+
+
+Matrix4 CraftCam::view_matrix() {
+ return added_rot_ * base_head_;
+}
+
+void CraftCam::set_view_matrix(Matrix4 view_matrix) {
+ base_head_ = view_matrix;
+ added_rot_ = Matrix4();
+}
+
+Point3 CraftCam::eye() {
+ Matrix4 camMat = view_matrix().Inverse();
+ return camMat.ColumnToPoint3(3);
+}
+
+Vector3 CraftCam::look() {
+ Matrix4 camMat = view_matrix().Inverse();
+ return -camMat.ColumnToVector3(2);
+}
+
+
+void CraftCam::set_translation_scale(float s) {
+ t_scale_ = s;
+}
+
+void CraftCam::set_rotation_scale(float s) {
+ r_scale_ = s;
+}
+
+void CraftCam::set_look_scale(float s) {
+ l_scale_ = s;
+}
+
+
+float CraftCam::translation_scale() {
+ return t_scale_;
+}
+
+float CraftCam::rotation_scale() {
+ return r_scale_;
+}
+
+float CraftCam::look_scale() {
+ return l_scale_;
+}
+
+void CraftCam::UpdateHeight(float new_y_value) {
+ Vector3 offset = Vector3(0, new_y_value - eye()[1], 0);
+ base_head_ = Matrix4::Translation(-offset) * base_head_;
+}
+
+
+
+} // end namespace
+