/* camera.h -*-C++-*- * by Will Wagner * last updated 18 Aug 1997, 19:00:37 wwagner * * This file contains the camera class declaration for POVRay * * Changes * 11 Aug 1997 * - Added this comment block; minor changes. * * Things to do * */ #ifndef __INC_CAMERA_H__ #define __INC_CAMERA_H__ #include #include "frame.h" #include "matrix.h" #include "texture.h" #include "lexer.h" #include "vector.h" #define PERSPECTIVE_CAMERA 1 #define ORTHOGRAPHIC_CAMERA 2 #define FISHEYE_CAMERA 3 #define ULTRA_WIDE_ANGLE_CAMERA 4 #define OMNIMAX_CAMERA 5 #define PANORAMIC_CAMERA 6 #define CYL_1_CAMERA 7 #define CYL_2_CAMERA 8 #define CYL_3_CAMERA 9 #define CYL_4_CAMERA 10 #define TEST_CAMERA_1 11 #define TEST_CAMERA_2 12 #define TEST_CAMERA_3 13 #define TEST_CAMERA_4 14 class Camera { private: pov_vector location, direction, up, right, sky, look_at; DBL focal_distance, aperture, confidence, variance, angle; int blur_samples, type; TNormal *tnormal; public: Camera(); Camera(const Camera&); ~Camera(); int Parse(Tokenizer&); void Translate(const pov_vector&); void Rotate(const pov_vector&); void Scale(const pov_vector&); void Transform(const pov_vector&); }; #endif /* __INC_CAMERA_H__ */