SuperTuxKart
|
Handles the end race camera. More...
#include <camera_end.hpp>
Classes | |
class | EndCameraInformation |
A class that stores information about the different end cameras which can be specified in the scene.xml file. More... | |
Public Member Functions | |
virtual void | update (float dt) OVERRIDE |
Called once per time frame to move the camera to the right position. | |
![]() | |
void | snapToPosition () |
bool | isDebug () |
bool | isFPS () |
virtual void | update (float dt) OVERRIDE |
Called once per time frame to move the camera to the right position. | |
void | setAmbientLight (const video::SColor &color) |
Sets the ambient light for this camera. | |
void | setDistanceToKart (float distance) |
float | getDistanceToKart () const |
const video::SColor & | getAmbientLight () const |
Returns the current ambient light. | |
![]() | |
void | setMode (Mode mode) |
Sets the mode of the camera. | |
Mode | getMode () |
Set the camera to the given mode. | |
Mode | getPreviousMode () |
Returns the last known mode of the camera. | |
bool | isSpectatorMode () |
Returns true if camera is a spectator camera. | |
void | setNextSpectatorMode () |
Switch to next spectator mode (a -> soccer -> top view -> a) | |
void | setKart (AbstractKart *new_kart) |
Changes the owner of this camera to the new kart. | |
virtual void | setInitialTransform () |
Saves the current kart position as the initial starting position for the camera. | |
virtual void | activate (bool alsoActivateInIrrlicht=true) |
Sets viewport etc. | |
virtual void | update (float dt) |
Called once per time frame to move the camera to the right position. | |
CameraType | getType () |
Returns the type of this camera. | |
void | setFoV () |
Sets the field of view for the irrlicht camera. | |
int | getIndex () const |
Returns the camera index (or player kart index, which is the same). | |
core::matrix4 | getPreviousPVMatrix () const |
Returns the project-view matrix of the previous frame. | |
void | setPreviousPVMatrix (core::matrix4 mat) |
Returns the project-view matrix of the previous frame. | |
const AbstractKart * | getKart () const |
Returns the kart to which this camera is attached. | |
AbstractKart * | getKart () |
Returns the kart to which this camera is attached. | |
void | setAmbientLight (const video::SColor &color) |
Sets the ambient light for this camera. | |
const video::SColor & | getAmbientLight () const |
Returns the current ambient light. | |
const core::recti & | getViewport () const |
Returns the viewport of this camera. | |
const core::vector2df & | getScaling () const |
Returns the scaling in x/y direction for this camera. | |
scene::ICameraSceneNode * | getCameraSceneNode () |
Returns the camera scene node. | |
Vec3 | getXYZ () |
Returs the absolute position of the camera. | |
void | setupCamera () |
Sets up the viewport, aspect ratio, field of view, and scaling for this camera. | |
Static Public Member Functions | |
static void | readEndCamera (const XMLNode &root) |
Reads the information about the end camera. | |
static void | clearEndCameras () |
This function clears all end camera data structure. | |
![]() | |
static Camera * | createCamera (AbstractKart *kart, const int index) |
Creates a new camera and adds it to the list of all cameras. | |
static void | resetAllCameras () |
static void | changeCamera (unsigned int camera_index, CameraType type) |
static void | setDefaultCameraType (CameraType type) |
Sets the default type for each camera that will be created. | |
static CameraType | getDefaultCameraType () |
Returns the default type for each camera that will be created. | |
static unsigned int | getNumCameras () |
Returns the number of cameras used. | |
static Camera * | getCamera (unsigned int n) |
Returns a camera. | |
static Camera * | getActiveCamera () |
Returns the currently active camera. | |
static void | removeAllCameras () |
Remove all cameras. | |
Private Member Functions | |
void | handleEndCamera (float dt) |
CameraEnd (int camera_index, AbstractKart *kart) | |
Private Attributes | |
unsigned int | m_current_end_camera |
Index of the current end camera. | |
unsigned int | m_next_end_camera |
The next end camera to be activated. | |
Static Private Attributes | |
static AlignedArray< EndCameraInformation > | m_end_cameras |
List of all end camera information. | |
Friends | |
class | Camera |
Additional Inherited Members | |
![]() | |
enum | CameraType { CM_TYPE_NORMAL , CM_TYPE_DEBUG , CM_TYPE_FPS , CM_TYPE_END } |
The different camera types that can be used. More... | |
enum | Mode { CM_NORMAL , CM_CLOSEUP , CM_REVERSE , CM_LEADER_MODE , CM_SPECTATOR_SOCCER , CM_SPECTATOR_TOP_VIEW , CM_SIMPLE_REPLAY , CM_FALLING } |
![]() | |
Camera (CameraType type, int camera_index, AbstractKart *kart) | |
virtual | ~Camera () |
Removes the camera scene node from the scene. | |
virtual void | reset () |
Reset is called when a new race starts. | |
![]() | |
static Camera * | createCamera (unsigned int index, CameraType type, AbstractKart *kart) |
Creates a camera of the specified type, but does not add it to the list of all cameras. | |
![]() | |
scene::ICameraSceneNode * | m_camera |
The camera scene node. | |
AbstractKart * | m_kart |
The kart that the camera follows. | |
Handles the end race camera.
It inherits from CameraNormal to make use of the normal camera implementation of a reverse camera.
|
static |
This function clears all end camera data structure.
This is necessary since all end cameras are shared between all camera instances (i.e. are static), otherwise (if no end camera is defined for a track) the old end camera structure would be used.
|
static |
Reads the information about the end camera.
This information is shared between all cameras, so this is a static function.
node | The XML node containing all end camera informations |
|
virtual |
Called once per time frame to move the camera to the right position.
This function handles the end camera. It adjusts the camera position according to the current camera type, and checks if a switch to the next camera should be made.
dt | Time step size. |
Reimplemented from CameraNormal.
|
staticprivate |
List of all end camera information.
This information is shared between all cameras, so it's static.