matrix3d.cpp
上传用户:lbr_007
上传日期:2019-05-31
资源大小:282k
文件大小:2k
- // matrix3d.cpp
- //
- #include "stdafx.h"
- #include "matrix3d.h"
- Matrix3D::Matrix3D(void)
- {
- InitMatrix();
- }
- Matrix3D::Matrix3D(const Matrix3D& m3d)
- {
- InitMatrix();
- Copy(m3d);
- }
- Matrix3D::~Matrix3D(void)
- {
- }
- void Matrix3D::Copy(const Matrix3D& m3d)
- {
- m3d.GetScale(m_scale[0],m_scale[1],m_scale[2]);
- m3d.GetRotation(m_rotation[0],m_rotation[1],m_rotation[2]);
- m3d.GetPosition(m_position[0],m_position[1],m_position[2]);
- }
- Matrix3D& Matrix3D::operator = (const Matrix3D& m3d)
- {
- Copy(m3d);
- return *this;
- }
- void Matrix3D::GetRotation(double& xrot, double& yrot, double& zrot)const
- {
- xrot = m_rotation[0];
- yrot = m_rotation[1];
- zrot = m_rotation[2];
- }
- void Matrix3D::GetPosition(double& x, double& y, double& z)const
- {
- x = m_position[0];
- y = m_position[1];
- z = m_position[2];
- }
- void Matrix3D::GetScale(double& xscale, double& yscale, double& zscale)const
- {
- xscale = m_scale[0];
- yscale = m_scale[1];
- zscale = m_scale[2];
- }
- void Matrix3D::SetRotation(double xrot, double yrot, double zrot)
- {
- m_rotation[0] = xrot;
- m_rotation[1] = yrot;
- m_rotation[2] = zrot;
- }
- void Matrix3D::SetPosition(double x, double y, double z)
- {
- m_position[0] = x;
- m_position[1] = y;
- m_position[2] = z;
- }
- void Matrix3D::SetScale(double xscale, double yscale, double zscale)
- {
- m_scale[0] = xscale;
- m_scale[1] = yscale;
- m_scale[2] = zscale;
- }
- void Matrix3D::AddRotation(double xrot, double yrot, double zrot)
- {
- m_rotation[0] += xrot;
- m_rotation[1] += yrot;
- m_rotation[2] += zrot;
- }