Vamos_Body::Rear_View_Mirror Class Reference

#include <Gl_Car.h>

Collaboration diagram for Vamos_Body::Rear_View_Mirror:

Collaboration graph
[legend]
List of all members.

Public Member Functions

 Rear_View_Mirror (const Vamos_Geometry::Three_Vector &position, double width, double height, double direction, double field, double near_plane, double far_plane, std::string mask_file)
 ~Rear_View_Mirror ()
void make_mask (int window_width, int window_height, const Vamos_Geometry::Three_Vector &driver_position, double driver_field_of_view)
void set_view ()
double get_direction () const
Vamos_Geometry::Three_Vector get_center () const

Private Member Functions

int to_pixels (double range, double factor, double coordinate)
void set_viewport (int window_width, int window_height, const Vamos_Geometry::Three_Vector &driver_position, double driver_field_of_view)
void activate_viewport ()
void transform_view () const
void draw_mask_shape ()
unsigned char * make_stencil_buffer ()
void set_stencil (int window_width, int window_height)

Private Attributes

const Vamos_Geometry::Three_Vector m_position
const double m_width
const double m_height
const double m_direction
const double m_field
const double m_near_plane
const double m_far_plane
Vamos_Geometry::Gl_Texture_Imagemp_mask
Rectangle m_viewport

Classes

struct  Rectangle

Detailed Description

Definition at line 59 of file Gl_Car.h.


Constructor & Destructor Documentation

Vamos_Body::Rear_View_Mirror::Rear_View_Mirror const Vamos_Geometry::Three_Vector position,
double  width,
double  height,
double  direction,
double  field,
double  near_plane,
double  far_plane,
std::string  mask_file
 

Definition at line 39 of file Gl_Car.cc.

Vamos_Body::Rear_View_Mirror::~Rear_View_Mirror  ) 
 

Definition at line 58 of file Gl_Car.cc.

References mp_mask.


Member Function Documentation

void Vamos_Body::Rear_View_Mirror::activate_viewport  )  [private]
 

Definition at line 64 of file Gl_Car.cc.

References Vamos_Body::Rear_View_Mirror::Rectangle::height, m_viewport, Vamos_Body::Rear_View_Mirror::Rectangle::width, Vamos_Body::Rear_View_Mirror::Rectangle::x, and Vamos_Body::Rear_View_Mirror::Rectangle::y.

Referenced by set_view().

void Vamos_Body::Rear_View_Mirror::draw_mask_shape  )  [private]
 

Definition at line 324 of file Gl_Car.cc.

References Vamos_Geometry::Gl_Texture_Image::activate(), m_height, m_position, m_width, and mp_mask.

Referenced by make_mask().

Three_Vector Vamos_Body::Rear_View_Mirror::get_center  )  const
 

Definition at line 71 of file Gl_Car.cc.

References m_height, m_position, and m_width.

Referenced by Vamos_Body::Gl_Car::draw_rear_view().

double Vamos_Body::Rear_View_Mirror::get_direction  )  const [inline]
 

Definition at line 107 of file Gl_Car.h.

References m_direction.

Referenced by Vamos_Body::Gl_Car::draw_rear_view().

void Vamos_Body::Rear_View_Mirror::make_mask int  window_width,
int  window_height,
const Vamos_Geometry::Three_Vector driver_position,
double  driver_field_of_view
 

Definition at line 284 of file Gl_Car.cc.

References draw_mask_shape(), set_stencil(), and set_viewport().

unsigned char * Vamos_Body::Rear_View_Mirror::make_stencil_buffer  )  [private]
 

Definition at line 379 of file Gl_Car.cc.

References Vamos_Body::Rear_View_Mirror::Rectangle::height, m_viewport, Vamos_Body::Rear_View_Mirror::Rectangle::width, Vamos_Body::Rear_View_Mirror::Rectangle::x, and Vamos_Body::Rear_View_Mirror::Rectangle::y.

Referenced by set_stencil().

void Vamos_Body::Rear_View_Mirror::set_stencil int  window_width,
int  window_height
[private]
 

Definition at line 350 of file Gl_Car.cc.

References Vamos_Body::Rear_View_Mirror::Rectangle::height, m_viewport, make_stencil_buffer(), Vamos_Body::Rear_View_Mirror::Rectangle::width, Vamos_Body::Rear_View_Mirror::Rectangle::x, and Vamos_Body::Rear_View_Mirror::Rectangle::y.

Referenced by make_mask().

void Vamos_Body::Rear_View_Mirror::set_view  ) 
 

Definition at line 89 of file Gl_Car.cc.

References activate_viewport(), and transform_view().

Referenced by Vamos_Body::Gl_Car::draw_rear_view().

void Vamos_Body::Rear_View_Mirror::set_viewport int  window_width,
int  window_height,
const Vamos_Geometry::Three_Vector driver_position,
double  driver_field_of_view
[private]
 

Definition at line 300 of file Gl_Car.cc.

References Vamos_Geometry::clip(), Vamos_Geometry::deg_to_rad(), Vamos_Body::Rear_View_Mirror::Rectangle::height, m_height, m_position, m_viewport, m_width, to_pixels(), Vamos_Body::Rear_View_Mirror::Rectangle::width, Vamos_Body::Rear_View_Mirror::Rectangle::x, and Vamos_Body::Rear_View_Mirror::Rectangle::y.

Referenced by make_mask().

int Vamos_Body::Rear_View_Mirror::to_pixels double  range,
double  factor,
double  coordinate
[inline, private]
 

Definition at line 82 of file Gl_Car.h.

Referenced by set_viewport().

void Vamos_Body::Rear_View_Mirror::transform_view  )  const [private]
 

Definition at line 79 of file Gl_Car.cc.

References Vamos_Body::Rear_View_Mirror::Rectangle::aspect(), m_far_plane, m_field, m_near_plane, and m_viewport.

Referenced by set_view().


Member Data Documentation

const double Vamos_Body::Rear_View_Mirror::m_direction [private]
 

Definition at line 64 of file Gl_Car.h.

Referenced by get_direction().

const double Vamos_Body::Rear_View_Mirror::m_far_plane [private]
 

Definition at line 67 of file Gl_Car.h.

Referenced by transform_view().

const double Vamos_Body::Rear_View_Mirror::m_field [private]
 

Definition at line 65 of file Gl_Car.h.

Referenced by transform_view().

const double Vamos_Body::Rear_View_Mirror::m_height [private]
 

Definition at line 63 of file Gl_Car.h.

Referenced by draw_mask_shape(), get_center(), and set_viewport().

const double Vamos_Body::Rear_View_Mirror::m_near_plane [private]
 

Definition at line 66 of file Gl_Car.h.

Referenced by transform_view().

const Vamos_Geometry::Three_Vector Vamos_Body::Rear_View_Mirror::m_position [private]
 

Definition at line 61 of file Gl_Car.h.

Referenced by draw_mask_shape(), get_center(), and set_viewport().

Rectangle Vamos_Body::Rear_View_Mirror::m_viewport [private]
 

Definition at line 80 of file Gl_Car.h.

Referenced by activate_viewport(), make_stencil_buffer(), set_stencil(), set_viewport(), and transform_view().

const double Vamos_Body::Rear_View_Mirror::m_width [private]
 

Definition at line 62 of file Gl_Car.h.

Referenced by draw_mask_shape(), get_center(), and set_viewport().

Vamos_Geometry::Gl_Texture_Image* Vamos_Body::Rear_View_Mirror::mp_mask [private]
 

Definition at line 68 of file Gl_Car.h.

Referenced by draw_mask_shape(), and ~Rear_View_Mirror().


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