start to replace old C-style casts with static_cast or reinterpret_cast, avoid implicit casts

This commit is contained in:
wmayer
2019-09-16 17:59:18 +02:00
parent 0aaa43a303
commit 52916175ed
10 changed files with 136 additions and 245 deletions

View File

@@ -180,7 +180,7 @@ private:
inline Matrix4D Matrix4D::operator + (const Matrix4D& rclMtrx) const
{
Matrix4D clMat;
short iz, is;
unsigned short iz, is;
for (iz = 0; iz < 4; iz++) {
for (is = 0; is < 4; is++) {
@@ -193,7 +193,7 @@ inline Matrix4D Matrix4D::operator + (const Matrix4D& rclMtrx) const
inline Matrix4D& Matrix4D::operator += (const Matrix4D& rclMtrx)
{
short iz, is;
unsigned short iz, is;
for (iz = 0; iz < 4; iz++) {
for (is = 0; is < 4; is++) {
@@ -207,7 +207,7 @@ inline Matrix4D& Matrix4D::operator += (const Matrix4D& rclMtrx)
inline Matrix4D Matrix4D::operator - (const Matrix4D& rclMtrx) const
{
Matrix4D clMat;
short iz, is;
unsigned short iz, is;
for (iz = 0; iz < 4; iz++) {
for (is = 0; is < 4; is++) {
@@ -220,7 +220,7 @@ inline Matrix4D Matrix4D::operator - (const Matrix4D& rclMtrx) const
inline Matrix4D& Matrix4D::operator -= (const Matrix4D& rclMtrx)
{
short iz, is;
unsigned short iz, is;
for (iz = 0; iz < 4; iz++) {
for (is = 0; is < 4; is++) {
@@ -234,7 +234,7 @@ inline Matrix4D& Matrix4D::operator -= (const Matrix4D& rclMtrx)
inline Matrix4D& Matrix4D::operator *= (const Matrix4D& rclMtrx)
{
Matrix4D clMat;
short ie, iz, is;
unsigned short ie, iz, is;
for (iz = 0; iz < 4; iz++)
for (is = 0; is < 4; is++) {
@@ -252,7 +252,7 @@ inline Matrix4D& Matrix4D::operator *= (const Matrix4D& rclMtrx)
inline Matrix4D Matrix4D::operator * (const Matrix4D& rclMtrx) const
{
Matrix4D clMat;
short ie, iz, is;
unsigned short ie, iz, is;
for (iz = 0; iz < 4; iz++)
for (is = 0; is < 4; is++) {
@@ -267,7 +267,7 @@ inline Matrix4D Matrix4D::operator * (const Matrix4D& rclMtrx) const
inline Matrix4D& Matrix4D::operator= (const Matrix4D& rclMtrx)
{
short iz, is;
unsigned short iz, is;
for (iz = 0; iz < 4; iz++) {
for (is = 0; is < 4; is++) {
@@ -280,12 +280,17 @@ inline Matrix4D& Matrix4D::operator= (const Matrix4D& rclMtrx)
inline Vector3f Matrix4D::operator* (const Vector3f& rclVct) const
{
return Vector3f((float)(dMtrx4D[0][0]*rclVct.x + dMtrx4D[0][1]*rclVct.y +
dMtrx4D[0][2]*rclVct.z + dMtrx4D[0][3]),
(float)(dMtrx4D[1][0]*rclVct.x + dMtrx4D[1][1]*rclVct.y +
dMtrx4D[1][2]*rclVct.z + dMtrx4D[1][3]),
(float)(dMtrx4D[2][0]*rclVct.x + dMtrx4D[2][1]*rclVct.y +
dMtrx4D[2][2]*rclVct.z + dMtrx4D[2][3]));
double x = static_cast<double>(rclVct.x);
double y = static_cast<double>(rclVct.y);
double z = static_cast<double>(rclVct.z);
return Vector3f(
static_cast<float>(dMtrx4D[0][0]*x + dMtrx4D[0][1]*y +
dMtrx4D[0][2]*z + dMtrx4D[0][3]),
static_cast<float>(dMtrx4D[1][0]*x + dMtrx4D[1][1]*y +
dMtrx4D[1][2]*z + dMtrx4D[1][3]),
static_cast<float>(dMtrx4D[2][0]*x + dMtrx4D[2][1]*y +
dMtrx4D[2][2]*z + dMtrx4D[2][3])
);
}
inline Vector3d Matrix4D::operator* (const Vector3d& rclVct) const
@@ -311,12 +316,16 @@ inline void Matrix4D::multVec(const Vector3d & src, Vector3d & dst) const
inline void Matrix4D::multVec(const Vector3f & src, Vector3f & dst) const
{
double x = (dMtrx4D[0][0]*src.x + dMtrx4D[0][1]*src.y +
dMtrx4D[0][2]*src.z + dMtrx4D[0][3]);
double y = (dMtrx4D[1][0]*src.x + dMtrx4D[1][1]*src.y +
dMtrx4D[1][2]*src.z + dMtrx4D[1][3]);
double z = (dMtrx4D[2][0]*src.x + dMtrx4D[2][1]*src.y +
dMtrx4D[2][2]*src.z + dMtrx4D[2][3]);
double sx = static_cast<double>(src.x);
double sy = static_cast<double>(src.y);
double sz = static_cast<double>(src.z);
double x = (dMtrx4D[0][0]*sx + dMtrx4D[0][1]*sy +
dMtrx4D[0][2]*sz + dMtrx4D[0][3]);
double y = (dMtrx4D[1][0]*sx + dMtrx4D[1][1]*sy +
dMtrx4D[1][2]*sz + dMtrx4D[1][3]);
double z = (dMtrx4D[2][0]*sx + dMtrx4D[2][1]*sy +
dMtrx4D[2][2]*sz + dMtrx4D[2][3]);
dst.Set(static_cast<float>(x),
static_cast<float>(y),
static_cast<float>(z));
@@ -324,12 +333,14 @@ inline void Matrix4D::multVec(const Vector3f & src, Vector3f & dst) const
inline bool Matrix4D::operator== (const Matrix4D& rclMtrx) const
{
short iz, is;
unsigned short iz, is;
for (iz = 0; iz < 4; iz++)
for (is = 0; is < 4; is++)
for (iz = 0; iz < 4; iz++) {
for (is = 0; is < 4; is++) {
if (fabs(dMtrx4D[iz][is] - rclMtrx.dMtrx4D[iz][is]) > traits_type::epsilon())
return false;
}
}
return true;
}