#include <laser_sensor.H>
Public Member Functions | |
| laser_sensor_t (dSpaceID world_space, dGeomID ground, simulated_object_t *robot, timer_t *timer, char const *cfg_fname) | |
| void | read_config_file (char const *) |
| void | set_laser_beam_angles () |
| double | test_laser_collision (int cycle, int laser_angle) |
| void | update_position (dBodyID carb) |
| void | command (int cmd, double value) |
| void | simulate_component () |
| virtual | ~laser_sensor_t () |
Private Attributes | |
| int | m_scan_cycle |
| scan_data_t | m_laser_scan |
| simulated_object_t * | m_robot |
| scan_observer_t * | m_scan_observer |
| dSpaceID | m_thisSpace |
| dGeomID | m_thisGround |
| dGeomID | m_laser_ray |
| int | m_laser_id |
| double | m_laserRange |
| int | m_rotation_degrees |
| double | m_laser_beam_angles [4][SCAN_MAX_BEAMS] |
Friends | |
| class | scan_observer_t |
| laser_sensor_t::laser_sensor_t | ( | dSpaceID | world_space, | |
| dGeomID | ground, | |||
| simulated_object_t * | robot, | |||
| timer_t * | timer, | |||
| char const * | cfg_fname | |||
| ) |
| laser_sensor_t::~laser_sensor_t | ( | ) | [virtual] |
| void laser_sensor_t::command | ( | int | cmd, | |
| double | value | |||
| ) |
| void laser_sensor_t::read_config_file | ( | char const * | cfg_fname | ) |
References ANGLEX, ANGLEY, ANGLEZ, m_laser_id, m_laserRange, cajun::components_t::m_orientation_on_robot, cajun::components_t::m_position_on_robot, m_rotation_degrees, POSX, POSY, and POSZ.
Referenced by laser_sensor_t().
| void laser_sensor_t::set_laser_beam_angles | ( | ) |
References cajun::angle(), and m_laser_beam_angles.
Referenced by laser_sensor_t().
| void laser_sensor_t::simulate_component | ( | ) |
References ANGLEX, ANGLEY, ANGLEZ, D2R, cajun::HomogTformPt(), cajun::sim_world_object_t::m_carb, cajun::components_t::m_global_position, m_laser_beam_angles, m_laser_ray, m_laser_scan, m_laserRange, cajun::components_t::m_orientation_on_robot, m_robot, m_scan_cycle, POSX, POSY, POSZ, test_laser_collision(), cajun::tform_mult(), and update_position().
Referenced by laser_sensor_t(), and cajun::scan_observer_t::timeout().
| double laser_sensor_t::test_laser_collision | ( | int | cycle, | |
| int | laser_angle | |||
| ) |
References m_laser_ray, m_laserRange, and m_thisSpace.
Referenced by simulate_component().
| void laser_sensor_t::update_position | ( | dBodyID | carb | ) | [virtual] |
Reimplemented from cajun::components_t.
References cajun::HomogTformPt(), cajun::components_t::m_global_position, cajun::components_t::m_position_on_robot, POSX, POSY, POSZ, and cajun::tform_mult().
Referenced by simulate_component().
friend class scan_observer_t [friend] |
Referenced by laser_sensor_t().
double cajun::laser_sensor_t::m_laser_beam_angles[4][SCAN_MAX_BEAMS] [private] |
Referenced by set_laser_beam_angles(), and simulate_component().
int cajun::laser_sensor_t::m_laser_id [private] |
Referenced by laser_sensor_t(), and read_config_file().
dGeomID cajun::laser_sensor_t::m_laser_ray [private] |
Referenced by laser_sensor_t(), simulate_component(), and test_laser_collision().
scan_data_t cajun::laser_sensor_t::m_laser_scan [private] |
Referenced by simulate_component(), and cajun::scan_observer_t::timeout().
double cajun::laser_sensor_t::m_laserRange [private] |
Referenced by laser_sensor_t(), read_config_file(), simulate_component(), and test_laser_collision().
simulated_object_t* cajun::laser_sensor_t::m_robot [private] |
int cajun::laser_sensor_t::m_rotation_degrees [private] |
Referenced by read_config_file().
int cajun::laser_sensor_t::m_scan_cycle [private] |
Referenced by laser_sensor_t(), and simulate_component().
Referenced by laser_sensor_t(), and ~laser_sensor_t().
dGeomID cajun::laser_sensor_t::m_thisGround [private] |
Referenced by laser_sensor_t().
dSpaceID cajun::laser_sensor_t::m_thisSpace [private] |
Referenced by laser_sensor_t(), and test_laser_collision().
1.6.1