Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/math/axis.cc')
-rw-r--r--src/math/axis.cc9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/math/axis.cc b/src/math/axis.cc
index 60d3797..a5ea397 100644
--- a/src/math/axis.cc
+++ b/src/math/axis.cc
@@ -104,11 +104,8 @@ void Axis::change_roll(const float angle)
/* notes:
http://mathworld.wolfram.com/RotationFormula.html
*/
-void Axis::rotate(Vector3f const &normal, float rad)
+void Axis::rotate(Vector3f const &normal, float cosa, float sina)
{
- float cosa = cosf(rad);
- float sina = sinf(rad);
-
for (size_t i = 0; i < 3; i++) {
axis_vector[i] =
axis_vector[i] * cosa +
@@ -116,6 +113,10 @@ void Axis::rotate(Vector3f const &normal, float rad)
crossproduct(axis_vector[i], normal) * sina;
}
}
+void Axis::rotate(Vector3f const &normal, float rad)
+{
+ rotate(normal, cosf(rad), sinf(rad));
+}
const Axis Axis::transpose() const
{