Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef __CS_IENGINE_CAMPOS_H__
00020 #define __CS_IENGINE_CAMPOS_H__
00021
00029 #include "csutil/scf.h"
00030
00031 class csVector3;
00032 class csPlane3;
00033 struct iObject;
00034 struct iEngine;
00035 struct iCamera;
00036
00037
00060 struct iCameraPosition : public virtual iBase
00061 {
00062 SCF_INTERFACE(iCameraPosition,2,0,1);
00064 virtual iObject *QueryObject() = 0;
00065
00067 virtual iCameraPosition* Clone () const = 0;
00068
00070 virtual const char *GetSector () = 0;
00072 virtual void SetSector (const char *Name) = 0;
00073
00075 virtual const csVector3 &GetPosition () = 0;
00077 virtual void SetPosition (const csVector3 &p) = 0;
00078
00080 virtual const csVector3 &GetUpwardVector () = 0;
00082 virtual void SetUpwardVector (const csVector3 &v) = 0;
00083
00085 virtual const csVector3 &GetForwardVector () = 0;
00087 virtual void SetForwardVector (const csVector3 &v) = 0;
00088
00090 virtual void Set (const char *sector, const csVector3 &pos,
00091 const csVector3 &forward, const csVector3 &upward) = 0;
00092
00094 virtual bool Load (iCamera* camera, iEngine* engine) = 0;
00095
00104 virtual void SetFarPlane (csPlane3* pl) = 0;
00105
00110 virtual void ClearFarPlane () = 0;
00111
00115 virtual csPlane3* GetFarPlane () const = 0;
00116
00118 virtual void Save (iCamera* camera) = 0;
00119 };
00120
00131 struct iCameraPositionList : public virtual iBase
00132 {
00133 SCF_INTERFACE(iCameraPositionList,2,1,0);
00135 virtual iCameraPosition* NewCameraPosition (const char* name) = 0;
00136
00138 virtual csPtr<iCameraPosition> CreateCameraPosition (const char* name) = 0;
00139
00141 virtual int GetCount () const = 0;
00142
00144 virtual iCameraPosition *Get (int n) const = 0;
00145
00147 virtual int Add (iCameraPosition *obj) = 0;
00148
00150 virtual bool Remove (iCameraPosition *obj) = 0;
00151
00153 virtual bool Remove (int n) = 0;
00154
00156 virtual void RemoveAll () = 0;
00157
00159 virtual int Find (iCameraPosition *obj) const = 0;
00160
00162 virtual iCameraPosition *FindByName (const char *Name) const = 0;
00163 };
00164
00167 #endif // __CS_IENGINE_CAMPOS_H__
00168