Browse Source

Fix local/global_rotation and update according to methods rename

Daniele Bartolini 12 years ago
parent
commit
c368dd61d2
4 changed files with 18 additions and 26 deletions
  1. 3 3
      engine/Camera.cpp
  2. 3 3
      engine/Mesh.cpp
  3. 7 7
      engine/SceneGraph.cpp
  4. 5 13
      engine/Sprite.cpp

+ 3 - 3
engine/Camera.cpp

@@ -51,7 +51,7 @@ Vector3 Camera::local_position() const
 //-----------------------------------------------------------------------------
 Quaternion Camera::local_rotation() const
 {
-	return Quaternion(Vector3(1, 0, 0), 0.0f);
+	return m_local_pose.to_quaternion();
 }
 
 //-----------------------------------------------------------------------------
@@ -69,7 +69,7 @@ Vector3 Camera::world_position() const
 //-----------------------------------------------------------------------------
 Quaternion Camera::world_rotation() const
 {
-	return Quaternion(Vector3(1, 0, 0), 0.0f);
+	return m_world_pose.to_quaternion();
 }
 
 //-----------------------------------------------------------------------------
@@ -92,7 +92,7 @@ void Camera::set_local_rotation(Unit* unit, const Quaternion& rot)
 	Matrix4x4& local_pose = m_local_pose;
 
 	Vector3 local_translation = local_pose.translation();
-	local_pose = rot.to_mat4();
+	local_pose = rot.to_matrix4x4();
 	local_pose.set_translation(local_translation);
 
 	unit->set_local_rotation(rot, m_node);

+ 3 - 3
engine/Mesh.cpp

@@ -54,7 +54,7 @@ Vector3 Mesh::local_position() const
 //-----------------------------------------------------------------------------
 Quaternion Mesh::local_rotation() const
 {
-	return Quaternion(Vector3(1, 0, 0), 0.0f);
+	return m_local_pose.to_quaternion();
 }
 
 //-----------------------------------------------------------------------------
@@ -72,7 +72,7 @@ Vector3 Mesh::world_position() const
 //-----------------------------------------------------------------------------
 Quaternion Mesh::world_rotation() const
 {
-	return Quaternion(Vector3(1, 0, 0), 0.0f);
+	return m_world_pose.to_quaternion();
 }
 
 //-----------------------------------------------------------------------------
@@ -93,7 +93,7 @@ void Mesh::set_local_rotation(const Quaternion& rot)
 	Matrix4x4& local_pose = m_local_pose;
 
 	Vector3 local_translation = local_pose.translation();
-	local_pose = rot.to_mat4();
+	local_pose = rot.to_matrix4x4();
 	local_pose.set_translation(local_translation);
 }
 

+ 7 - 7
engine/SceneGraph.cpp

@@ -96,7 +96,7 @@ void SceneGraph::set_local_rotation(int32_t node, const Quaternion& rot)
 	Matrix4x4& local_pose = m_local_poses[node];
 
 	Vector3 local_translation = local_pose.translation();
-	local_pose = rot.to_mat4();
+	local_pose = rot.to_matrix4x4();
 	local_pose.set_translation(local_translation);
 }
 
@@ -117,11 +117,11 @@ Vector3 SceneGraph::local_position(int32_t node) const
 }
 
 //-----------------------------------------------------------------------------
-Quaternion SceneGraph::local_rotation(int32_t /*node*/) const
+Quaternion SceneGraph::local_rotation(int32_t node) const
 {
-	//CE_ASSERT(node < (int32_t) m_parents.size(), "Node does not exist");
+	CE_ASSERT(node < (int32_t) m_parents.size(), "Node does not exist");
 
-	return Quaternion(Vector3(1, 0, 0), 0.0f);
+	return m_local_poses[node].to_quaternion();
 }
 
 //-----------------------------------------------------------------------------
@@ -141,11 +141,11 @@ Vector3 SceneGraph::world_position(int32_t node) const
 }
 
 //-----------------------------------------------------------------------------
-Quaternion SceneGraph::world_rotation(int32_t /*node*/) const
+Quaternion SceneGraph::world_rotation(int32_t node) const
 {
-	// CE_ASSERT(node < (int32_t) m_parents.size(), "Node does not exist");
+	CE_ASSERT(node < (int32_t) m_parents.size(), "Node does not exist");
 
-	return Quaternion(Vector3(1, 0, 0), 0.0f);
+	return m_world_poses[node].to_quaternion();
 }
 
 //-----------------------------------------------------------------------------

+ 5 - 13
engine/Sprite.cpp

@@ -58,17 +58,13 @@ void Sprite::destroy()
 //-----------------------------------------------------------------------------
 Vector3 Sprite::local_position() const
 {
-	Vector3 tmp = m_local_pose.translation();
-
-	return tmp;
+	return m_local_pose.translation();
 }
 
 //-----------------------------------------------------------------------------
 Quaternion Sprite::local_rotation() const
 {
-	Quaternion tmp = m_local_pose.to_quat();
-
-	return tmp;
+	return m_local_pose.to_quaternion();
 }
 
 //-----------------------------------------------------------------------------
@@ -80,17 +76,13 @@ Matrix4x4 Sprite::local_pose() const
 //-----------------------------------------------------------------------------
 Vector3 Sprite::world_position() const
 {
-	Vector3 tmp = m_world_pose.translation();
-
-	return tmp;
+	return m_world_pose.translation();
 }
 
 //-----------------------------------------------------------------------------
 Quaternion Sprite::world_rotation() const
 {
-	Quaternion tmp = m_world_pose.to_quat();
-
-	return tmp;
+	return m_world_pose.to_quaternion();
 }
 
 //-----------------------------------------------------------------------------
@@ -113,7 +105,7 @@ void Sprite::set_local_rotation(Unit* unit, const Quaternion& rot)
 	Matrix4x4& local_pose = m_local_pose;
 
 	Vector3 local_translation = local_pose.translation();
-	local_pose = rot.to_mat4();
+	local_pose = rot.to_matrix4x4();
 	local_pose.set_translation(local_translation);
 
 	unit->set_local_rotation(rot, m_node);