#pragma once #include "Point.h" class Transform { public: Transform(const Point& location = {}, double scaleX = 1.0, double scaleY = 1.0, double scaleZ = 1.0); const Point& getLocation() const { return mLocation; } double getScaleX() const { return mScaleX; } double getScaleY() const { return mScaleY; } double getScaleZ() const { return mScaleZ; } bool operator==(const Transform& rhs) const { return (mLocation == rhs.mLocation) && (mScaleX == rhs.mScaleX) && (mScaleY == rhs.mScaleY) && (mScaleZ == rhs.mScaleZ); } bool operator!=(const Transform& rhs) const { return !operator==(rhs); } private: Point mLocation; double mScaleX{1}; double mScaleY{1}; double mScaleZ{1}; };