Main Page | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

tpc_tracking::gui::glCamera Class Reference

#include <opengl.h>

List of all members.

Public Member Functions

 glCamera ()
Vectorposition_3d ()
Vectorcenter_3d ()
Vectorup_3d ()
double & view_size_3d ()
double & near_3d ()
double & far_3d ()
void defaults_2d ()
void defaults_3d ()
void set_view_2d (double left, double bottom, double right, double top)
double get_left_2d ()
double get_right_2d ()
double get_bottom_2d ()
double get_top_2d ()
void set_view_size_3d (double view_size)
void aspect_ratio_correction (double w, double h, double &left, double &bottom, double &right, double &top)
void preserve_aspect_ratio (bool bPreserveAspectRatio=true)
void gl_camera ()
void gl_projection (double w, double h)
void gl_ortho_2d (double left=0, double bottom=0, double right=1, double top=1)
void zoom_2d (double scale)
void move_2d (double x, double y)
void move_3d (double x, double y)
void rotate_3d (double x_angle, double y_angle)
void rotate_around_center_3d (double x_angle, double y_angle)
void move_forward_3d (double z)
void move_toward_center_3d (double percent)
void rotate_around_z_3d (double a)
double get_x_from_percent_2d (double x_percent)
double get_y_from_percent_2d (double y_percent)
double get_delta_x_from_percent_2d (double x_percent)
double get_delta_y_from_percent_2d (double y_percent)
void get_border_2d (Rectangle< double > &border)
bool in_3d_mode ()
 glCamera ()
Vectorposition_3d ()
Vectorcenter_3d ()
Vectorup_3d ()
double & view_size_3d ()
double & near_3d ()
double & far_3d ()
void defaults_2d ()
void defaults_3d ()
void set_view_2d (double left, double bottom, double right, double top)
double get_left_2d ()
double get_right_2d ()
double get_bottom_2d ()
double get_top_2d ()
void set_view_size_3d (double view_size)
void aspect_ratio_correction (double w, double h, double &left, double &bottom, double &right, double &top)
void preserve_aspect_ratio (bool bPreserveAspectRatio=true)
void gl_camera ()
void gl_projection (double w, double h)
void gl_ortho_2d (double left=0, double bottom=0, double right=1, double top=1)
void zoom_2d (double scale)
void move_2d (double x, double y)
void move_3d (double x, double y)
void rotate_3d (double x_angle, double y_angle)
void rotate_around_center_3d (double x_angle, double y_angle)
void move_forward_3d (double z)
void move_toward_center_3d (double percent)
void rotate_around_z_3d (double a)
double get_x_from_percent_2d (double x_percent)
double get_y_from_percent_2d (double y_percent)
double get_delta_x_from_percent_2d (double x_percent)
double get_delta_y_from_percent_2d (double y_percent)
void get_border_2d (Rectangle< double > &border)
bool in_3d_mode ()

Static Public Member Functions

void export_to_python (boost::python::object &tpc)
void export_to_python (boost::python::object &tpc)

Protected Member Functions

void load_axes_3d (Vector &forward, Vector &right, Vector &up)
void load_axes_3d (Vector &forward, Vector &right, Vector &up)

Private Attributes

bool m_b3D
bool m_bPreserveAspectRatio
bool m_bOrthographic
double m_left_2d
double m_bottom_2d
double m_right_2d
double m_top_2d
Vector m_3d_position
Vector m_3d_center
Vector m_3d_up
double m_3d_fovy
double m_3d_view_size
double m_3d_near
double m_3d_far


Constructor & Destructor Documentation

tpc_tracking::gui::glCamera::glCamera  ) 
 

Definition at line 10 of file opengl.cc.

References defaults_3d().

tpc_tracking::gui::glCamera::glCamera  ) 
 


Member Function Documentation

void tpc_tracking::gui::glCamera::aspect_ratio_correction double  w,
double  h,
double &  left,
double &  bottom,
double &  right,
double &  top
 

void tpc_tracking::gui::glCamera::aspect_ratio_correction double  w,
double  h,
double &  left,
double &  bottom,
double &  right,
double &  top
 

Definition at line 152 of file opengl.cc.

Referenced by gl_projection().

Vector& tpc_tracking::gui::glCamera::center_3d  )  [inline]
 

Definition at line 17 of file opengl.h.

Vector& tpc_tracking::gui::glCamera::center_3d  )  [inline]
 

Definition at line 17 of file opengl.h.

void tpc_tracking::gui::glCamera::defaults_2d  ) 
 

void tpc_tracking::gui::glCamera::defaults_2d  ) 
 

Definition at line 16 of file opengl.cc.

References m_b3D, m_bOrthographic, m_bottom_2d, m_bPreserveAspectRatio, m_left_2d, m_right_2d, and m_top_2d.

void tpc_tracking::gui::glCamera::defaults_3d  ) 
 

void tpc_tracking::gui::glCamera::defaults_3d  ) 
 

Definition at line 46 of file opengl.cc.

References tpc_tracking::Vector::init(), m_3d_center, m_3d_far, m_3d_fovy, m_3d_near, m_3d_position, m_3d_up, m_3d_view_size, m_b3D, and m_bOrthographic.

Referenced by glCamera().

void tpc_tracking::gui::glCamera::export_to_python boost::python::object &  tpc  )  [static]
 

void tpc_tracking::gui::glCamera::export_to_python boost::python::object &  tpc  )  [static]
 

Definition at line 7 of file opengl.cc.

double& tpc_tracking::gui::glCamera::far_3d  )  [inline]
 

Definition at line 21 of file opengl.h.

double& tpc_tracking::gui::glCamera::far_3d  )  [inline]
 

Definition at line 21 of file opengl.h.

void tpc_tracking::gui::glCamera::get_border_2d Rectangle< double > &  border  ) 
 

void tpc_tracking::gui::glCamera::get_border_2d Rectangle< double > &  border  ) 
 

Definition at line 135 of file opengl.cc.

References tpc_tracking::Rectangle< T >::m_bottom, tpc_tracking::Rectangle< T >::m_left, tpc_tracking::Rectangle< T >::m_right, and tpc_tracking::Rectangle< T >::m_top.

Referenced by tpc_tracking::gui::glWindow::get_border_2d().

double tpc_tracking::gui::glCamera::get_bottom_2d  ) 
 

double tpc_tracking::gui::glCamera::get_bottom_2d  ) 
 

Definition at line 40 of file opengl.cc.

double tpc_tracking::gui::glCamera::get_delta_x_from_percent_2d double  x_percent  ) 
 

double tpc_tracking::gui::glCamera::get_delta_x_from_percent_2d double  x_percent  ) 
 

Definition at line 129 of file opengl.cc.

References m_right_2d.

Referenced by tpc_tracking::gui::glWindow::get_mouse_delta_x_2d().

double tpc_tracking::gui::glCamera::get_delta_y_from_percent_2d double  y_percent  ) 
 

double tpc_tracking::gui::glCamera::get_delta_y_from_percent_2d double  y_percent  ) 
 

Definition at line 132 of file opengl.cc.

References m_top_2d.

Referenced by tpc_tracking::gui::glWindow::get_mouse_delta_y_2d().

double tpc_tracking::gui::glCamera::get_left_2d  ) 
 

double tpc_tracking::gui::glCamera::get_left_2d  ) 
 

Definition at line 31 of file opengl.cc.

double tpc_tracking::gui::glCamera::get_right_2d  ) 
 

double tpc_tracking::gui::glCamera::get_right_2d  ) 
 

Definition at line 34 of file opengl.cc.

double tpc_tracking::gui::glCamera::get_top_2d  ) 
 

double tpc_tracking::gui::glCamera::get_top_2d  ) 
 

Definition at line 37 of file opengl.cc.

double tpc_tracking::gui::glCamera::get_x_from_percent_2d double  x_percent  ) 
 

double tpc_tracking::gui::glCamera::get_x_from_percent_2d double  x_percent  ) 
 

Definition at line 123 of file opengl.cc.

References m_left_2d, and m_right_2d.

Referenced by tpc_tracking::gui::glWindow::get_mouse_x_2d().

double tpc_tracking::gui::glCamera::get_y_from_percent_2d double  y_percent  ) 
 

double tpc_tracking::gui::glCamera::get_y_from_percent_2d double  y_percent  ) 
 

Definition at line 126 of file opengl.cc.

References m_bottom_2d, and m_top_2d.

Referenced by tpc_tracking::gui::glWindow::get_mouse_y_2d().

void tpc_tracking::gui::glCamera::gl_camera  ) 
 

void tpc_tracking::gui::glCamera::gl_camera  ) 
 

Definition at line 141 of file opengl.cc.

References tpc_tracking::gui::glMult(), tpc_tracking::gui::glTranslate(), load_axes_3d(), tpc_tracking::Matrix::load_rows_from(), and m_3d_position.

void tpc_tracking::gui::glCamera::gl_ortho_2d double  left = 0,
double  bottom = 0,
double  right = 1,
double  top = 1
 

void tpc_tracking::gui::glCamera::gl_ortho_2d double  left = 0,
double  bottom = 0,
double  right = 1,
double  top = 1
 

Definition at line 198 of file opengl.cc.

void tpc_tracking::gui::glCamera::gl_projection double  w,
double  h
 

void tpc_tracking::gui::glCamera::gl_projection double  w,
double  h
 

Definition at line 170 of file opengl.cc.

References aspect_ratio_correction(), and m_3d_fovy.

Referenced by tpc_tracking::gui::glWindow::expose_event().

bool tpc_tracking::gui::glCamera::in_3d_mode  ) 
 

bool tpc_tracking::gui::glCamera::in_3d_mode  ) 
 

Definition at line 13 of file opengl.cc.

Referenced by tpc_tracking::gui::glWindow::expose_event().

void tpc_tracking::gui::glCamera::load_axes_3d Vector forward,
Vector right,
Vector up
[protected]
 

void tpc_tracking::gui::glCamera::load_axes_3d Vector forward,
Vector right,
Vector up
[protected]
 

Definition at line 116 of file opengl.cc.

References tpc_tracking::cross_product(), m_3d_center, m_3d_up, and tpc_tracking::Vector::normalize().

Referenced by gl_camera(), move_3d(), move_forward_3d(), rotate_3d(), rotate_around_center_3d(), and rotate_around_z_3d().

void tpc_tracking::gui::glCamera::move_2d double  x,
double  y
 

void tpc_tracking::gui::glCamera::move_2d double  x,
double  y
 

Definition at line 70 of file opengl.cc.

References m_bottom_2d, m_left_2d, m_right_2d, and m_top_2d.

void tpc_tracking::gui::glCamera::move_3d double  x,
double  y
 

void tpc_tracking::gui::glCamera::move_3d double  x,
double  y
 

Definition at line 76 of file opengl.cc.

References load_axes_3d(), m_3d_center, and m_3d_position.

void tpc_tracking::gui::glCamera::move_forward_3d double  z  ) 
 

void tpc_tracking::gui::glCamera::move_forward_3d double  z  ) 
 

Definition at line 85 of file opengl.cc.

References load_axes_3d(), m_3d_center, and m_3d_position.

void tpc_tracking::gui::glCamera::move_toward_center_3d double  percent  ) 
 

void tpc_tracking::gui::glCamera::move_toward_center_3d double  percent  ) 
 

Definition at line 93 of file opengl.cc.

References m_3d_position.

double& tpc_tracking::gui::glCamera::near_3d  )  [inline]
 

Definition at line 20 of file opengl.h.

double& tpc_tracking::gui::glCamera::near_3d  )  [inline]
 

Definition at line 20 of file opengl.h.

Vector& tpc_tracking::gui::glCamera::position_3d  )  [inline]
 

Definition at line 16 of file opengl.h.

Vector& tpc_tracking::gui::glCamera::position_3d  )  [inline]
 

Definition at line 16 of file opengl.h.

void tpc_tracking::gui::glCamera::preserve_aspect_ratio bool  bPreserveAspectRatio = true  ) 
 

void tpc_tracking::gui::glCamera::preserve_aspect_ratio bool  bPreserveAspectRatio = true  ) 
 

Definition at line 43 of file opengl.cc.

References m_bPreserveAspectRatio.

void tpc_tracking::gui::glCamera::rotate_3d double  x_angle,
double  y_angle
 

void tpc_tracking::gui::glCamera::rotate_3d double  x_angle,
double  y_angle
 

Definition at line 96 of file opengl.cc.

References load_axes_3d(), m_3d_center, m_3d_position, m_3d_up, and tpc_tracking::rotate_around().

void tpc_tracking::gui::glCamera::rotate_around_center_3d double  x_angle,
double  y_angle
 

void tpc_tracking::gui::glCamera::rotate_around_center_3d double  x_angle,
double  y_angle
 

Definition at line 109 of file opengl.cc.

References load_axes_3d(), m_3d_center, m_3d_position, m_3d_up, and tpc_tracking::rotate_around().

void tpc_tracking::gui::glCamera::rotate_around_z_3d double  a  ) 
 

void tpc_tracking::gui::glCamera::rotate_around_z_3d double  a  ) 
 

Definition at line 103 of file opengl.cc.

References load_axes_3d(), m_3d_up, and tpc_tracking::rotate_around().

void tpc_tracking::gui::glCamera::set_view_2d double  left,
double  bottom,
double  right,
double  top
 

void tpc_tracking::gui::glCamera::set_view_2d double  left,
double  bottom,
double  right,
double  top
 

Definition at line 25 of file opengl.cc.

References m_bottom_2d, m_left_2d, m_right_2d, and m_top_2d.

void tpc_tracking::gui::glCamera::set_view_size_3d double  view_size  ) 
 

void tpc_tracking::gui::glCamera::set_view_size_3d double  view_size  ) 
 

Vector& tpc_tracking::gui::glCamera::up_3d  )  [inline]
 

Definition at line 18 of file opengl.h.

Vector& tpc_tracking::gui::glCamera::up_3d  )  [inline]
 

Definition at line 18 of file opengl.h.

double& tpc_tracking::gui::glCamera::view_size_3d  )  [inline]
 

Definition at line 19 of file opengl.h.

double& tpc_tracking::gui::glCamera::view_size_3d  )  [inline]
 

Definition at line 19 of file opengl.h.

void tpc_tracking::gui::glCamera::zoom_2d double  scale  ) 
 

void tpc_tracking::gui::glCamera::zoom_2d double  scale  ) 
 

Definition at line 57 of file opengl.cc.

References m_bottom_2d, m_left_2d, m_right_2d, and m_top_2d.


Member Data Documentation

Vector tpc_tracking::gui::glCamera::m_3d_center [private]
 

Definition at line 77 of file opengl.h.

Referenced by defaults_3d(), load_axes_3d(), move_3d(), move_forward_3d(), rotate_3d(), and rotate_around_center_3d().

double tpc_tracking::gui::glCamera::m_3d_far [private]
 

Definition at line 82 of file opengl.h.

Referenced by defaults_3d().

double tpc_tracking::gui::glCamera::m_3d_fovy [private]
 

Definition at line 79 of file opengl.h.

Referenced by defaults_3d(), and gl_projection().

double tpc_tracking::gui::glCamera::m_3d_near [private]
 

Definition at line 81 of file opengl.h.

Referenced by defaults_3d().

Vector tpc_tracking::gui::glCamera::m_3d_position [private]
 

Definition at line 76 of file opengl.h.

Referenced by defaults_3d(), gl_camera(), move_3d(), move_forward_3d(), move_toward_center_3d(), rotate_3d(), and rotate_around_center_3d().

Vector tpc_tracking::gui::glCamera::m_3d_up [private]
 

Definition at line 78 of file opengl.h.

Referenced by defaults_3d(), load_axes_3d(), rotate_3d(), rotate_around_center_3d(), and rotate_around_z_3d().

double tpc_tracking::gui::glCamera::m_3d_view_size [private]
 

Definition at line 80 of file opengl.h.

Referenced by defaults_3d().

bool tpc_tracking::gui::glCamera::m_b3D [private]
 

Definition at line 66 of file opengl.h.

Referenced by defaults_2d(), and defaults_3d().

bool tpc_tracking::gui::glCamera::m_bOrthographic [private]
 

Definition at line 68 of file opengl.h.

Referenced by defaults_2d(), and defaults_3d().

double tpc_tracking::gui::glCamera::m_bottom_2d [private]
 

Definition at line 72 of file opengl.h.

Referenced by defaults_2d(), get_y_from_percent_2d(), move_2d(), set_view_2d(), and zoom_2d().

bool tpc_tracking::gui::glCamera::m_bPreserveAspectRatio [private]
 

Definition at line 67 of file opengl.h.

Referenced by defaults_2d(), and preserve_aspect_ratio().

double tpc_tracking::gui::glCamera::m_left_2d [private]
 

Definition at line 71 of file opengl.h.

Referenced by defaults_2d(), get_x_from_percent_2d(), move_2d(), set_view_2d(), and zoom_2d().

double tpc_tracking::gui::glCamera::m_right_2d [private]
 

Definition at line 73 of file opengl.h.

Referenced by defaults_2d(), get_delta_x_from_percent_2d(), get_x_from_percent_2d(), move_2d(), set_view_2d(), and zoom_2d().

double tpc_tracking::gui::glCamera::m_top_2d [private]
 

Definition at line 74 of file opengl.h.

Referenced by defaults_2d(), get_delta_y_from_percent_2d(), get_y_from_percent_2d(), move_2d(), set_view_2d(), and zoom_2d().


The documentation for this class was generated from the following files:
Generated on Sun Jun 3 06:32:39 2007 for A TPC Tracking Environment by  doxygen 1.3.9.1