#include <iteris_sensor.H>
Public Member Functions | |
iteris_sensor_t (simulated_object_t *robot_, timer_t *timer_, rndf_t *rndf_, access_data_t *ad_, unsigned id_, char const *lane_dir_) | |
virtual | ~iteris_sensor_t () |
void | update_position (dBodyID carb_) |
void | command (int cmd, double value_) |
void | simulate_component () |
Private Member Functions | |
bool | within_2d_span (double x_, double y_, double heading_, double theta_) |
transform point to global, and check if within theta of heading | |
double | dot_product (double *a, double *b, unsigned size) |
Private Attributes | |
world_state_t * | m_ws |
simulated_object_t * | m_robot |
iteris_observer_t * | m_iteris_observer |
iteris_lane_data_t | m_iteris_data |
heading_data_t | m_heading_data |
vector< rndf_lane_data_t > | m_lane_list |
double | m_orient_x |
double | m_orient_y |
double | m_orient_z |
Friends | |
class | iteris_observer_t |
iteris_sensor_t::iteris_sensor_t | ( | simulated_object_t * | robot_, | |
timer_t * | timer_, | |||
rndf_t * | rndf_, | |||
access_data_t * | ad_, | |||
unsigned | id_, | |||
char const * | lane_dir_ | |||
) |
iteris_sensor_t::~iteris_sensor_t | ( | ) | [virtual] |
void iteris_sensor_t::command | ( | int | cmd, | |
double | value_ | |||
) |
double iteris_sensor_t::dot_product | ( | double * | a, | |
double * | b, | |||
unsigned | size | |||
) | [private] |
Referenced by simulate_component().
void iteris_sensor_t::simulate_component | ( | ) |
References dot_product(), cajun::sim_world_object_t::get_orientation(), cajun::sim_world_object_t::m_carb, m_iteris_data, m_orient_x, m_orient_y, m_orient_z, m_robot, m_ws, POSX, POSY, R2D, and within_2d_span().
Referenced by iteris_sensor_t(), and cajun::iteris_observer_t::timeout().
void iteris_sensor_t::update_position | ( | dBodyID | carb_ | ) | [virtual] |
Reimplemented from cajun::components_t.
bool iteris_sensor_t::within_2d_span | ( | double | x_, | |
double | y_, | |||
double | heading_, | |||
double | theta_ | |||
) | [private] |
transform point to global, and check if within theta of heading
References cajun::angle(), and R2D.
Referenced by simulate_component().
friend class iteris_observer_t [friend] |
Referenced by iteris_sensor_t().
heading_data_t cajun::iteris_sensor_t::m_heading_data [private] |
iteris_lane_data_t cajun::iteris_sensor_t::m_iteris_data [private] |
Referenced by simulate_component(), and cajun::iteris_observer_t::timeout().
Referenced by iteris_sensor_t(), and ~iteris_sensor_t().
vector<rndf_lane_data_t> cajun::iteris_sensor_t::m_lane_list [private] |
Referenced by iteris_sensor_t().
double cajun::iteris_sensor_t::m_orient_x [private] |
Referenced by simulate_component().
double cajun::iteris_sensor_t::m_orient_y [private] |
Referenced by simulate_component().
double cajun::iteris_sensor_t::m_orient_z [private] |
Referenced by simulate_component().
world_state_t* cajun::iteris_sensor_t::m_ws [private] |
Referenced by iteris_sensor_t(), and simulate_component().