Colobot
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Pages
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
Gfx::CCamera Class Reference

Camera moving in 3D scene. More...

#include <camera.h>

Public Member Functions

bool EventProcess (const Event &event)
 Management of an event.
 
void Init (Math::Vector eye, Math::Vector lookat, float delay)
 Initializes the camera.
 
void SetControllingObject (CObject *object)
 Sets the object controlling the camera.
 
CObjectGetControllingObject ()
 
void SetType (CameraType type)
 Change the type of camera.
 
CameraType GetType ()
 
void SetSmooth (CameraSmooth type)
 Management of the smoothing mode.
 
CameraSmooth GetSmoth ()
 
void SetDist (float dist)
 Management of the setback distance.
 
float GetDist ()
 
void SetFixDirection (float angle)
 Manage angle mode CAM_TYPE_FIX.
 
float GetFixDirection ()
 
void SetRemotePan (float value)
 Managing the triggering mode of the camera panning.
 
float GetRemotePan ()
 
void SetRemoteZoom (float value)
 Management of the remote zoom (0 .. 1) of the camera.
 
float GetRemoteZoom ()
 
void StartVisit (Math::Vector goal, float dist)
 Start with a tour round the camera.
 
void StopVisit ()
 Circular end of a visit with the camera.
 
void GetCamera (Math::Vector &eye, Math::Vector &lookat)
 Returns the point of view of the camera.
 
bool StartCentering (CObject *object, float angleH, float angleV, float dist, float time)
 Specifies a special movement of camera to frame action.
 
bool StopCentering (CObject *object, float time)
 Ends a special movement of camera to frame action.
 
void AbortCentering ()
 Stop framing special in the current position.
 
void FlushEffect ()
 Removes the special effect with the camera.
 
void StartEffect (CameraEffect effect, Math::Vector pos, float force)
 Starts a special effect with the camera.
 
void FlushOver ()
 Removes the effect of superposition in the foreground.
 
void SetOverBaseColor (Color color)
 Specifies the base color.
 
void StartOver (CameraOverEffect effect, Math::Vector pos, float force)
 
void FixCamera ()
 Sets the soft movement of the camera.
 
void SetScriptEye (Math::Vector eye)
 
void SetScriptLookat (Math::Vector lookat)
 
void SetEffect (bool enable)
 
void SetCameraScroll (bool scroll)
 
void SetCameraInvertX (bool invert)
 
void SetCameraInvertY (bool invert)
 
float GetMotorTurn ()
 Returns an additional force to turn.
 
EngineMouseType GetMouseDef (Math::Point pos)
 Returns the default sprite to use for the mouse.
 

Protected Member Functions

bool EventMouseMove (const Event &event)
 Changes the camera according to the mouse moved.
 
void EventMouseWheel (WheelDirection dir)
 Mouse wheel operation.
 
bool EventFrame (const Event &event)
 Changes the camera according to the time elapsed.
 
bool EventFrameFree (const Event &event)
 Moves the point of view.
 
bool EventFrameEdit (const Event &event)
 Moves the point of view.
 
bool EventFrameDialog (const Event &event)
 Moves the point of view.
 
bool EventFrameBack (const Event &event)
 Moves the point of view.
 
bool EventFrameFix (const Event &event)
 Moves the point of view.
 
bool EventFrameExplo (const Event &event)
 Moves the point of view.
 
bool EventFrameOnBoard (const Event &event)
 Moves the point of view.
 
bool EventFrameInfo (const Event &event)
 Moves the point of view.
 
bool EventFrameVisit (const Event &event)
 Moves the point of view.
 
bool EventFrameScript (const Event &event)
 Moves the point of view.
 
void SetViewTime (const Math::Vector &vEyePt, const Math::Vector &vLookatPt, float rTime)
 Specifies the location and direction of view to the 3D engine.
 
bool IsCollision (Math::Vector &eye, Math::Vector lookat)
 Avoid the obstacles.
 
bool IsCollisionBack (Math::Vector &eye, Math::Vector lookat)
 Avoid the obstacles.
 
bool IsCollisionFix (Math::Vector &eye, Math::Vector lookat)
 Avoid the obstacles.
 
Math::Vector ExcludeTerrain (Math::Vector eye, Math::Vector lookat, float &angleH, float &angleV)
 Adjusts the camera not to enter the ground.
 
Math::Vector ExcludeObject (Math::Vector eye, Math::Vector lookat, float &angleH, float &angleV)
 Adjusts the camera not to enter an object.
 
void SetViewParams (const Math::Vector &eye, const Math::Vector &lookat, const Math::Vector &up)
 Specifies the location and direction of view.
 
void EffectFrame (const Event &event)
 Advances the effect of the camera.
 
void OverFrame (const Event &event)
 Advanced overlay effect in the foreground.
 

Protected Attributes

CEnginem_engine
 
CRobotMainm_main
 
CTerrainm_terrain
 
CWaterm_water
 
CameraType m_type
 The type of camera.
 
CameraSmooth m_smooth
 Type of smoothing.
 
CObjectm_cameraObj
 Object linked to the camera.
 
float m_eyeDistance
 Distance between the eyes.
 
float m_initDelay
 Time of initial centering.
 
Math::Vector m_actualEye
 Current eye.
 
Math::Vector m_actualLookat
 Current aim.
 
Math::Vector m_finalEye
 Final eye.
 
Math::Vector m_finalLookat
 Final aim.
 
Math::Vector m_normEye
 Normal eye.
 
Math::Vector m_normLookat
 Normal aim.
 
float m_focus
 
bool m_rightDown
 
Math::Point m_rightPosInit
 
Math::Point m_rightPosCenter
 
Math::Point m_rightPosMove
 
Math::Vector m_eyePt
 CAM_TYPE_FREE: eye.
 
float m_directionH
 CAM_TYPE_FREE: horizontal direction.
 
float m_directionV
 CAM_TYPE_FREE: vertical direction.
 
float m_heightEye
 CAM_TYPE_FREE: height above the ground.
 
float m_heightLookat
 CAM_TYPE_FREE: height above the ground.
 
float m_speed
 CAM_TYPE_FREE: speed of movement.
 
float m_backDist
 CAM_TYPE_BACK: distance.
 
float m_backMin
 CAM_TYPE_BACK: distance minimal.
 
float m_addDirectionH
 CAM_TYPE_BACK: additional direction.
 
float m_addDirectionV
 CAM_TYPE_BACK: additional direction.
 
bool m_transparency
 
float m_fixDist
 CAM_TYPE_FIX: distance.
 
float m_fixDirectionH
 CAM_TYPE_FIX: direction.
 
float m_fixDirectionV
 CAM_TYPE_FIX: direction.
 
Math::Vector m_visitGoal
 CAM_TYPE_VISIT: target position.
 
float m_visitDist
 CAM_TYPE_VISIT: distance.
 
float m_visitTime
 CAM_TYPE_VISIT: relative time.
 
CameraType m_visitType
 CAM_TYPE_VISIT: initial type.
 
float m_visitDirectionH
 CAM_TYPE_VISIT: direction.
 
float m_visitDirectionV
 CAM_TYPE_VISIT: direction.
 
float m_editHeight
 CAM_TYPE_EDIT: height.
 
float m_remotePan
 
float m_remoteZoom
 
Math::Point m_mousePos
 
float m_mouseDirH
 
float m_mouseDirV
 
float m_mouseMarging
 
float m_motorTurn
 
CenteringPhase m_centeringPhase
 
float m_centeringAngleH
 
float m_centeringAngleV
 
float m_centeringDist
 
float m_centeringCurrentH
 
float m_centeringCurrentV
 
float m_centeringTime
 
float m_centeringProgress
 
CameraEffect m_effectType
 
Math::Vector m_effectPos
 
float m_effectForce
 
float m_effectProgress
 
Math::Vector m_effectOffset
 
CameraOverEffect m_overType
 
float m_overForce
 
float m_overTime
 
Color m_overColorBase
 
Color m_overColor
 
int m_overMode
 
float m_overFadeIn
 
float m_overFadeOut
 
Math::Vector m_scriptEye
 
Math::Vector m_scriptLookat
 
bool m_effect
 Shocks if explosion?
 
bool m_cameraScroll
 Scroll in the edges?
 
bool m_cameraInvertX
 X inversion in the edges?
 
bool m_cameraInvertY
 Y inversion in the edges?
 

Detailed Description

Camera moving in 3D scene.

...


The documentation for this class was generated from the following files: