#ifndef TRANSFORMATION_H #define TRANSFORMATION_H #include namespace pool_tutorial { // A simple transformation class class Transformation { public: // a space point class Point3d { public: Point3d(): x( 0 ), y( 0 ), z( 0 ) {} virtual ~Point3d() {} double x; double y; double z; }; // Default constructor Transformation(); // Copy constructor Transformation( const Transformation& rhs ); // Assignment operator Transformation& operator=( const Transformation& rhs ); // Destructor virtual ~Transformation(); // Returns the transformed value double value( int iValue ) const; // Returns the position corresponding to an index const Point3d& position( int index ) const; private: // The conversion factor double m_conversionFactor; // The index to position mapping std::vector< Point3d > m_points; }; } #endif