#ifndef MSP_GEOMETRY_AFFINETRANSFORMATION_H_
#define MSP_GEOMETRY_AFFINETRANSFORMATION_H_
-#include <msp/linal/squarematrix.h>
+#include <msp/linal/matrix.h>
#include "angle.h"
#include "boundingbox.h"
#include "ray.h"
friend class AffineTransformationOps<T, D>;
private:
- LinAl::SquareMatrix<T, D+1> matrix;
+ LinAl::Matrix<T, D+1, D+1> matrix;
public:
AffineTransformation();
AffineTransformation &operator*=(const AffineTransformation &);
AffineTransformation &invert();
- const LinAl::SquareMatrix<T, D+1> &get_matrix() const { return matrix; }
- operator const LinAl::SquareMatrix<T, D+1> &() const { return matrix; }
+ const LinAl::Matrix<T, D+1, D+1> &get_matrix() const { return matrix; }
+ operator const LinAl::Matrix<T, D+1, D+1> &() const { return matrix; }
LinAl::Vector<T, D> transform(const LinAl::Vector<T, D> &) const;
LinAl::Vector<T, D> transform_linear(const LinAl::Vector<T, D> &) const;
template<typename T, unsigned D>
inline AffineTransformation<T, D>::AffineTransformation()
{
- this->matrix = LinAl::SquareMatrix<T, D+1>::identity();
+ this->matrix = LinAl::Matrix<T, D+1, D+1>::identity();
}