stage.hh File Reference
#include <unistd.h>
#include <stdint.h>
#include <assert.h>
#include <math.h>
#include <stdlib.h>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <sys/time.h>
#include <glib.h>
#include <FL/Fl.H>
#include <FL/Fl_Box.H>
#include <FL/Fl_Double_Window.H>
#include <FL/Fl_Gl_Window.H>
#include <FL/Fl_Menu_Bar.H>
#include <FL/Fl_Menu_Button.H>
#include <FL/Fl_Value_Slider.H>
#include <FL/Fl_Window.H>
#include <FL/fl_draw.H>
#include <FL/gl.h>
#include <FL/glut.H>
#include <GL/glu.h>
Go to the source code of this file.
Namespaces | |
namespace | Stg |
namespace | Stg::Draw |
Classes | |
struct | Stg::Draw::bounds3_t |
struct | Stg::Draw::draw_t |
struct | Stg::Draw::hdr_t |
struct | Stg::Draw::rotate_t |
struct | Stg::Draw::translate_t |
struct | Stg::Draw::vertex_t |
class | Stg::GlColorStack |
struct | Stg::stg_bbox3d_t |
struct | Stg::stg_bigblock_t |
struct | Stg::stg_blinkenlight_t |
struct | Stg::stg_blobfinder_blob_t |
struct | Stg::stg_bounds3d_t |
struct | Stg::stg_bounds_t |
struct | Stg::stg_cb_t |
struct | Stg::stg_colorvertex_t |
struct | Stg::stg_energy_config_t |
struct | Stg::stg_energy_data_t |
struct | Stg::stg_fiducial_config_t |
struct | Stg::stg_fiducial_t |
struct | Stg::stg_fov_t |
struct | Stg::stg_geom_t |
struct | Stg::stg_laser_cfg_t |
struct | Stg::stg_laser_sample_t |
struct | Stg::stg_point3_t |
struct | Stg::stg_point_int_t |
struct | Stg::stg_point_t |
struct | Stg::stg_pose_t |
struct | Stg::stg_property_toggle_args_t |
struct | Stg::stg_range_bounds_t |
struct | Stg::stg_ranger_sensor_t |
struct | Stg::stg_raytrace_sample_t |
struct | Stg::stg_render_info_t |
struct | Stg::stg_rotrect_t |
struct | Stg::stg_size_t |
struct | Stg::stg_trail_item_t |
struct | Stg::stg_typetable_entry_t |
struct | Stg::stg_vertex_t |
class | Stg::StgAncestor |
class | Stg::StgBlock |
class | Stg::StgBlockGrid |
class | Stg::StgCanvas |
class | Stg::StgFlag |
class | Stg::StgModel |
class | Stg::StgModelBlinkenlight |
class | Stg::StgModelBlobfinder |
class | Stg::StgModelFiducial |
class | Stg::StgModelLaser |
class | Stg::StgModelPosition |
class | Stg::StgModelRanger |
class | Stg::StgWorld |
class | Stg::StgWorldGui |
Defines | |
#define | LISTFUNCTION(LIST, TYPE, FUNC) for( GList* it=LIST; it; it=it->next ) FUNC((TYPE)it->data); |
#define | LISTFUNCTIONARG(LIST, TYPE, FUNC, ARG) for( GList* it=LIST; it; it=it->next ) FUNC((TYPE)it->data, ARG); |
#define | LISTMETHOD(LIST, TYPE, METHOD) for( GList* it=LIST; it; it=it->next ) ((TYPE)it->data)->METHOD(); |
#define | LISTMETHODARG(LIST, TYPE, METHOD, ARG) for( GList* it=LIST; it; it=it->next ) ((TYPE)it->data)->METHOD(ARG); |
#define | PRINT_DEBUG(m) |
#define | PRINT_DEBUG1(m, a) |
#define | PRINT_DEBUG2(m, a, b) |
#define | PRINT_DEBUG3(m, a, b, c) |
#define | PRINT_DEBUG4(m, a, b, c, d) |
#define | PRINT_DEBUG5(m, a, b, c, d, e) |
#define | PRINT_ERR(m) fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", __FILE__, __FUNCTION__) |
#define | PRINT_ERR1(m, a) fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, __FILE__, __FUNCTION__) |
#define | PRINT_ERR2(m, a, b) fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, b, __FILE__, __FUNCTION__) |
#define | PRINT_ERR3(m, a, b, c) fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, b, c, __FILE__, __FUNCTION__) |
#define | PRINT_ERR4(m, a, b, c, d) fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, b, c, d, __FILE__, __FUNCTION__) |
#define | PRINT_ERR5(m, a, b, c, d, e) fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, b, c, d, e, __FILE__, __FUNCTION__) |
#define | PRINT_MSG(m) printf( "Stage: "m"\n" ) |
#define | PRINT_MSG1(m, a) printf( "Stage: "m"\n", a) |
#define | PRINT_MSG2(m, a, b) printf( "Stage: "m"\n,", a, b ) |
#define | PRINT_MSG3(m, a, b, c) printf( "Stage: "m"\n", a, b, c ) |
#define | PRINT_MSG4(m, a, b, c, d) printf( "Stage: "m"\n", a, b, c, d ) |
#define | PRINT_MSG5(m, a, b, c, d, e) printf( "Stage: "m"\n", a, b, c, d, e ) |
#define | PRINT_WARN(m) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", __FILE__, __FUNCTION__) |
#define | PRINT_WARN1(m, a) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, __FILE__, __FUNCTION__) |
#define | PRINT_WARN2(m, a, b) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, b, __FILE__, __FUNCTION__) |
#define | PRINT_WARN3(m, a, b, c) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, b, c, __FILE__, __FUNCTION__) |
#define | PRINT_WARN4(m, a, b, c, d) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, b, c, d, __FILE__, __FUNCTION__) |
#define | PRINT_WARN5(m, a, b, c, d, e) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, b, c, d, e, __FILE__, __FUNCTION__) |
Typedefs | |
typedef int | Stg::ctrlinit_t (StgModel *mod) |
typedef hdr_t | Stg::Draw::pop_t |
typedef hdr_t | Stg::Draw::push_t |
typedef bool(* | Stg::stg_block_match_func_t )(StgBlock *candidate, StgModel *finder, const void *arg) |
typedef uint32_t | Stg::stg_bool_t |
typedef uint32_t | Stg::stg_color_t |
typedef StgModel *(* | Stg::stg_creator_t )(StgWorld *, StgModel *, stg_id_t, char *) |
typedef uint32_t | Stg::stg_id_t |
typedef double | Stg::stg_joules_t |
typedef double | Stg::stg_kg_t |
typedef int(* | Stg::stg_line3d_func_t )(int32_t x, int32_t y, int32_t z, void *arg) |
typedef double | Stg::stg_meters_t |
typedef int(* | Stg::stg_model_callback_t )(StgModel *mod, void *user) |
typedef uint32_t | Stg::stg_movemask_t |
typedef unsigned long | Stg::stg_msec_t |
typedef double | Stg::stg_radians_t |
typedef struct timeval | Stg::stg_time_t |
typedef uint64_t | Stg::stg_usec_t |
typedef stg_pose_t | Stg::stg_velocity_t |
typedef double | Stg::stg_watts_t |
Enumerations | |
enum | { Stg::FiducialNone = 0 } |
enum | Stg::stg_image_format_t { Stg::STG_IMAGE_FORMAT_PNG, Stg::STG_IMAGE_FORMAT_JPG } |
enum | Stg::stg_laser_return_t { Stg::LaserTransparent, Stg::LaserVisible, Stg::LaserBright } |
laser return value More... | |
enum | Stg::stg_position_control_mode_t { Stg::STG_POSITION_CONTROL_VELOCITY, Stg::STG_POSITION_CONTROL_POSITION } |
enum | Stg::stg_position_drive_mode_t { Stg::STG_POSITION_DRIVE_DIFFERENTIAL, Stg::STG_POSITION_DRIVE_OMNI, Stg::STG_POSITION_DRIVE_CAR } |
enum | Stg::stg_position_localization_mode_t { Stg::STG_POSITION_LOCALIZATION_GPS, Stg::STG_POSITION_LOCALIZATION_ODOM } |
enum | Stg::Draw::type_t { Stg::Draw::STG_D_DRAW_POINTS, Stg::Draw::STG_D_DRAW_LINES, Stg::Draw::STG_D_DRAW_LINE_STRIP, Stg::Draw::STG_D_DRAW_LINE_LOOP, Stg::Draw::STG_D_DRAW_TRIANGLES, Stg::Draw::STG_D_DRAW_TRIANGLE_STRIP, Stg::Draw::STG_D_DRAW_TRIANGLE_FAN, Stg::Draw::STG_D_DRAW_QUADS, Stg::Draw::STG_D_DRAW_QUAD_STRIP, Stg::Draw::STG_D_DRAW_POLYGON, Stg::Draw::STG_D_PUSH, Stg::Draw::STG_D_POP, Stg::Draw::STG_D_ROTATE, Stg::Draw::STG_D_TRANSLATE } |
Functions | |
stg_cb_t * | Stg::cb_create (stg_model_callback_t callback, void *arg) |
void | Stg::cb_destroy (stg_cb_t *cb) |
double | Stg::constrain (double val, double minval, double maxval) |
draw_t * | Stg::Draw::create (type_t type, vertex_t *verts, size_t vert_count) |
void | Stg::Draw::destroy (draw_t *d) |
double | Stg::dtor (double d) |
void | Stg::gl_coord_shift (double x, double y, double z, double a) |
void | Stg::gl_draw_grid (stg_bounds3d_t vol) |
void | Stg::gl_draw_string (float x, float y, float z, char *str) |
void | Stg::gl_pose_shift (stg_pose_t *pose) |
void | Stg::Init (int *argc, char **argv[]) |
bool | Stg::InitDone () |
double | Stg::normalize (double a) |
stg_pose_t | Stg::pose_sum (stg_pose_t p1, stg_pose_t p2) |
double | Stg::rtod (double r) |
double | Stg::sgn (double a) |
int | Stg::sgn (int a) |
void | Stg::stg_block_list_destroy (GList *list) |
void | Stg::stg_block_list_scale (GList *blocks, stg_size_t *size) |
stg_color_t | Stg::stg_color_pack (double r, double g, double b, double a) |
void | Stg::stg_color_unpack (stg_color_t col, double *r, double *g, double *b, double *a) |
GHashTable * | Stg::stg_create_typetable () |
int | Stg::stg_line_3d (int32_t x, int32_t y, int32_t z, int32_t dx, int32_t dy, int32_t dz, stg_line3d_func_t visit_voxel, void *arg) |
stg_color_t | Stg::stg_lookup_color (const char *name) |
stg_point_t * | Stg::stg_points_create (size_t count) |
void | Stg::stg_points_destroy (stg_point_t *pts) |
int | Stg::stg_polygon_3d (stg_point_int_t *pts, unsigned int pt_count, stg_line3d_func_t visit_voxel, void *arg) |
void | Stg::stg_pose_sum (stg_pose_t *result, stg_pose_t *p1, stg_pose_t *p2) |
void | Stg::stg_print_err (const char *err) |
void | Stg::stg_print_geom (stg_geom_t *geom) |
void | Stg::stg_print_pose (stg_pose_t *pose) |
void | Stg::stg_print_velocity (stg_velocity_t *vel) |
stg_msec_t | Stg::stg_realtime (void) |
stg_msec_t | Stg::stg_realtime_since_start (void) |
int | Stg::stg_rotrects_from_image_file (const char *filename, stg_rotrect_t **rects, unsigned int *rect_count, unsigned int *widthp, unsigned int *heightp) |
void | Stg::stg_rotrects_normalize (stg_rotrect_t *rects, int num) |
stg_point_t * | Stg::stg_unit_square_points_create (void) |
GHashTable * | Stg::Typetable () |
Variables | |
const char | Stg::AUTHORS [] |
Author string. | |
const double | Stg::billion = 1e9 |
const char | Stg::COPYRIGHT [] |
Copyright string. | |
const char | Stg::DESCRIPTION [] |
Project description string. | |
const uint32_t | Stg::INTERVAL_LOG_LEN = 32 |
const char | Stg::LICENSE [] |
Project distribution license string. | |
const double | Stg::million = 1e6 |
const uint32_t | Stg::STG_MOVE_ROT = (1 << 1) |
const uint32_t | Stg::STG_MOVE_SCALE = (1 << 2) |
const uint32_t | Stg::STG_MOVE_TRANS = (1 << 0) |
const char | Stg::STG_MP_COLOR [] = "_mp_color" |
const char | Stg::STG_MP_FIDUCIAL_RETURN [] = "_mp_fiducial_return" |
const char | Stg::STG_MP_GEOM [] = "_mp_geom" |
const char | Stg::STG_MP_GRIPPER_RETURN [] = "_mp_gripper_return" |
const char | Stg::STG_MP_LASER_RETURN [] = "_mp_laser_return" |
const char | Stg::STG_MP_MASS [] = "_mp_mass" |
const char | Stg::STG_MP_OBSTACLE_RETURN [] = "_mp_obstacle_return" |
const char | Stg::STG_MP_POSE [] = "_mp_pose" |
const char | Stg::STG_MP_PREFIX [] = "_mp_" |
const char | Stg::STG_MP_RANGER_RETURN [] = "_mp_ranger_return" |
const char | Stg::STG_MP_VELOCITY [] = "_mp_velocity" |
const char | Stg::STG_MP_WATTS [] = "_mp_watts" |
const uint32_t | Stg::STG_SHOW_ARROWS = (1<<9) |
const uint32_t | Stg::STG_SHOW_BLOCKS = (1<<0) |
const uint32_t | Stg::STG_SHOW_BLOCKS_2D = (1<<10) |
const uint32_t | Stg::STG_SHOW_CLOCK = (1<<7) |
const uint32_t | Stg::STG_SHOW_DATA = (1<<1) |
const uint32_t | Stg::STG_SHOW_FOLLOW = (1<<6) |
const uint32_t | Stg::STG_SHOW_FOOTPRINT = (1<<10) |
const uint32_t | Stg::STG_SHOW_GEOM = (1<<2) |
const uint32_t | Stg::STG_SHOW_GRID = (1<<3) |
const uint32_t | Stg::STG_SHOW_OCCUPANCY = (1<<4) |
const uint32_t | Stg::STG_SHOW_QUADTREE = (1<<8) |
const uint32_t | Stg::STG_SHOW_TRAILS = (1<<5) |
const double | Stg::thousand = 1e3 |
const uint32_t | Stg::TOKEN_MAX = 64 |
const char | Stg::WEBSITE [] = "http://playerstage.org" |
Project website string. |
Define Documentation
#define LISTFUNCTION | ( | LIST, | |||
TYPE, | |||||
FUNC | ) | for( GList* it=LIST; it; it=it->next ) FUNC((TYPE)it->data); |
Referenced by list_gfree().
#define LISTFUNCTIONARG | ( | LIST, | |||
TYPE, | |||||
FUNC, | |||||
ARG | ) | for( GList* it=LIST; it; it=it->next ) FUNC((TYPE)it->data, ARG); |
#define LISTMETHOD | ( | LIST, | |||
TYPE, | |||||
METHOD | ) | for( GList* it=LIST; it; it=it->next ) ((TYPE)it->data)->METHOD(); |
#define LISTMETHODARG | ( | LIST, | |||
TYPE, | |||||
METHOD, | |||||
ARG | ) | for( GList* it=LIST; it; it=it->next ) ((TYPE)it->data)->METHOD(ARG); |
#define PRINT_DEBUG | ( | m | ) |
Referenced by StTime::GetTime(), StTime::GetTimeDouble(), Stg::Init(), Stg::StgModelRanger::Load(), Stg::StgModelFiducial::Load(), InterfacePosition::ProcessMessage(), Stg::StgModelRanger::Shutdown(), Stg::StgModelPosition::Shutdown(), Stg::StgModelLaser::Shutdown(), Stg::StgModelBlobfinder::Shutdown(), Stg::StgModelRanger::Startup(), Stg::StgModelPosition::Startup(), Stg::StgModelLaser::Startup(), Stg::StgModelBlobfinder::Startup(), Stg::stg_lookup_color(), and Stg::StgModelPosition::Update().
#define PRINT_DEBUG1 | ( | m, | |||
a | ) |
Referenced by Stg::Worldfile::FileOpen(), Stg::StgWorld::GetModel(), StTime::GetTimeDouble(), Stg::StgWorldGui::Load(), Stg::StgWorld::Load(), Stg::StgModelRanger::Load(), Stg::StgModel::Load(), Stg::StgWorldGui::Save(), Stg::StgModel::Save(), Stg::StgModel::SetProperty(), Stg::stg_lookup_color(), and Stg::StgModelPosition::Update().
#define PRINT_DEBUG2 | ( | m, | |||
a, | |||||
b | ) |
Referenced by StTime::GetTime(), Stg::StgWorld::Load(), Stg::StgBlock::Map(), InterfaceLaser::ProcessMessage(), Stg::StgModel::StgModel(), Stg::StgModelBlinkenlight::StgModelBlinkenlight(), Stg::StgModelBlobfinder::StgModelBlobfinder(), Stg::StgModelFiducial::StgModelFiducial(), Stg::StgModelLaser::StgModelLaser(), Stg::StgModelPosition::StgModelPosition(), Stg::StgModelRanger::StgModelRanger(), Stg::StgBlock::UnMap(), Stg::StgModelPosition::Update(), and Stg::StgWorld::~StgWorld().
#define PRINT_DEBUG3 | ( | m, | |||
a, | |||||
b, | |||||
c | ) |
#define PRINT_DEBUG4 | ( | m, | |||
a, | |||||
b, | |||||
c, | |||||
d | ) |
Referenced by Stg::StgModel::Save(), Stg::StgModel::StgModel(), and Stg::StgModelPosition::Update().
#define PRINT_DEBUG5 | ( | m, | |||
a, | |||||
b, | |||||
c, | |||||
d, | |||||
e | ) |
#define PRINT_ERR | ( | m | ) | fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", __FILE__, __FUNCTION__) |
Referenced by Stg::Worldfile::Load(), and InterfaceGraphics3d::Publish().
#define PRINT_ERR1 | ( | m, | |||
a | ) | fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, __FILE__, __FUNCTION__) |
Referenced by InterfaceModel::InterfaceModel(), InterfaceSimulation::InterfaceSimulation(), Stg::StgWorld::Load(), Stg::StgModelPosition::Load(), Stg::StgModel::Load(), Stg::StgModel::LoadControllerModule(), StgDriver::LocateModel(), Stg::StgModel::SetProperty(), Stg::stg_lookup_color(), StgDriver::StgDriver(), Stg::StgModelPosition::Update(), and view_toggle_cb().
#define PRINT_ERR2 | ( | m, | |||
a, | |||||
b | ) | fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, b, __FILE__, __FUNCTION__) |
#define PRINT_ERR3 | ( | m, | |||
a, | |||||
b, | |||||
c | ) | fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, b, c, __FILE__, __FUNCTION__) |
Referenced by StgDriver::StgDriver().
#define PRINT_ERR4 | ( | m, | |||
a, | |||||
b, | |||||
c, | |||||
d | ) | fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, b, c, d, __FILE__, __FUNCTION__) |
#define PRINT_ERR5 | ( | m, | |||
a, | |||||
b, | |||||
c, | |||||
d, | |||||
e | ) | fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, b, c, d, e, __FILE__, __FUNCTION__) |
#define PRINT_MSG | ( | m | ) | printf( "Stage: "m"\n" ) |
#define PRINT_MSG1 | ( | m, | |||
a | ) | printf( "Stage: "m"\n", a) |
#define PRINT_MSG2 | ( | m, | |||
a, | |||||
b | ) | printf( "Stage: "m"\n,", a, b ) |
#define PRINT_MSG3 | ( | m, | |||
a, | |||||
b, | |||||
c | ) | printf( "Stage: "m"\n", a, b, c ) |
#define PRINT_MSG4 | ( | m, | |||
a, | |||||
b, | |||||
c, | |||||
d | ) | printf( "Stage: "m"\n", a, b, c, d ) |
#define PRINT_MSG5 | ( | m, | |||
a, | |||||
b, | |||||
c, | |||||
d, | |||||
e | ) | printf( "Stage: "m"\n", a, b, c, d, e ) |
#define PRINT_WARN | ( | m | ) | printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", __FILE__, __FUNCTION__) |
Referenced by Stg::Init(), Stg::StgModelLaser::Load(), and InterfacePosition::ProcessMessage().
#define PRINT_WARN1 | ( | m, | |||
a | ) | printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, __FILE__, __FUNCTION__) |
#define PRINT_WARN2 | ( | m, | |||
a, | |||||
b | ) | printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, b, __FILE__, __FUNCTION__) |
#define PRINT_WARN3 | ( | m, | |||
a, | |||||
b, | |||||
c | ) | printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, b, c, __FILE__, __FUNCTION__) |
Referenced by StgDriver::ProcessMessage().
#define PRINT_WARN4 | ( | m, | |||
a, | |||||
b, | |||||
c, | |||||
d | ) | printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, b, c, d, __FILE__, __FUNCTION__) |
#define PRINT_WARN5 | ( | m, | |||
a, | |||||
b, | |||||
c, | |||||
d, | |||||
e | ) | printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, b, c, d, e, __FILE__, __FUNCTION__) |
Generated on Thu Jan 7 17:42:16 2010 for Stage by
