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 class csVector3; 00037 00038 namespace CS { 00039 namespace Utility { 00040 00044 enum CameraMode 00045 { 00046 CAMERA_NO_MOVE = 0, 00047 CAMERA_MOVE_FREE, 00048 CAMERA_MOVE_LOOKAT, 00049 CAMERA_ROTATE 00050 }; 00051 00061 struct iCameraManager : public virtual iBase 00062 { 00063 SCF_INTERFACE (CS::Utility::iCameraManager, 1, 0, 0); 00064 00066 virtual void SetCamera (iCamera* camera) = 0; 00068 virtual iCamera* GetCamera () = 0; 00069 00071 virtual void SetCameraMode (CameraMode cameraMode) = 0; 00073 virtual CameraMode GetCameraMode () = 0; 00074 00079 virtual void SetStartPosition (csVector3 position) = 0; 00080 00084 virtual csVector3 GetStartPosition () = 0; 00085 00090 virtual void ClearStartPosition () = 0; 00091 00095 virtual bool HasStartPosition () = 0; 00096 00102 virtual void SwitchCameraPosition () = 0; 00103 00109 virtual void SetCameraTarget (csVector3 position) = 0; 00110 00116 virtual csVector3 GetCameraTarget () = 0; 00117 00123 virtual void SetCameraMinimumDistance (float distance) = 0; 00124 00130 virtual float GetCameraMinimumDistance () = 0; 00131 00143 virtual void SetMouseMoveEnabled (bool enabled) = 0; 00144 00148 virtual bool GetMouseMoveEnabled () = 0; 00149 00155 virtual void ResetCamera () = 0; 00156 00161 virtual void SetMotionSpeed (float speed) = 0; 00162 00166 virtual float GetMotionSpeed () = 0; 00167 00172 virtual void SetRotationSpeed (float speed) = 0; 00173 00177 virtual float GetRotationSpeed () = 0; 00178 }; 00179 00180 } //namespace Utility 00181 } //namespace CS 00182 00185 #endif // __CS_IVARIA_CAMERAMANAGER_H__
Generated for Crystal Space 2.0 by doxygen 1.6.1