00001
00002
00004
00005 #if !defined(AFX_TPERSPKAM_H__ADB242A6_C6FF_4C1B_AE0A_BB03D31EE050__INCLUDED_)
00006 #define AFX_TPERSPKAM_H__ADB242A6_C6FF_4C1B_AE0A_BB03D31EE050__INCLUDED_
00007
00008 #if _MSC_VER > 1000
00009 #pragma once
00010 #endif // _MSC_VER > 1000
00011
00012 #include "TKameraInterface.h"
00013 #include <qstring.h>
00014 #include "TPerspKamSettings.h"
00015 class TPerspKam : public TKameraInterface
00016 {
00017 private:
00018 TKoo3d<float> relUpVector;
00019 TKoo3d<float> upVector;
00020 TKoo3d<float> perpUpView;
00021 TKoo3d<float> viewVector;
00022 TKoo3d<float> referencePoint;
00023 float resX;
00024 float resY;
00025 float viewDist;
00026 float focusDistance;
00027 void recalcPerpUpView();
00028 public:
00029 virtual QString getName();
00030 virtual QDialog* getSettingsWidget();
00031 TPerspKam(TKoo3d<float>& up, TKoo3d<float>& view, TKoo3d<float>& ref, float dist, float rx, float ry, float focDist);
00032 virtual ~TPerspKam();
00033 virtual void setUpVector(TKoo3d<float>& up);
00034 virtual TKoo3d<float> getUpVector();
00035 virtual void setViewVektor(TKoo3d<float>& view);
00036 virtual TKoo3d<float> getViewVektor();
00037 virtual void setReferencePoint(TKoo3d<float>& ref);
00038 virtual TKoo3d<float> getReferencePoint();
00039 virtual void setViewPlaneDist(float d);
00040 virtual float getViewPlaneDist();
00041 virtual void setResolution(float x, float y);
00042 virtual void getResolution(float* dim);
00043 virtual void setFocusDistance(float focDist);
00044 virtual float getFocusDistance();
00045 virtual TKoo3d<float> getViewRayAt(float x, float y);
00046 virtual TKoo3d<float> getRayStart(float x, float y);
00047
00048 };
00049
00050
00051 #endif // !defined(AFX_TPERSPKAM_H__ADB242A6_C6FF_4C1B_AE0A_BB03D31EE050__INCLUDED_)