Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Public Member Functions | Public Attributes | Private Attributes | List of all members
CCamera Class Reference

#include <Camera.h>

Public Member Functions

 CCamera ()
 
 ~CCamera ()
 
void SetProjection (float nearp, float farp, float fov)
 
void SetProjection (const CMatrix3D &matrix)
 
void SetProjectionTile (int tiles, int tile_x, int tile_y)
 
CMatrix3DGetProjection ()
 
const CMatrix3DGetProjection () const
 
CMatrix3DGetOrientation ()
 
const CMatrix3DGetOrientation () const
 
CMatrix3D GetViewProjection () const
 
void UpdateFrustum (const CBoundingBoxAligned &scissor=CBoundingBoxAligned(CVector3D(-1.0f,-1.0f,-1.0f), CVector3D(1.0f, 1.0f, 1.0f)))
 
void ClipFrustum (const CPlane &clipPlane)
 
const CFrustumGetFrustum () const
 
void SetViewPort (const SViewPort &viewport)
 
const SViewPortGetViewPort () const
 
float GetNearPlane () const
 
float GetFarPlane () const
 
float GetFOV () const
 
void GetCameraPlanePoints (float dist, CVector3D pts[4]) const
 
void BuildCameraRay (int px, int py, CVector3D &origin, CVector3D &dir) const
 
void GetScreenCoordinates (const CVector3D &world, float &x, float &y) const
 
CVector3D GetWorldCoordinates (int px, int py, bool aboveWater=false) const
 
CVector3D GetWorldCoordinates (int px, int py, float h) const
 
CVector3D GetFocus () const
 
void LookAt (const CVector3D &camera, const CVector3D &orientation, const CVector3D &up)
 
void LookAlong (CVector3D camera, CVector3D focus, CVector3D up)
 
void Render (int intermediates=0) const
 Render: Renders the camera's frustum in world space. More...
 

Public Attributes

CMatrix3D m_Orientation
 
CMatrix3D m_ProjMat
 

Private Attributes

float m_NearPlane
 
float m_FarPlane
 
float m_FOV
 
SViewPort m_ViewPort
 
CFrustum m_ViewFrustum
 

Detailed Description

Definition at line 39 of file Camera.h.

Constructor & Destructor Documentation

CCamera::CCamera ( )

Definition at line 37 of file Camera.cpp.

CCamera::~CCamera ( )

Definition at line 47 of file Camera.cpp.

Member Function Documentation

void CCamera::BuildCameraRay ( int  px,
int  py,
CVector3D origin,
CVector3D dir 
) const

Definition at line 167 of file Camera.cpp.

void CCamera::ClipFrustum ( const CPlane clipPlane)

Definition at line 131 of file Camera.cpp.

void CCamera::GetCameraPlanePoints ( float  dist,
CVector3D  pts[4] 
) const

Definition at line 147 of file Camera.cpp.

float CCamera::GetFarPlane ( ) const
inline

Definition at line 69 of file Camera.h.

CVector3D CCamera::GetFocus ( ) const

Definition at line 289 of file Camera.cpp.

float CCamera::GetFOV ( ) const
inline

Definition at line 70 of file Camera.h.

const CFrustum& CCamera::GetFrustum ( ) const
inline

Definition at line 62 of file Camera.h.

float CCamera::GetNearPlane ( ) const
inline

Definition at line 68 of file Camera.h.

CMatrix3D& CCamera::GetOrientation ( )
inline

Definition at line 52 of file Camera.h.

const CMatrix3D& CCamera::GetOrientation ( ) const
inline

Definition at line 53 of file Camera.h.

CMatrix3D& CCamera::GetProjection ( )
inline

Definition at line 49 of file Camera.h.

const CMatrix3D& CCamera::GetProjection ( ) const
inline

Definition at line 50 of file Camera.h.

void CCamera::GetScreenCoordinates ( const CVector3D world,
float &  x,
float &  y 
) const

Definition at line 192 of file Camera.cpp.

const SViewPort& CCamera::GetViewPort ( ) const
inline

Definition at line 65 of file Camera.h.

CMatrix3D CCamera::GetViewProjection ( ) const
inline

Definition at line 55 of file Camera.h.

CVector3D CCamera::GetWorldCoordinates ( int  px,
int  py,
bool  aboveWater = false 
) const

Definition at line 204 of file Camera.cpp.

CVector3D CCamera::GetWorldCoordinates ( int  px,
int  py,
float  h 
) const

Definition at line 272 of file Camera.cpp.

void CCamera::LookAlong ( CVector3D  camera,
CVector3D  focus,
CVector3D  up 
)

Definition at line 355 of file Camera.cpp.

void CCamera::LookAt ( const CVector3D camera,
const CVector3D orientation,
const CVector3D up 
)

Definition at line 349 of file Camera.cpp.

void CCamera::Render ( int  intermediates = 0) const

Render: Renders the camera's frustum in world space.

The caller should set the color using glColorXy before calling Render.

Parameters
intermediatesdetermines how many intermediate distance planes should be hinted at between the near and far planes

Definition at line 370 of file Camera.cpp.

void CCamera::SetProjection ( float  nearp,
float  farp,
float  fov 
)

Definition at line 51 of file Camera.cpp.

void CCamera::SetProjection ( const CMatrix3D matrix)
inline

Definition at line 47 of file Camera.h.

void CCamera::SetProjectionTile ( int  tiles,
int  tile_x,
int  tile_y 
)

Definition at line 68 of file Camera.cpp.

void CCamera::SetViewPort ( const SViewPort viewport)

Definition at line 136 of file Camera.cpp.

void CCamera::UpdateFrustum ( const CBoundingBoxAligned scissor = CBoundingBoxAligned(CVector3D(-1.0f, -1.0f, -1.0f), CVector3D(1.0f, 1.0f, 1.0f)))

Definition at line 83 of file Camera.cpp.

Member Data Documentation

float CCamera::m_FarPlane
private

Definition at line 119 of file Camera.h.

float CCamera::m_FOV
private

Definition at line 120 of file Camera.h.

float CCamera::m_NearPlane
private

Definition at line 118 of file Camera.h.

CMatrix3D CCamera::m_Orientation

Definition at line 112 of file Camera.h.

CMatrix3D CCamera::m_ProjMat

Definition at line 115 of file Camera.h.

CFrustum CCamera::m_ViewFrustum
private

Definition at line 123 of file Camera.h.

SViewPort CCamera::m_ViewPort
private

Definition at line 121 of file Camera.h.


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