transformation.hpp
Go to the documentation of this file.
Transformation for homogenous three dimensional space.
Definition: transformation.hpp:70
void rotate_y(double a)
Rotate transformation around y-axis.
Definition: transformation.cpp:318
Vec4D transform_homogenous_point(const Vec3D &xin) const
Transform point xin to homogenous space.
Definition: transformation.hpp:166
const Transformation & operator*=(double s)
Multiplication of tranformation matrix by scalar.
Definition: transformation.cpp:195
void save(const std::string &filename) const
Saves data to a new file filename.
Definition: transformation.cpp:396
Transformation()
Constructor for identity transformation.
Definition: transformation.cpp:50
static Transformation rotation_z(double a)
Return rotation transformation rotating around z-axis.
Definition: transformation.cpp:387
void translate_before(const Vec3D &d)
Translate transformation.
Definition: transformation.cpp:288
Vec4D operator%(const Vec4D &v) const
Multiplication of the transpose of the tranformation matrix by vector.
Definition: transformation.cpp:244
static Transformation rotation_x(double a)
Return rotation transformation rotating around x-axis.
Definition: transformation.cpp:369
void translate(const Vec3D &d)
Translate transformation.
Definition: transformation.cpp:282
Vec3D transform_point(const Vec3D &xin) const
Transform point xin.
Definition: transformation.hpp:175
Vec3D inv_transform_point(const Vec3D &xin) const
Inverse transform point xin.
Definition: transformation.cpp:257
void rotate_y_before(double a)
Rotate transformation around y-axis.
Definition: transformation.cpp:324
void scale(const Vec3D &s)
Scale transformation.
Definition: transformation.cpp:294
bool operator!=(const Transformation &m) const
Non-equality test.
Definition: transformation.cpp:185
void debug_print(std::ostream &os) const
Print debugging information to stream os.
Definition: transformation.cpp:426
void rotate_z(double a)
Rotate transformation around z-axis.
Definition: transformation.cpp:330
friend std::ostream & operator<<(std::ostream &os, const Transformation &t)
Outputting to stream.
Definition: transformation.cpp:413
static Transformation scaling(const Vec3D &s)
Return scaling transformation.
Definition: transformation.cpp:360
Transformation transpose(void) const
Return transpose matrix.
Definition: transformation.cpp:175
Transformation inverse(void) const
Return inverse matrix.
Definition: transformation.cpp:131
const double & operator[](int i) const
Indexing for constant transformation matrix.
Definition: transformation.hpp:107
static Transformation translation(const Vec3D &d)
Return translation transformation.
Definition: transformation.cpp:351
double determinant(void) const
Return determinant of matrix.
Definition: transformation.cpp:102
static Transformation rotation_y(double a)
Return rotation transformation rotating around y-axis.
Definition: transformation.cpp:378
static Transformation unity(void)
Return unity transformation.
Definition: transformation.cpp:342
Vec3D transform_vector(const Vec3D &xin) const
Transform vector xin.
Definition: transformation.hpp:196
void rotate_z_before(double a)
Rotate transformation around z-axis.
Definition: transformation.cpp:336
void rotate_x_before(double a)
Rotate transformation around x-axis.
Definition: transformation.cpp:312
Transformation operator*(const Transformation &m) const
Multiplication of transformation matrices for combining transformations.
Definition: transformation.cpp:203
double & operator[](int i)
Indexing for transformation matrix.
Definition: transformation.hpp:101
void scale_before(const Vec3D &s)
Scale transformation.
Definition: transformation.cpp:300
Vec3D inv_transform_vector(const Vec3D &xin) const
Inverse transform vector xin.
Definition: transformation.cpp:266
void rotate_x(double a)
Rotate transformation around x-axis.
Definition: transformation.cpp:306
Vec4D transform(const Vec4D &xin) const
Transform homogenous vector xin.
Definition: transformation.hpp:158
Three dimensional vectors.
Homogenous vectors for three dimensional space.