diff --git a/util/Transform.cc b/util/Transform.cc index 3e7be63..962a52d 100644 --- a/util/Transform.cc +++ b/util/Transform.cc @@ -54,17 +54,17 @@ void Transform::scale(double xs, double ys, double zs) m_matrix *= t; } -Vector operator*(Transform & t, const Vector & v) +Vector Transform::transform_point(Transform & t, const Vector & v) { return t.getMatrix() * v; } -Vector operator%(Transform & t, const Vector & v) +Vector Transform::transform_direction(Transform & t, const Vector & v) { return t.getMatrix() % v; } -Ray operator*(Transform & t, const Ray & r) +Ray Transform::transform_ray(Transform & t, const Ray & r) { Vector newPosition = t.getMatrix() * r.getOrigin(); Vector newDirection = t.getMatrix() % r.getDirection(); diff --git a/util/Transform.h b/util/Transform.h index f11d4c5..11af3be 100644 --- a/util/Transform.h +++ b/util/Transform.h @@ -15,14 +15,14 @@ class Transform void rotate(double angle, double xv, double yv, double zv); void scale(double xs, double ys, double zs); Matrix & getMatrix() { return m_matrix; } + Vector transform_point(Transform & t, const Vector & v); + Vector transform_direction(Transform & t, const Vector & v); + Ray transform_ray(Transform & t, const Ray & r); protected: Matrix m_matrix; }; -Vector operator*(Transform & t, const Vector & v); -Vector operator%(Transform & t, const Vector & v); -Ray operator*(Transform & t, const Ray & r); #endif