/******************************************************************/
/* This file is part of the homework assignments for CSCI-427/527 */
/* at The College of William & Mary and authored by Pieter Peers. */
/* No part of this file, whether altered or in original form, can */
/* be distributed or used outside the context of CSCI-427/527 */
/* without consent of either the College of William & Mary or */
/* Pieter Peers. */
/******************************************************************/
#include "scale3d.h"
//////////////////
// Constructors //
//////////////////
scale3d::scale3d(void) : transformation3d()
{
// Do Nothing
}
scale3d::scale3d(float uniformScale) : transformation3d()
{
// HW5: implement a scale with the factors for the X, Y, and Z axis being
// the same for all, namely: uniformScale
// Modifies: _transformation, _inverseTransformation, _translation
// Returns: nothing.
scale3d(uniformScale, uniformScale, uniformScale);
}
scale3d::scale3d(float scaleX, float scaleY, float scaleZ) : transformation3d()
{
// HW5: implement a scale with the factors for the X, Y, and Z axis being:
// scaleX, scaleY, and scaleZ respectively.
// Modifies: _transformation, _inverseTransformation, _translation
// Returns: nothing.
_transformation(0, 0) *= scaleX;
_transformation(1, 1) *= scaleY;
_transformation(2, 2) *= scaleZ;
_inverseTransformation(0, 0) /= scaleX;
_inverseTransformation(1, 1) /= scaleY;
_inverseTransformation(2, 2) /= scaleZ;
}
scale3d::scale3d(const scale3d& s) : transformation3d(s)
{
// Do Nothing
}