CAMERA Class Reference

#include <camera.h>

Collaboration diagram for CAMERA:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 CAMERA ()
void Update ()
void Rotate (float a, float ax, float ay, float az)
void MoveRelative (float mx, float my, float mz)
void MoveRelativeConstrainY (float mx, float my, float mz)
void Move (float mx, float my, float mz)
void PutTransformInto (GLdouble *matrix16)
void PutVelocityInto (GLdouble *matrix16)
void LoadVelocityIdentity ()
VERTEX GetPosition ()
void SetPosition (VERTEX newpos)
VERTEX GetVelocity ()
void SetVelocity (VERTEX new_velocity)
void Chase ()
void ExtractFrustum ()

Public Attributes

VERTEX position
VERTEX pos_vel
QUATERNION dir
QUATERNION dir_vel
QUATERNION dir_coupled
string cam_mode
int chase_ent
float frustum [6][4]

Private Member Functions

void GenerateTransform ()

Private Attributes

GLdouble transform_matrix [16]
GLdouble velocity_matrix [16]

Detailed Description

Definition at line 19 of file camera.h.


Constructor & Destructor Documentation

CAMERA::CAMERA  ) 
 

Definition at line 6 of file camera.cpp.

References cam_mode, dir, dir_vel, and QUATERNION::LoadMultIdent().


Member Function Documentation

void CAMERA::Chase  ) 
 

Definition at line 235 of file camera.cpp.

void CAMERA::ExtractFrustum  ) 
 

Definition at line 253 of file camera.cpp.

References Vamos_Geometry::clip(), and frustum.

void CAMERA::GenerateTransform  )  [private]
 

Definition at line 121 of file camera.cpp.

Referenced by Update().

VERTEX CAMERA::GetPosition  ) 
 

Definition at line 196 of file camera.cpp.

References position, VERTEX::x, VERTEX::y, and VERTEX::z.

Referenced by KEYMAN::DoHeldKeys().

VERTEX CAMERA::GetVelocity  ) 
 

Definition at line 219 of file camera.cpp.

References pos_vel, VERTEX::x, VERTEX::y, and VERTEX::z.

void CAMERA::LoadVelocityIdentity  ) 
 

Definition at line 187 of file camera.cpp.

References dir_vel, QUATERNION::LoadMultIdent(), pos_vel, VERTEX::x, VERTEX::y, and VERTEX::z.

Referenced by InitGameData().

void CAMERA::Move float  mx,
float  my,
float  mz
 

Definition at line 82 of file camera.cpp.

References position, VERTEX::x, VERTEX::y, and VERTEX::z.

Referenced by InitGameData().

void CAMERA::MoveRelative float  mx,
float  my,
float  mz
 

Definition at line 16 of file camera.cpp.

References dir, position, QUATERNION::ReturnConjugate(), QUATERNION::w, VERTEX::x, QUATERNION::x, VERTEX::y, QUATERNION::y, VERTEX::z, and QUATERNION::z.

Referenced by KEYMAN::DoHeldKeys().

void CAMERA::MoveRelativeConstrainY float  mx,
float  my,
float  mz
 

Definition at line 52 of file camera.cpp.

References dir, VERTEX::len(), position, QUATERNION::ReturnConjugate(), VERTEX::Scale(), QUATERNION::w, VERTEX::x, QUATERNION::x, VERTEX::y, QUATERNION::y, VERTEX::z, and QUATERNION::z.

void CAMERA::PutTransformInto GLdouble *  matrix16  ) 
 

Definition at line 159 of file camera.cpp.

References dir, dir_coupled, QUATERNION::GetMat(), QUATERNION::PostMultiply(), QUATERNION::ReturnConjugate(), and transform_matrix.

void CAMERA::PutVelocityInto GLdouble *  matrix16  ) 
 

Definition at line 174 of file camera.cpp.

References dir_vel, QUATERNION::GetMat(), and transform_matrix.

void CAMERA::Rotate float  a,
float  ax,
float  ay,
float  az
 

Definition at line 90 of file camera.cpp.

References dir, QUATERNION::PostMultiply(), and QUATERNION::SetAxisAngle().

void CAMERA::SetPosition VERTEX  newpos  ) 
 

Definition at line 248 of file camera.cpp.

References position.

Referenced by KEYMAN::DoHeldKeys().

void CAMERA::SetVelocity VERTEX  new_velocity  ) 
 

Definition at line 230 of file camera.cpp.

References pos_vel.

void CAMERA::Update  ) 
 

Definition at line 140 of file camera.cpp.

References GenerateTransform(), pos_vel, and position.

Referenced by InitGameData().


Member Data Documentation

string CAMERA::cam_mode
 

Definition at line 71 of file camera.h.

Referenced by CAMERA().

int CAMERA::chase_ent
 

Definition at line 72 of file camera.h.

QUATERNION CAMERA::dir
 

Definition at line 35 of file camera.h.

Referenced by CAMERA(), BACKDROP::DrawRain(), MoveRelative(), MoveRelativeConstrainY(), PutTransformInto(), and Rotate().

QUATERNION CAMERA::dir_coupled
 

Definition at line 37 of file camera.h.

Referenced by PutTransformInto().

QUATERNION CAMERA::dir_vel
 

Definition at line 36 of file camera.h.

Referenced by CAMERA(), LoadVelocityIdentity(), and PutVelocityInto().

float CAMERA::frustum[6][4]
 

Definition at line 75 of file camera.h.

Referenced by OBJECTS::DrawObject(), ExtractFrustum(), and ROADSTRIP::Visualize().

VERTEX CAMERA::pos_vel
 

Definition at line 32 of file camera.h.

Referenced by GetVelocity(), LoadVelocityIdentity(), SetVelocity(), and Update().

VERTEX CAMERA::position
 

Definition at line 31 of file camera.h.

Referenced by BACKDROP::DrawClouds(), OBJECTS::DrawObject(), BACKDROP::DrawSky(), GetPosition(), VAMOSWORLD::Init(), Move(), MoveRelative(), MoveRelativeConstrainY(), VAMOSWORLD::SetCameraMode(), SetPosition(), Update(), and MOUSE::UpdateCamera().

GLdouble CAMERA::transform_matrix[16] [private]
 

Definition at line 23 of file camera.h.

Referenced by PutTransformInto(), and PutVelocityInto().

GLdouble CAMERA::velocity_matrix[16] [private]
 

Definition at line 24 of file camera.h.


The documentation for this class was generated from the following files:
Generated on Thu Oct 19 04:11:47 2006 by  doxygen 1.4.6