00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CEL_PF_CAMERA__
00021 #define __CEL_PF_CAMERA__
00022
00023 #include "cstypes.h"
00024 #include "csutil/scf.h"
00025
00026 struct iCamera;
00027 struct iView;
00028 struct iPcRegion;
00029 struct iPcZoneManager;
00030
00034 struct iPcCamera : public virtual iBase
00035 {
00036 SCF_INTERFACE (iPcCamera, 0, 0, 5);
00037
00044 virtual bool SetRegion (iPcRegion* region, bool point = true,
00045 const char* name = 0) = 0;
00046
00054 virtual bool SetZoneManager (iPcZoneManager* zonemgr, bool point,
00055 const char* regionname, const char* name = 0) = 0;
00056
00064 virtual bool SetZoneManager (const char* entityname, bool point,
00065 const char* regionname, const char* name = 0) = 0;
00066
00076 virtual void SetRectangle (int x, int y, int w, int h) = 0;
00077
00081 virtual iCamera* GetCamera () const = 0;
00082
00086 virtual iView* GetView () const = 0;
00087
00094 CS_DEPRECATED_METHOD_MSG("Z buffer clearing handled automatically")
00095 virtual void SetClearZBuffer (bool flag) = 0;
00096
00100 CS_DEPRECATED_METHOD_MSG("Z buffer clearing handled automatically")
00101 virtual bool GetClearZBuffer () const = 0;
00102
00109 CS_DEPRECATED_METHOD_MSG("Screen clearing handled automatically")
00110 virtual void SetClearScreen (bool flag) = 0;
00111
00115 CS_DEPRECATED_METHOD_MSG("Screen clearing handled automatically")
00116 virtual bool GetClearScreen () const = 0;
00117
00121 virtual void DisableDistanceClipping () = 0;
00122
00130 virtual void EnableFixedDistanceClipping (float dist) = 0;
00131
00142 virtual void EnableAdaptiveDistanceClipping (float min_fps,
00143 float max_fps, float min_dist) = 0;
00144
00148 virtual bool UseDistanceClipping () const = 0;
00149
00153 virtual bool UseFixedDistanceClipping () const = 0;
00154
00158 virtual float GetFixedDistance () const = 0;
00159
00163 virtual float GetAdaptiveMinFPS () const = 0;
00164
00168 virtual float GetAdaptiveMaxFPS () const = 0;
00169
00173 virtual float GetAdaptiveMinDistance () const = 0;
00174
00181 virtual void SetAutoDraw (bool auto_draw) = 0;
00182
00186 virtual void Draw () = 0;
00187
00192 virtual void UpdateCamera () = 0;
00193
00197 CS_DEPRECATED_METHOD_MSG("Deprecated by screen and zbuffer clearing changes")
00198 virtual int GetDrawFlags () = 0;
00199
00205 virtual void SetPerspectiveCenter (float x, float y) = 0;
00206 };
00207
00208 #endif // __CEL_PF_CAMERA__
00209