propclass/cameras/tracking.h
00001 /* 00002 Crystal Space Entity Layer 00003 Copyright (C) 2001 by Jorrit Tyberghein 00004 00005 This library is free software; you can redistribute it and/or 00006 modify it under the terms of the GNU Library General Public 00007 License as published by the Free Software Foundation; either 00008 version 2 of the License, or (at your option) any later version. 00009 00010 This library is distributed in the hope that it will be useful, 00011 but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00013 Library General Public License for more details. 00014 00015 You should have received a copy of the GNU Library General Public 00016 License along with this library; if not, write to the Free 00017 Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 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 // position, target, up 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__
Generated for CEL: Crystal Entity Layer 2.0 by doxygen 1.6.1
