#include <sim_world_object.H>
Public Member Functions | |
sim_world_object_t () | |
sim_world_object_t (dSpaceID *world_space, object_info_t *object_data, rndf_tool_t *rndf_tool, access_data_t *m_access_data) | |
virtual | ~sim_world_object_t () |
virtual bool | update (float)=0 |
virtual void | get_data (vector< obstacle_data_t > *&object_info, vector< obstacle_points_data_t > *&object_points_)=0 |
void | set_robot_rotation (int body_num, dReal const rotation_matrix[16]) |
void | get_robot_position (int part, double p[3]) |
void | get_robot_rotation (int part, double rot[12]) |
void | get_acceleration (int body_num_, double &x_accel_, double &y_accel_, double &z_accel_) |
void | get_angular_rate (int body_num_, double &x_vel_, double &y_vel_, double &z_vel_) |
void | get_orientation (int body_num, double &orientation_x, double &orientation_y, double &orientation_z) |
void | get_rotation_matrix (int body_num, double orientation_matrix[3][4], int direction) |
void | get_bot_position (double &x, double &y, double &z) |
void | set_geom_orientation (dGeomID *object, double azimuth, double elivation, double tilt) |
void | set_object_enable (bool enabled_) |
void | collided () |
int | obj_id () |
Public Attributes | |
dBodyID | m_carb [MAX_BODIES] |
dGeomID | m_carg [MAX_BODIES] |
object_info_t | m_object_data |
rndf_tool_t * | m_rndf_tool |
access_data_t * | m_access_data |
double | m_x_far |
double | m_x_close |
double | m_y_far |
double | m_y_close |
double | m_x_far_neg |
double | m_x_close_neg |
double | m_y_far_neg |
double | m_y_close_neg |
Protected Attributes | |
timer_t * | m_timer |
vector< obstacle_data_t > | current_object_data |
vector< obstacle_points_data_t > | current_object_points |
int | m_body_part_counter |
double | m_currentTime |
dReal * | prev_vel |
float | x_offset |
float | y_offset |
obstacle_data_t::obstacle_shape_t | m_shape |
double | m_heading |
double | m_attitude |
double | m_bank |
double | m_x_size |
double | m_y_size |
double | m_z_size |
int | m_object_id |
dGeomID | m_geom_transform [MAX_BODIES] |
dJointID | m_hing [MAX_BODIES] |
dSpaceID | m_local_space |
dJointGroupID | m_hgrp |
dJointID | m_obstacle_joint [MAX_OBSTACLE_JOINTS] |
bool | m_collided |
Private Attributes | |
orientation_t | m_orientation |
cajun::sim_world_object_t::sim_world_object_t | ( | ) |
sim_world_object_t::sim_world_object_t | ( | dSpaceID * | world_space, | |
object_info_t * | object_data, | |||
rndf_tool_t * | rndf_tool, | |||
access_data_t * | m_access_data | |||
) |
References cajun::orientation_t::angleX, cajun::orientation_t::angleY, D2R, m_access_data, m_attitude, m_bank, m_body_part_counter, m_carb, m_carg, m_collided, m_currentTime, m_heading, cajun::object_info_t::m_lane_id, m_local_space, m_object_data, cajun::object_info_t::m_object_id, m_object_id, cajun::object_info_t::m_orient_x, cajun::object_info_t::m_orient_y, cajun::object_info_t::m_orient_z, m_orientation, cajun::object_info_t::m_pos_x, cajun::object_info_t::m_pos_y, m_rndf_tool, cajun::object_info_t::m_segment_id, cajun::object_info_t::m_shape, m_shape, cajun::object_info_t::m_size_x, cajun::object_info_t::m_size_y, cajun::object_info_t::m_size_z, m_timer, cajun::object_info_t::m_wp_id, m_x_size, m_y_size, m_z_size, MAX_BODIES, prev_vel, x_offset, and y_offset.
void cajun::sim_world_object_t::collided | ( | ) | [inline] |
References m_collided.
Referenced by cajun::sim_world_t::collision_callback().
void sim_world_object_t::get_acceleration | ( | int | body_num_, | |
double & | x_accel_, | |||
double & | y_accel_, | |||
double & | z_accel_ | |||
) |
References m_carb, and prev_vel.
Referenced by cajun::acceleration_sensor_t::update_acceleration_data().
void sim_world_object_t::get_angular_rate | ( | int | body_num_, | |
double & | x_vel_, | |||
double & | y_vel_, | |||
double & | z_vel_ | |||
) |
References m_carb.
Referenced by cajun::angular_rate_sensor_t::update_angular_rate_data().
void sim_world_object_t::get_bot_position | ( | double & | x, | |
double & | y, | |||
double & | z | |||
) |
References m_carb.
Referenced by cajun::waypoint_controller_t::steering_observer_t::steering_observer_t(), cajun::script_controller_t::steering_observer_t::steering_observer_t(), cajun::waypoint_controller_t::steering_observer_t::timeout(), cajun::script_controller_t::steering_observer_t::timeout(), and cajun::nav_sensor_t::update_nav_data().
virtual void cajun::sim_world_object_t::get_data | ( | vector< obstacle_data_t > *& | object_info, | |
vector< obstacle_points_data_t > *& | object_points_ | |||
) | [pure virtual] |
void sim_world_object_t::get_orientation | ( | int | body_num, | |
double & | orientation_x, | |||
double & | orientation_y, | |||
double & | orientation_z | |||
) |
void sim_world_object_t::get_robot_position | ( | int | part, | |
double | p[3] | |||
) |
References m_carb.
Referenced by cajun::ray_sensor_t::update_position().
void sim_world_object_t::get_robot_rotation | ( | int | part, | |
double | rot[12] | |||
) |
References m_carb.
Referenced by cajun::ray_sensor_t::get_orientation_matrix().
void sim_world_object_t::get_rotation_matrix | ( | int | body_num, | |
double | orientation_matrix[3][4], | |||
int | direction | |||
) |
int cajun::sim_world_object_t::obj_id | ( | ) | [inline] |
References m_object_id.
Referenced by cajun::sim_world_t::collision_callback().
void sim_world_object_t::set_geom_orientation | ( | dGeomID * | object, | |
double | azimuth, | |||
double | elivation, | |||
double | tilt | |||
) |
References cajun::tform_mult().
void sim_world_object_t::set_object_enable | ( | bool | enabled_ | ) |
References m_carg, and MAX_BODIES.
void sim_world_object_t::set_robot_rotation | ( | int | body_num, | |
dReal const | rotation_matrix[16] | |||
) |
References m_carb.
virtual bool cajun::sim_world_object_t::update | ( | float | ) | [pure virtual] |
vector<obstacle_data_t> cajun::sim_world_object_t::current_object_data [protected] |
vector<obstacle_points_data_t> cajun::sim_world_object_t::current_object_points [protected] |
access_data_t* cajun::sim_world_object_t::m_access_data |
Referenced by cajun::acceleration_observer_t::acceleration_observer_t(), cajun::angular_rate_observer_t::angular_rate_observer_t(), cajun::control_line_observer_t::control_line_observer_t(), cajun::drive_observer_t::drive_observer_t(), cajun::iteris_observer_t::iteris_observer_t(), cajun::motion_observer_t::motion_observer_t(), cajun::nav_observer_t::nav_observer_t(), cajun::scan_observer_t::scan_observer_t(), cajun::signal_line_observer_t::signal_line_observer_t(), sim_world_object_t(), cajun::simulated_object_t::simulated_object_t(), cajun::sog_observer_t::sog_observer_t(), cajun::sensor_controller_t::steering_observer_t::steering_observer_t(), cajun::manual_controller_t::steering_observer_t::steering_observer_t(), cajun::sog_observer_t::timeout(), cajun::sensor_controller_t::steering_observer_t::timeout(), cajun::nav_observer_t::timeout(), cajun::motion_observer_t::timeout(), cajun::manual_controller_t::steering_observer_t::timeout(), cajun::scan_observer_t::timeout(), cajun::iteris_observer_t::timeout(), cajun::drive_observer_t::timeout(), cajun::control_line_observer_t::timeout(), cajun::angular_rate_observer_t::timeout(), cajun::acceleration_observer_t::timeout(), and cajun::simulated_object_t::update().
double cajun::sim_world_object_t::m_attitude [protected] |
double cajun::sim_world_object_t::m_bank [protected] |
int cajun::sim_world_object_t::m_body_part_counter [protected] |
Referenced by cajun::static_object_t::get_data(), cajun::simulated_object_t::get_data(), cajun::non_simulated_object_t::get_data(), cajun::non_simulated_object_t::non_simulated_object_t(), sim_world_object_t(), cajun::simulated_object_t::simulated_object_t(), and cajun::static_object_t::static_object_t().
dBodyID cajun::sim_world_object_t::m_carb[MAX_BODIES] |
Referenced by get_acceleration(), get_angular_rate(), get_bot_position(), cajun::non_simulated_object_t::get_data(), get_orientation(), get_robot_position(), get_robot_rotation(), get_rotation_matrix(), cajun::non_simulated_object_t::non_simulated_object_t(), set_robot_rotation(), sim_world_object_t(), cajun::laser_sensor_t::simulate_component(), cajun::iteris_sensor_t::simulate_component(), cajun::simulated_object_t::simulated_object_t(), cajun::static_object_t::static_object_t(), cajun::waypoint_controller_t::steering_observer_t::steering_observer_t(), cajun::script_controller_t::steering_observer_t::steering_observer_t(), cajun::waypoint_controller_t::steering_observer_t::timeout(), cajun::script_controller_t::steering_observer_t::timeout(), and cajun::sog_sensor_t::update_sog_data().
dGeomID cajun::sim_world_object_t::m_carg[MAX_BODIES] |
Referenced by cajun::static_object_t::get_data(), cajun::simulated_object_t::get_data(), cajun::non_simulated_object_t::get_data(), cajun::non_simulated_object_t::non_simulated_object_t(), set_object_enable(), sim_world_object_t(), cajun::simulated_object_t::simulated_object_t(), cajun::static_object_t::static_object_t(), cajun::static_object_t::update(), and cajun::non_simulated_object_t::update().
bool cajun::sim_world_object_t::m_collided [protected] |
Referenced by collided(), sim_world_object_t(), and cajun::simulated_object_t::update().
double cajun::sim_world_object_t::m_currentTime [protected] |
Referenced by sim_world_object_t().
dGeomID cajun::sim_world_object_t::m_geom_transform[MAX_BODIES] [protected] |
double cajun::sim_world_object_t::m_heading [protected] |
dJointGroupID cajun::sim_world_object_t::m_hgrp [protected] |
Referenced by cajun::simulated_object_t::simulated_object_t().
dJointID cajun::sim_world_object_t::m_hing[MAX_BODIES] [protected] |
dSpaceID cajun::sim_world_object_t::m_local_space [protected] |
Referenced by cajun::static_object_t::get_data(), cajun::simulated_object_t::get_data(), cajun::non_simulated_object_t::get_data(), sim_world_object_t(), cajun::waypoint_controller_t::steering_observer_t::steering_observer_t(), cajun::script_controller_t::steering_observer_t::steering_observer_t(), cajun::waypoint_controller_t::steering_observer_t::timeout(), and cajun::script_controller_t::steering_observer_t::timeout().
int cajun::sim_world_object_t::m_object_id [protected] |
dJointID cajun::sim_world_object_t::m_obstacle_joint[MAX_OBSTACLE_JOINTS] [protected] |
Referenced by get_rotation_matrix(), and sim_world_object_t().
rndf_tool_t* cajun::sim_world_object_t::m_rndf_tool |
obstacle_data_t::obstacle_shape_t cajun::sim_world_object_t::m_shape [protected] |
timer_t* cajun::sim_world_object_t::m_timer [protected] |
double cajun::sim_world_object_t::m_x_size [protected] |
double cajun::sim_world_object_t::m_y_size [protected] |
double cajun::sim_world_object_t::m_z_size [protected] |
dReal* cajun::sim_world_object_t::prev_vel [protected] |
Referenced by get_acceleration(), sim_world_object_t(), and ~sim_world_object_t().
float cajun::sim_world_object_t::x_offset [protected] |
float cajun::sim_world_object_t::y_offset [protected] |