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 _CIvfLOD_h_
00026 #define _CIvfLOD_h_
00027
00028 #include <ivf/IvfSwitch.h>
00029 #include <ivf/IvfCamera.h>
00030
00031 IvfSmartPointer(CIvfLOD);
00032
00040 class IVF_API CIvfLOD : public CIvfSwitch {
00041 public:
00043 CIvfLOD ();
00044
00046 virtual ~CIvfLOD ();
00047
00048 IvfClassInfo("CIvfLOD",CIvfSwitch);
00049
00051 void setCamera(CIvfCamera* camera);
00052
00054 CIvfCamera* getCamera();
00055
00064 void setLimits(double nearLimit, double farLimit);
00065
00067 void getLimits(double &nearLimit, double &farLimit);
00068 private:
00069 double m_nearLimit;
00070 double m_farLimit;
00071
00072 CIvfCamera* m_camera;
00073 virtual void createGeometry();
00074 protected:
00075 double theta(double x);
00076 virtual double lodFunction(double dist);
00077 };
00078
00083 #endif