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_tStg::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_tStg::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_tStg::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_DEBUG3 ( m,
a,
b,
 ) 

#define PRINT_DEBUG4 ( m,
a,
b,
c,
 ) 

#define PRINT_DEBUG5 ( m,
a,
b,
c,
d,
 ) 

#define PRINT_ERR (  )     fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", __FILE__, __FUNCTION__)

#define PRINT_ERR2 ( m,
a,
 )     fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, b, __FILE__, __FUNCTION__)

#define PRINT_ERR3 ( m,
a,
b,
 )     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,
 )     fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, b, c, d, __FILE__, __FUNCTION__)

#define PRINT_ERR5 ( m,
a,
b,
c,
d,
 )     fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, b, c, d, e, __FILE__, __FUNCTION__)

#define PRINT_MSG (  )     printf( "Stage: "m"\n" )

#define PRINT_MSG1 ( m,
 )     printf( "Stage: "m"\n", a)

#define PRINT_MSG2 ( m,
a,
 )     printf( "Stage: "m"\n,", a, b )

#define PRINT_MSG3 ( m,
a,
b,
 )     printf( "Stage: "m"\n", a, b, c )

#define PRINT_MSG4 ( m,
a,
b,
c,
 )     printf( "Stage: "m"\n", a, b, c, d )

#define PRINT_MSG5 ( m,
a,
b,
c,
d,
 )     printf( "Stage: "m"\n", a, b, c, d, e )

#define PRINT_WARN (  )     printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", __FILE__, __FUNCTION__)

#define PRINT_WARN2 ( m,
a,
 )     printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, b, __FILE__, __FUNCTION__)

#define PRINT_WARN3 ( m,
a,
b,
 )     printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, b, c, __FILE__, __FUNCTION__)

#define PRINT_WARN4 ( m,
a,
b,
c,
 )     printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, b, c, d, __FILE__, __FUNCTION__)

#define PRINT_WARN5 ( m,
a,
b,
c,
d,
 )     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  doxygen 1.5.5