00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020 #ifndef __CEL_PF_TRACKINGCAMERA__
00021 #define __CEL_PF_TRACKINGCAMERA__
00022
00023 #include "propclass/delegcam.h"
00024
00025 struct iPcTrackingCamera : public virtual iPcCameraMode
00026 {
00027 SCF_INTERFACE (iPcTrackingCamera, 0, 0, 1);
00028
00029 virtual bool DecideState () = 0;
00030
00031 virtual const csVector3 &GetPosition () = 0;
00032 virtual const csVector3 &GetTarget () = 0;
00033 virtual const csVector3 &GetUp () = 0;
00034
00039 virtual bool ResetCamera () = 0;
00040
00041 enum TargetState
00042 {
00043 TARGET_BASE = 0,
00044 TARGET_OBJ,
00045 TARGET_NONE
00046 };
00047
00052 virtual bool SetTargetEntity (const char* name) = 0;
00053
00060 virtual void SetTargetState (TargetState targetstate) = 0;
00061
00065 virtual TargetState GetTargetState () = 0;
00066
00071 virtual void SetTargetYOffset (float targetyoffset) = 0;
00072
00077 virtual float GetTargetYOffset () const = 0;
00078
00083 virtual void SetTargetInterpolationTime (csTicks t) = 0;
00084
00089 virtual csTicks GetTargetInterpolationTime () const = 0;
00090
00095 virtual void SetOffsetAngle (float angle) = 0;
00096
00101 virtual float GetOffsetAngle () const = 0;
00102
00107 virtual void SetOffsetDistance (float dist) = 0;
00108
00113 virtual float GetOffsetDistance () const = 0;
00114
00118 virtual void SetFollowSpringLength (float slen) = 0;
00119
00123 virtual float GetFollowSpringLength () const = 0;
00124
00129 virtual void SetFollowMinimumSpringFactor (float smin) = 0;
00130
00134 virtual float GetFollowMinimumSpringFactor () const = 0;
00135
00140 virtual void SetPanDirection (float pandir) = 0;
00141
00145 virtual float GetPanDirection () const = 0;
00146
00150 virtual void SetPanSpeed (float panspeed) = 0;
00151
00155 virtual float GetPanSpeed () const = 0;
00156
00160 virtual void SetPanAcceleration (float paccel) = 0;
00161
00165 virtual float GetPanAcceleration () const = 0;
00166
00171 virtual void SetTiltDirection (float tdir) = 0;
00172
00176 virtual float GetTiltDirection () const = 0;
00177
00181 virtual void SetTiltSpeed (float tiltspeed) = 0;
00182
00186 virtual float GetTiltSpeed () const = 0;
00187
00191 virtual void SetTiltAcceleration (float paccel) = 0;
00192
00196 virtual float GetTiltAcceleration () const = 0;
00197
00201 virtual void SetZoomOutCorrectionSpeed (float zoomspeed) = 0;
00202
00206 virtual float GetZoomOutCorrectionSpeed () const = 0;
00207 };
00208
00209 #endif // __CEL_PF_TRACKINGCAMERA__