ivaria/cameramanager.h
Go to the documentation of this file.00001 /* 00002 Copyright (C) 2010-11 Christian Van Brussel, Institute of Information 00003 and Communication Technologies, Electronics and Applied Mathematics 00004 at Universite catholique de Louvain, Belgium 00005 http://www.uclouvain.be/en-icteam.html 00006 00007 This library is free software; you can redistribute it and/or 00008 modify it under the terms of the GNU Library General Public 00009 License as published by the Free Software Foundation; either 00010 version 2 of the License, or (at your option) any later version. 00011 00012 This library is distributed in the hope that it will be useful, 00013 but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 Library General Public License for more details. 00016 00017 You should have received a copy of the GNU Library General Public 00018 License along with this library; if not, write to the Free 00019 Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. 00020 */ 00021 #ifndef __CS_IVARIA_CAMERAMANAGER_H__ 00022 #define __CS_IVARIA_CAMERAMANAGER_H__ 00023 00032 #include "cssysdef.h" 00033 #include "csutil/scf.h" 00034 00035 struct iCamera; 00036 struct iMovable; 00037 class csVector3; 00038 00039 namespace CS { 00040 namespace Utility { 00041 00045 enum CameraMode 00046 { 00047 CAMERA_NO_MOVE = 0, 00048 CAMERA_MOVE_FREE, 00049 CAMERA_MOVE_LOOKAT, 00050 CAMERA_ROTATE 00051 }; 00052 00062 struct iCameraManager : public virtual iBase 00063 { 00064 SCF_INTERFACE (CS::Utility::iCameraManager, 2, 0, 0); 00065 00067 virtual void SetCamera (iCamera* camera) = 0; 00069 virtual iCamera* GetCamera () = 0; 00070 00072 virtual void SetCameraMode (CameraMode cameraMode) = 0; 00074 virtual CameraMode GetCameraMode () const = 0; 00075 00080 virtual void SetStartPosition (csVector3 position) = 0; 00081 00085 virtual csVector3 GetStartPosition () const = 0; 00086 00091 virtual void ClearStartPosition () = 0; 00092 00096 virtual bool HasStartPosition () const = 0; 00097 00103 virtual void SwitchCameraPosition () = 0; 00104 00110 virtual void SetCameraTarget (csVector3 position) = 0; 00111 00118 virtual csVector3 GetCameraTarget () const = 0; 00119 00125 virtual void SetCameraMinimumDistance (float distance) = 0; 00126 00132 virtual float GetCameraMinimumDistance () const = 0; 00133 00145 virtual void SetMouseMoveEnabled (bool enabled) = 0; 00146 00150 virtual bool GetMouseMoveEnabled () const = 0; 00151 00157 virtual void ResetCamera () = 0; 00158 00163 virtual void SetMotionSpeed (float speed) = 0; 00164 00168 virtual float GetMotionSpeed () const = 0; 00169 00174 virtual void SetRotationSpeed (float speed) = 0; 00175 00179 virtual float GetRotationSpeed () const = 0; 00180 00186 virtual void SetCameraTarget (iMovable* target) = 0; 00187 }; 00188 00189 } //namespace Utility 00190 } //namespace CS 00191 00194 #endif // __CS_IVARIA_CAMERAMANAGER_H__
Generated for Crystal Space 2.1 by doxygen 1.6.1
