#include <draw_robot.H>
Public Member Functions | |
draw_robot_t (double cbviz_origin_pos[3], char const *robot_model_file, conf_t &viz_conf_, int viz_mode, world_state_t *ws_) | |
void | read_config_file (char const *) |
bool | get_robot_position (double pos[3]) |
bool | get_robot_orientation_matrix (double rot[16]) |
bool | get_robot_orientation_euler (double rot[3]) |
double | get_robot_height () |
double | get_robot_length () |
double | get_robot_width () |
void | init_data () |
Initialization of display lists, etc. | |
void | display_robot_components (int component_type) |
void | update_data (double bot_pos_[3]) |
Function called for idle loop. | |
void | display (double pos_[3]) |
Function called during display loop. | |
void | toggle_display () |
Toggle displaying of the data. | |
Public Attributes | |
robot_trace_t * | m_robot_trace |
Private Member Functions | |
void | draw_robot_heading (double pos[3]) |
void | draw_line_to_bumper () |
bool | get_bumper_position (double pos[3]) |
Private Attributes | |
world_state_t * | m_world_state |
For reading from data queues. | |
Model * | pCajunbot |
Model * | pWheel |
double | m_robot_width |
double | m_robot_length |
double | m_robot_height |
double | m_wheel_radius |
double | m_wheel_width |
double | m_max_linear_velocity |
double | m_throttle_rate |
double | m_lever_rate |
double | cbviz_origin [3] |
bool | m_display |
For toggling drawing of data. | |
motion_data_t | m_motion_data |
nav_data_t | m_nav_data |
drive_data_t | m_drive_data |
bool | m_textured_bot |
int | m_viz_mode |
bool | m_draw_bot |
bool | m_draw_mesh |
double | m_pos [3] |
double | m_bumper_pos [3] |
double | m_orient [16] |
laser_visualization_t * | m_laser_visualization |
draw_robot_t::draw_robot_t | ( | double | cbviz_origin_pos[3], | |
char const * | robot_model_file, | |||
conf_t & | viz_conf_, | |||
int | viz_mode, | |||
world_state_t * | ws_ | |||
) |
References cbviz_origin, cajun::loadMilkshapeModelData(), m_display, m_draw_bot, m_draw_mesh, m_robot_trace, m_textured_bot, m_viz_mode, m_world_state, pCajunbot, POSX, POSY, POSZ, pWheel, and read_config_file().
void draw_robot_t::display | ( | double | bot_bos_[3] | ) | [virtual] |
Function called during display loop.
Implements cajun::component_interface_t.
References Model::draw(), cajun::draw_cube(), draw_line_to_bumper(), Model::draw_mesh(), cajun::robot_trace_t::draw_robot_trace(), cajun::component_interface_t::m_data_ok, m_display, m_draw_bot, cajun::robot_trace_t::m_draw_line_to_bumper, m_draw_mesh, m_drive_data, m_orient, m_pos, m_robot_height, m_robot_length, m_robot_trace, m_robot_width, m_textured_bot, m_wheel_radius, pCajunbot, pWheel, and R2D.
void cajun::draw_robot_t::display_robot_components | ( | int | component_type | ) |
void draw_robot_t::draw_line_to_bumper | ( | ) | [private] |
References m_bumper_pos, and m_pos.
Referenced by display().
void draw_robot_t::draw_robot_heading | ( | double | pos[3] | ) | [private] |
References m_motion_data.
bool draw_robot_t::get_bumper_position | ( | double | pos[3] | ) | [private] |
References cbviz_origin, m_world_state, POSX, POSY, and POSZ.
Referenced by update_data().
double draw_robot_t::get_robot_height | ( | ) |
References m_robot_height.
double draw_robot_t::get_robot_length | ( | ) |
References m_robot_length.
bool draw_robot_t::get_robot_orientation_euler | ( | double | rot[3] | ) |
References m_motion_data, and m_world_state.
Referenced by cajun::simulation_draw_t::update_data().
bool draw_robot_t::get_robot_orientation_matrix | ( | double | rot[16] | ) |
References cajun::get_rotation_matrix(), m_motion_data, and m_world_state.
Referenced by update_data().
bool draw_robot_t::get_robot_position | ( | double | pos[3] | ) |
References cbviz_origin, m_nav_data, m_world_state, POSX, POSY, and POSZ.
Referenced by cajun::simulation_draw_t::display_guide(), cajun::simulation_draw_t::update_data(), and update_data().
double draw_robot_t::get_robot_width | ( | ) |
References m_robot_width.
void draw_robot_t::init_data | ( | ) | [virtual] |
Initialization of display lists, etc.
Reimplemented from cajun::component_interface_t.
References Model::Init(), pCajunbot, and pWheel.
void draw_robot_t::read_config_file | ( | char const * | robot_conf_file | ) |
References m_lever_rate, m_max_linear_velocity, m_robot_height, m_robot_length, m_robot_width, m_throttle_rate, m_wheel_radius, and m_wheel_width.
Referenced by draw_robot_t().
void draw_robot_t::toggle_display | ( | ) | [virtual] |
Toggle displaying of the data.
Implements cajun::component_interface_t.
References m_display.
Referenced by cajun::simulation_draw_t::normalKey_callback().
void draw_robot_t::update_data | ( | double | bot_pos_[3] | ) | [virtual] |
Function called for idle loop.
Implements cajun::component_interface_t.
References get_bumper_position(), get_robot_orientation_matrix(), get_robot_position(), m_bumper_pos, cajun::component_interface_t::m_data_ok, m_drive_data, m_orient, m_pos, m_robot_trace, m_world_state, and cajun::robot_trace_t::note_robot_position().
double cajun::draw_robot_t::cbviz_origin[3] [private] |
Referenced by draw_robot_t(), get_bumper_position(), and get_robot_position().
double cajun::draw_robot_t::m_bumper_pos[3] [private] |
Referenced by draw_line_to_bumper(), and update_data().
bool cajun::draw_robot_t::m_display [private] |
For toggling drawing of data.
Reimplemented from cajun::component_interface_t.
Referenced by display(), draw_robot_t(), and toggle_display().
bool cajun::draw_robot_t::m_draw_bot [private] |
Referenced by display(), and draw_robot_t().
bool cajun::draw_robot_t::m_draw_mesh [private] |
Referenced by display(), and draw_robot_t().
drive_data_t cajun::draw_robot_t::m_drive_data [private] |
Referenced by display(), and update_data().
double cajun::draw_robot_t::m_lever_rate [private] |
Referenced by read_config_file().
double cajun::draw_robot_t::m_max_linear_velocity [private] |
Referenced by read_config_file().
motion_data_t cajun::draw_robot_t::m_motion_data [private] |
Referenced by draw_robot_heading(), get_robot_orientation_euler(), and get_robot_orientation_matrix().
nav_data_t cajun::draw_robot_t::m_nav_data [private] |
Referenced by get_robot_position().
double cajun::draw_robot_t::m_orient[16] [private] |
Referenced by display(), and update_data().
double cajun::draw_robot_t::m_pos[3] [private] |
Referenced by display(), draw_line_to_bumper(), and update_data().
double cajun::draw_robot_t::m_robot_height [private] |
Referenced by display(), get_robot_height(), and read_config_file().
double cajun::draw_robot_t::m_robot_length [private] |
Referenced by display(), get_robot_length(), and read_config_file().
Referenced by display(), draw_robot_t(), and update_data().
double cajun::draw_robot_t::m_robot_width [private] |
Referenced by display(), get_robot_width(), and read_config_file().
bool cajun::draw_robot_t::m_textured_bot [private] |
Referenced by display(), and draw_robot_t().
double cajun::draw_robot_t::m_throttle_rate [private] |
Referenced by read_config_file().
int cajun::draw_robot_t::m_viz_mode [private] |
Referenced by draw_robot_t().
double cajun::draw_robot_t::m_wheel_radius [private] |
Referenced by display(), and read_config_file().
double cajun::draw_robot_t::m_wheel_width [private] |
Referenced by read_config_file().
world_state_t* cajun::draw_robot_t::m_world_state [private] |
For reading from data queues.
Reimplemented from cajun::component_interface_t.
Referenced by draw_robot_t(), get_bumper_position(), get_robot_orientation_euler(), get_robot_orientation_matrix(), get_robot_position(), and update_data().
Model* cajun::draw_robot_t::pCajunbot [private] |
Referenced by display(), draw_robot_t(), and init_data().
Model* cajun::draw_robot_t::pWheel [private] |
Referenced by display(), draw_robot_t(), and init_data().