/******************************************************************/ /* 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 }