00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011 #ifndef __mitkSplatCamera_h
00012 #define __mitkSplatCamera_h
00013
00014 #include "mitkCamera.h"
00015
00016 #include <GL/gl.h>
00017 #include <GL/glu.h>
00018
00030 class MITK_VISUALIZATION_API mitkSplatCamera : public mitkCamera
00031 {
00032 public:
00033 MITK_TYPE(mitkSplatCamera, mitkCamera)
00034
00035 virtual void PrintSelf(ostream &os);
00036
00037 mitkSplatCamera();
00038
00042 virtual void Frustum(float left, float right, float bottom, float top, float zNear, float zFar);
00043
00047 virtual void Perspective(float fovy, float aspect, float zNear, float zFar);
00048
00052 void GetPerspectiveMatrix(mitkMatrix *m);
00053
00057 void GetPerspectiveMatrix(float m[16]);
00058
00062 const mitkMatrix* GetPerspectiveMatrix(void) { return m_PerspectiveMatrix; }
00063
00067 void GetNormalizationMatrix(mitkMatrix *m);
00068
00072 void GetNormalizationMatrix(float m[16]);
00073
00077 const mitkMatrix* GetNormalizationMatrix(void) { return m_NormalizationMatrix; }
00078
00079 protected:
00080 virtual ~mitkSplatCamera();
00081
00082 mitkMatrix *m_PerspectiveMatrix;
00083 mitkMatrix *m_NormalizationMatrix;
00084
00085 private:
00086 mitkSplatCamera(const mitkSplatCamera&);
00087 void operator = (const mitkSplatCamera&);
00088
00089 };
00090
00091 #endif
00092