// cCamera.h
// 2/28/04
// Forrest Briggs
// The camera class stores a position, look at and up direction
//  and moves around.

#ifndef ccamera_h
#define ccamera_h

#include "ForwardDeclarations.h"
#include "cVector.h"
#include "cBall.h"

class cCamera
{
private:
    cVector position_, lookAt_, upDir_;
    float ticker_; 	// used in demo to count updates and make the camera orbit the origin.
    cBall* ball_;	// ball to follow
    
public:
    float phi_;
    float theta_;
    float radius_;

    cCamera(cBall* ball); 		
    
    void update(float dt); // move the camera
    
    void look(); // call gluLookAt
};

#endif // end define cccamera_h