private:
int ScaleDisplacement(int srcVal) const
{
- long long tmpVal = srcVal;
- tmpVal *= __dstScalar;
- tmpVal /= __srcScalar;
+ if (__srcScalar)
+ {
+ long long tmpVal = srcVal;
+ tmpVal *= __dstScalar;
+ tmpVal /= __srcScalar;
- return static_cast<int>(tmpVal);
+ return static_cast<int>(tmpVal);
+ }
+ else // defence code for division by zero
+ {
+ return srcVal;
+ }
}
int ScaleLength(int srcVal) const
{
- long long tmpVal = srcVal;
- tmpVal *= __dstScalar;
- tmpVal /= __srcScalar;
+ if (__srcScalar)
+ {
+ long long tmpVal = srcVal;
+ tmpVal *= __dstScalar;
+ tmpVal /= __srcScalar;
- return static_cast<int>(tmpVal);
+ return static_cast<int>(tmpVal);
+ }
+ else // defence code for division by zero
+ {
+ return srcVal;
+ }
}
float ScaleDisplacement(float srcVal) const