00001
00011 #ifndef __VIEWPLANE__
00012 #define __VIEWPLANE__
00013 #pragma once
00014
00015 #include "vector.h"
00016 #include "globals.h"
00017 #include "volume.h"
00018 #include "ray.h"
00019
00022 class Camera
00023 {
00024 public:
00025 Camera(void);
00026 ~Camera(void);
00027 Camera(Vector pos, Vector dir);
00028 void setDimension(int width,int height);
00029 void rotate(Vector Center,int x, int y,int z);
00031
00032
00033
00034
00035 Vector getWCFromSC(int screen_x, int screen_y);
00036 Ray getRayFromSC(int screen_x, int screen_y);
00037 Vector getDir(void) {return mDir;};
00038 Vector getPos(void) {return mPos;};
00039 float getDistance(void);
00040 int getHeight(void);
00041 int getWidth(void);
00042 private:
00043 Vector mPos, mDir, mUpDir, mRightDir, mOrigin;
00044 int iWidth, iHeight;
00045 float step_x,step_y,fDistance;
00046 };
00047
00048 #endif