00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021 #ifndef CAELUM__CAMERA_BOUND_ELEMENT_H
00022 #define CAELUM__CAMERA_BOUND_ELEMENT_H
00023
00024 #include "CaelumPrerequisites.h"
00025
00026 namespace Caelum
00027 {
00044 class CAELUM_EXPORT CameraBoundElement
00045 {
00046 private:
00048 bool mAutoRadius;
00049
00050 public:
00053 CameraBoundElement();
00054
00056 virtual ~CameraBoundElement ();
00057
00064 virtual void notifyCameraChanged (Ogre::Camera *cam) = 0;
00065
00077 void forceFarRadius (Ogre::Real radius);
00078
00083 bool getAutoRadius () const;
00084
00089 void setAutoRadius ();
00090
00095 static const Ogre::Real CAMERA_FAR_DISTANCE_MULTIPLIER;
00096
00101 static const Ogre::Real CAMERA_NEAR_DISTANCE_MULTIPLIER;
00102
00103 protected:
00108 virtual void setFarRadius (Ogre::Real radius);
00109 };
00110 }
00111
00112 #endif // CAELUM__CAMERA_BOUND_ELEMENT_H