00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #ifndef _CIvfView_h_
00026 #define _CIvfView_h_
00027
00028 #include <ivf/IvfObject.h>
00029 #include <ivf/IvfViewport.h>
00030
00031 #include <ivfmath/IvfViewFrustum.h>
00032
00033 IvfSmartPointer(CIvfView);
00034
00042 class IVF_API CIvfView : public CIvfObject {
00043 private:
00044 int m_viewX;
00045 int m_viewY;
00046 int m_viewHeight;
00047 int m_viewWidth;
00048 double m_viewAspect;
00049
00050 CIvfViewportPtr m_viewport;
00051
00052 bool m_selectTransform;
00053 public:
00054 void setViewport(CIvfViewport* viewport);
00055 CIvfViewport* getViewport();
00057 CIvfView();
00058
00060 virtual ~CIvfView();
00061
00062 IvfClassInfo("CIvfView",CIvfObject);
00063
00070 virtual void initialize();
00071
00082 virtual void initializeSelect(int x, int y, int w, int h);
00083
00092 void setViewPort(int width, int height);
00093
00101 virtual void getViewFrustum(CIvfViewFrustum* frustum);
00102
00104 void getViewPort(int &w, int &h);
00105
00107 void setViewPort(int tx, int ty, int tw, int th);
00108
00110 void getViewPort(int &tx, int &ty, int &tw, int &th);
00111
00113 double getAspect();
00114
00115
00116
00117 void setSelectTransform(bool flag);
00118 protected:
00119
00120
00121
00122 void beginTransform();
00123 virtual void viewTransform();
00124 virtual void projectionTransform();
00125 };
00126
00127 #endif