1#ifndef LIBS_MATH_CMATRIX4X4_HPP_
2#define LIBS_MATH_CMATRIX4X4_HPP_
28 explicit CMatrix4x4(
const double matrix[4][4]);
51 [[nodiscard]] std::vector<iv::math::geometry::Point3d>
57 std::shared_ptr<std::vector<iv::math::geometry::Point3d>>
61 [[nodiscard]] std::vector<iv::math::geometry::Point3d>
64 void transformationPoint3D(
double x,
double y,
double z,
double *xTrans,
double *yTrans,
double *zTrans)
const;
71 double *UzTrans)
const;
74 double *UzTrans)
const;
77 double *distanceYTrans)
const;
83 void getMatrix(
double valuesMatrix[4][4])
const;
Definition CMatrix4x4.hpp:23
void transformationDistanceX(double distance, double *distanceTrans) const
Definition CMatrix4x4.cpp:641
CMatrix4x4 & operator=(const CMatrix4x4 &other)
Definition CMatrix4x4.cpp:879
SValues m_values
Definition CMatrix4x4.hpp:91
bool isIdentity() const
Definition CMatrix4x4.cpp:287
void getMatrix(double valuesMatrix[4][4]) const
Definition CMatrix4x4.cpp:651
std::shared_ptr< std::vector< iv::math::geometry::Point3d > > transformationPoints3D(const std::shared_ptr< std::vector< iv::math::geometry::Point3d > > &points) const
Definition CMatrix4x4.cpp:455
static CMatrix4x4 createExtrusion(double Nx, double Ny, double Nz)
Definition CMatrix4x4.cpp:216
CMatrix4x4()
Definition CMatrix4x4.cpp:14
static CMatrix4x4 createTranslation(double tx, double ty, double tz)
Definition CMatrix4x4.cpp:129
void transformationPoints2DInSitu(std::vector< iv::math::geometry::Point2d > &points) const
Definition CMatrix4x4.cpp:400
void appendTranslation(double tx, double ty, double tz)
Definition CMatrix4x4.cpp:358
SMatrix m_matrix
Definition CMatrix4x4.hpp:90
CMatrix4x4 multiplication(const CMatrix4x4 &matrix) const
Definition CMatrix4x4.cpp:349
void transformationPoint3D(double x, double y, double z, double *xTrans, double *yTrans, double *zTrans) const
Definition CMatrix4x4.cpp:533
void transformationPoints3DInSitu(const std::shared_ptr< std::vector< iv::math::geometry::Point3d > > &points) const
Definition CMatrix4x4.cpp:426
static CMatrix4x4 createAxis(double Ux, double Uy, double Uz, double Vx, double Vy, double Vz)
Definition CMatrix4x4.cpp:187
float * transformationPoints3DArrayC(const float *vertex, uint64_t numPoints) const
Definition CMatrix4x4.cpp:486
CMatrix4x4 inverse() const
Definition CMatrix4x4.cpp:866
static CMatrix4x4 createIdentity()
Definition CMatrix4x4.cpp:102
bool operator==(const CMatrix4x4 &b) const
Definition CMatrix4x4.cpp:272
static CMatrix4x4 createRotate(double angleRotate, double Ux, double Uy, double Uz)
Definition CMatrix4x4.cpp:238
void appendScale(double sx, double sy, double sz)
Definition CMatrix4x4.cpp:365
static CMatrix4x4 createScale(double sx, double sy, double sz)
Definition CMatrix4x4.cpp:156
void transformationDistanceY(double distance, double *distanceTrans) const
Definition CMatrix4x4.cpp:646
void transformationUnitVector(double Ux, double Uy, double Uz, double *UxTrans, double *UyTrans, double *UzTrans) const
Definition CMatrix4x4.cpp:567
void transformationVector(double Ux, double Uy, double Uz, double *UxTrans, double *UyTrans, double *UzTrans) const
Definition CMatrix4x4.cpp:597
void transformationDistance(double distanceX, double distanceY, double *distanceXTrans, double *distanceYTrans) const
Definition CMatrix4x4.cpp:635
std::vector< iv::math::geometry::Point3d > transformationPoints2D(const std::shared_ptr< std::vector< iv::math::geometry::Point2d > > &points) const
Definition CMatrix4x4.cpp:373
Definition CMatrix4x4.hpp:10
double values[4][4]
Definition CMatrix4x4.hpp:11
Definition CMatrix4x4.hpp:15
double Uy
Definition CMatrix4x4.hpp:16
double Nz
Definition CMatrix4x4.hpp:18
double Vy
Definition CMatrix4x4.hpp:17
double Wz
Definition CMatrix4x4.hpp:19
double dy
Definition CMatrix4x4.hpp:17
double dz
Definition CMatrix4x4.hpp:18
double Nx
Definition CMatrix4x4.hpp:18
double dx
Definition CMatrix4x4.hpp:16
double Vz
Definition CMatrix4x4.hpp:17
double Ux
Definition CMatrix4x4.hpp:16
double Vx
Definition CMatrix4x4.hpp:17
double Wy
Definition CMatrix4x4.hpp:19
double Uz
Definition CMatrix4x4.hpp:16
double Wx
Definition CMatrix4x4.hpp:19
double Wd
Definition CMatrix4x4.hpp:19
double Ny
Definition CMatrix4x4.hpp:18