#ifndef BASEOBJECT_H_INCLUDED #define BASEOBJECT_H_INCLUDED #include #include class BaseObject { public: virtual ~BaseObject( void ) {} void setColour( const Pixel &newc ) { c = newc; } Pixel getColour( void ) { return c; } void setReflectivity( double reflectivity ) { r = reflectivity; } double getReflectivity( void ) const { return r; } virtual bool closestIntersect( Vector3 *pos, Vector3 *normal, const Vector3 &origin, const Vector3 &direction ) const = 0; protected: BaseObject( void ) : r( 0.0 ) {} private: Pixel c; double r; }; #endif /* BASEOBJECT_H_INCLUDED */