Stg Namespace Reference


Detailed Description

The Stage library uses its own namespace


Classes

struct  ColoredVertex
struct  CProperty
class  FileManager
class  GlColorStack
class  Option
class  OptionsDlg
class  Region
struct  stg_bbox3d_t
struct  stg_bigblock_t
struct  stg_blinkenlight_t
struct  stg_blobfinder_blob_t
struct  stg_bounds3d_t
struct  stg_bounds_t
struct  stg_cb_t
struct  stg_colorvertex_t
struct  stg_energy_config_t
struct  stg_energy_data_t
struct  stg_fiducial_config_t
struct  stg_fiducial_t
struct  stg_fov_t
struct  stg_geom_t
struct  stg_laser_cfg_t
struct  stg_laser_sample_t
struct  stg_point3_t
struct  stg_point_int_t
struct  stg_point_t
struct  stg_pose_t
struct  stg_range_bounds_t
struct  stg_ranger_sensor_t
struct  stg_raytrace_sample_t
struct  stg_render_info_t
struct  stg_rotrect_t
struct  stg_size_t
struct  stg_trail_item_t
struct  stg_typetable_entry_t
struct  stg_vertex_t
class  StgAncestor
class  StgBlock
class  StgBlockGrid
class  StgCamera
class  StgCanvas
class  StgFlag
class  StgModel
 StgModel class More...
class  StgModelBlinkenlight
class  StgModelBlobfinder
 StgModelBlobfinder class More...
class  StgModelCamera
 StgModelCamera class More...
class  StgModelFiducial
 StgModelFiducial class More...
class  StgModelLaser
 StgModelLaser class More...
class  StgModelPosition
 StgModelPosition class More...
class  StgModelRanger
 StgModelRanger class More...
class  StgOrthoCamera
class  StgPerspectiveCamera
class  StgWorld
 StgWorld class More...
class  StgWorldGui
class  SuperRegion
class  Worldfile

Typedefs

typedef int ctrlinit_t (StgModel *mod)
typedef bool(*) stg_block_match_func_t (StgBlock *candidate, StgModel *finder, const void *arg)
typedef uint32_t stg_bool_t
typedef uint32_t stg_color_t
typedef StgModel *(*) stg_creator_t (StgWorld *, StgModel *)
typedef uint32_t stg_id_t
typedef double stg_joules_t
typedef double stg_kg_t
typedef int(*) stg_line3d_func_t (int32_t x, int32_t y, int32_t z, void *arg)
typedef double stg_meters_t
typedef int(*) stg_model_callback_t (StgModel *mod, void *user)
typedef int(*) stg_model_callback_t (StgModel *mod, void *user)
typedef uint32_t stg_movemask_t
typedef unsigned long stg_msec_t
typedef double stg_radians_t
typedef timeval stg_time_t
typedef uint64_t stg_usec_t
typedef stg_pose_t stg_velocity_t
typedef double stg_watts_t

Enumerations

enum  { FiducialNone = 0 }
enum  stg_image_format_t { STG_IMAGE_FORMAT_PNG, STG_IMAGE_FORMAT_JPG }
enum  stg_laser_return_t { LaserTransparent, LaserVisible, LaserBright }
 laser return value More...
enum  stg_model_type_t {
  MODEL_TYPE_PLAIN = 0, MODEL_TYPE_LASER, MODEL_TYPE_FIDUCIAL, MODEL_TYPE_RANGER,
  MODEL_TYPE_POSITION, MODEL_TYPE_BLOBFINDER, MODEL_TYPE_BLINKENLIGHT, MODEL_TYPE_CAMERA,
  MODEL_TYPE_COUNT
}
enum  stg_position_control_mode_t { STG_POSITION_CONTROL_VELOCITY, STG_POSITION_CONTROL_POSITION }
enum  stg_position_drive_mode_t { STG_POSITION_DRIVE_DIFFERENTIAL, STG_POSITION_DRIVE_OMNI, STG_POSITION_DRIVE_CAR }
enum  stg_position_localization_mode_t { STG_POSITION_LOCALIZATION_GPS, STG_POSITION_LOCALIZATION_ODOM }

Functions

stg_cb_tcb_create (stg_model_callback_t callback, void *arg)
void cb_destroy (stg_cb_t *cb)
double constrain (double val, double minval, double maxval)
double dtor (double d)
void gl_coord_shift (double x, double y, double z, double a)
void gl_draw_grid (stg_bounds3d_t vol)
void gl_draw_octagon (float w, float h, float m)
void gl_draw_string (float x, float y, float z, const char *str)
void gl_pose_shift (stg_pose_t *pose)
void gl_speech_bubble (float x, float y, float z, const char *str)
void Init (int *argc, char **argv[])
bool InitDone ()
stg_pose_t new_pose (stg_meters_t x, stg_meters_t y, stg_meters_t z, stg_radians_t a)
double normalize (double a)
stg_pose_t pose_sum (stg_pose_t p1, stg_pose_t p2)
stg_pose_t random_pose (stg_meters_t xmin, stg_meters_t xmax, stg_meters_t ymin, stg_meters_t ymax)
void RegisterModel (stg_model_type_t type, const char *name, stg_creator_t creator)
void RegisterModels ()
void RegisterModels ()
double rtod (double r)
double sgn (double a)
int sgn (int a)
void stg_block_list_destroy (GList *list)
void stg_block_list_scale (GList *blocks, stg_size_t *size)
stg_color_t stg_color_pack (double r, double g, double b, double a)
void stg_color_unpack (stg_color_t col, double *r, double *g, double *b, double *a)
int 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_lookup_color (const char *name)
stg_point_tstg_points_create (size_t count)
void stg_points_destroy (stg_point_t *pts)
int stg_polygon_3d (stg_point_int_t *pts, unsigned int pt_count, stg_line3d_func_t visit_voxel, void *arg)
void stg_pose_sum (stg_pose_t *result, stg_pose_t *p1, stg_pose_t *p2)
void stg_print_err (const char *err)
void stg_print_geom (stg_geom_t *geom)
void stg_print_pose (stg_pose_t *pose)
void stg_print_velocity (stg_velocity_t *vel)
stg_msec_t stg_realtime (void)
stg_msec_t stg_realtime_since_start (void)
int stg_rotrects_from_image_file (const char *filename, stg_rotrect_t **rects, unsigned int *rect_count, unsigned int *widthp, unsigned int *heightp)
void stg_rotrects_normalize (stg_rotrect_t *rects, int num)
stg_point_tstg_unit_square_points_create (void)

Variables

const char AUTHORS []
 Author string.
const double billion = 1e9
const char COPYRIGHT []
 Copyright string.
const char DESCRIPTION []
 Project description string.
const uint32_t INTERVAL_LOG_LEN = 32
const char LICENSE []
 Project distribution license string.
const double million = 1e6
const uint32_t STG_MOVE_ROT = (1 << 1)
const uint32_t STG_MOVE_SCALE = (1 << 2)
const uint32_t STG_MOVE_TRANS = (1 << 0)
const char STG_MP_COLOR [] = "_mp_color"
const char STG_MP_FIDUCIAL_RETURN [] = "_mp_fiducial_return"
const char STG_MP_GEOM [] = "_mp_geom"
const char STG_MP_GRIPPER_RETURN [] = "_mp_gripper_return"
const char STG_MP_LASER_RETURN [] = "_mp_laser_return"
const char STG_MP_MASS [] = "_mp_mass"
const char STG_MP_OBSTACLE_RETURN [] = "_mp_obstacle_return"
const char STG_MP_POSE [] = "_mp_pose"
const char STG_MP_PREFIX [] = "_mp_"
const char STG_MP_RANGER_RETURN [] = "_mp_ranger_return"
const char STG_MP_VELOCITY [] = "_mp_velocity"
const char STG_MP_WATTS [] = "_mp_watts"
const double thousand = 1e3
const uint32_t TOKEN_MAX = 64
stg_typetable_entry_t typetable [MODEL_TYPE_COUNT]
const char WEBSITE [] = "http://playerstage.org"
 Project website string.

Typedef Documentation

typedef uint32_t Stg::stg_bool_t

boolean

typedef uint32_t Stg::stg_color_t

32-bit ARGB color packed 0xAARRGGBB

A model creator function. Each model type must define a function of this type.

typedef uint32_t Stg::stg_id_t

Value that Uniquely identifies a model

typedef double Stg::stg_joules_t

Joules: unit of energy

typedef double Stg::stg_kg_t

Kilograms: unit of mass

typedef int(*) Stg::stg_line3d_func_t(int32_t x, int32_t y, int32_t z, void *arg)

matching function should return 0 iff the candidate block is acceptable

typedef double Stg::stg_meters_t

Metres: floating point unit of distance

typedef int(*) Stg::stg_model_callback_t(StgModel *mod, void *user)

Define a callback function type that can be attached to a record within a model and called whenever the record is set.

typedef unsigned long Stg::stg_msec_t

Milliseconds: unit of (short) time

typedef double Stg::stg_radians_t

Radians: unit of angle

typedef struct timeval Stg::stg_time_t

time structure

typedef uint64_t Stg::stg_usec_t

Microseconds: unit of (very short) time

specify a 3 axis velocity in x, y and heading.

typedef double Stg::stg_watts_t

Watts: unit of power (energy/time)


Enumeration Type Documentation

anonymous enum

any integer value other than this is a valid fiducial ID

Describe the image format used for saving screenshots

laser return value

Enumerator:
LaserTransparent  not detected by laser model
LaserVisible  detected by laser with a reflected intensity of 0

Create unique identifying numbers for each type of model, and a count of the number of types.

Define a position control method

Define a driving method

Define a localization method


Function Documentation

double Stg::dtor ( double  d  )  [inline]

convert an angle in degrees to radians

void Stg::gl_draw_string ( float  x,
float  y,
float  z,
const char *  string 
)

Render a string at [x,y,z] in the current color

void Stg::Init ( int *  argc,
char **  argv[] 
)

Initialize the Stage library

bool Stg::InitDone (  ) 

returns true iff Stg::Init() has been called.

stg_pose_t Stg::new_pose ( stg_meters_t  x,
stg_meters_t  y,
stg_meters_t  z,
stg_radians_t  a 
)

return a stg_pose_t with its fields initialized by the parameters

double Stg::normalize ( double  a  )  [inline]

Normalize an angle to within +/_ M_PI

stg_pose_t Stg::pose_sum ( stg_pose_t  p1,
stg_pose_t  p2 
)

returns the sum of [p1] + [p2], in [p1]'s coordinate system

stg_pose_t Stg::random_pose ( stg_meters_t  xmin,
stg_meters_t  xmax,
stg_meters_t  ymin,
stg_meters_t  ymax 
)

return a random pose within the bounding rectangle, with z=0 and angle random

double Stg::rtod ( double  r  )  [inline]

convert an angle in radians to degrees

double Stg::sgn ( double  a  )  [inline]

take binary sign of a, either -1, or 1 if >= 0

int Stg::sgn ( int  a  )  [inline]

take binary sign of a, either -1, or 1 if >= 0

stg_color_t Stg::stg_color_pack ( double  r,
double  g,
double  b,
double  a 
)

Specify a color from its components

void Stg::stg_color_unpack ( stg_color_t  col,
double *  r,
double *  g,
double *  b,
double *  a 
)

Obtain the components of a color

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 
)

Visit every voxel along a vector from (x,y,z) to (x+dx, y+dy, z+dz). Call the function for every voxel, passing in the current voxel coordinates followed by the two arguments. Adapted from Graphics Gems IV, algorithm by Cohen & Kaufman 1991

stg_color_t Stg::stg_lookup_color ( const char *  name  ) 

Look up the color in the X11 database. (i.e. transform color name to color value). If the color is not found in the database, a bright red color (0xF00) will be returned instead.

stg_point_t * Stg::stg_points_create ( size_t  count  ) 

Create an array of [count] points. Caller must free the returned pointer, preferably with stg_points_destroy().

void Stg::stg_points_destroy ( stg_point_t pts  ) 

frees a point array

int Stg::stg_polygon_3d ( stg_point_int_t pts,
unsigned int  pt_count,
stg_line3d_func_t  visit_voxel,
void *  arg 
)

Visit every voxel along a polygon defined by the array of points. Calls stg_line_3d().

void Stg::stg_pose_sum ( stg_pose_t result,
stg_pose_t p1,
stg_pose_t p2 
)

calculate the sum of [p1] and [p2], in [p1]'s coordinate system, and copy the result into result.

void Stg::stg_print_err ( const char *  err  ) 

Report an error, with a standard, friendly message header

void Stg::stg_print_geom ( stg_geom_t geom  ) 

Print human-readable geometry on stdout

void Stg::stg_print_pose ( stg_pose_t pose  ) 

Print human-readable pose on stdout

void Stg::stg_print_velocity ( stg_velocity_t vel  ) 

Print human-readable velocity on stdout

int Stg::stg_rotrects_from_image_file ( const char *  filename,
stg_rotrect_t **  rects,
unsigned int *  rect_count,
unsigned int *  widthp,
unsigned int *  heightp 
)

load the image file [filename] and convert it to an array of rectangles, filling in the number of rects, width and height. Memory is allocated for the rectangle array [rects], so the caller must free [rects].

void Stg::stg_rotrects_normalize ( stg_rotrect_t rects,
int  num 
)

normalizes the set [rects] of [num] rectangles, so that they fit exactly in a unit square.

stg_point_t * Stg::stg_unit_square_points_create (  ) 

create an array of 4 points containing the corners of a unit square.


Variable Documentation

const char Stg::AUTHORS[]

Initial value:

                    
        "Richard Vaughan, Brian Gerkey, Andrew Howard, Reed Hedges, Pooya Karimian, Toby Collett, Jeremy Asher, Alex Couture-Beil and contributors."
Author string.

const double Stg::billion = 1e9

Convenient constant

const char Stg::COPYRIGHT[]

Initial value:

                       
        "Copyright Richard Vaughan and contributors 2000-2008"
Copyright string.

const char Stg::DESCRIPTION[]

Initial value:

                       
        "Robot simulation library\nPart of the Player Project"
Project description string.

const char Stg::LICENSE[]

Initial value:

 
        "Stage robot simulation library\n"                  
        "Copyright (C) 2000-2008 Richard Vaughan and contributors\n"    
        "Part of the Player Project [http://playerstage.org]\n"     
        "\n"                                
        "This program is free software; you can redistribute it and/or\n"   
        "modify it under the terms of the GNU General Public License\n" 
        "as published by the Free Software Foundation; either version 2\n"  
        "of the License, or (at your option) any later version.\n"      
        "\n"                                
        "This program is distributed in the hope that it will be useful,\n" 
        "but WITHOUT ANY WARRANTY; without even the implied warranty of\n"  
        "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\n"   
        "GNU General Public License for more details.\n"            
        "\n"                                
        "You should have received a copy of the GNU General Public License\n" 
        "along with this program; if not, write to the Free Software\n" 
        "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.\n" 
        "\n"                                
        "The text of the license may also be available online at\n"     
        "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html\n"
Project distribution license string.

const double Stg::million = 1e6

Convenient constant

const double Stg::thousand = 1e3

Convenient constant

const uint32_t Stg::TOKEN_MAX = 64

The maximum length of a Stage model identifier string

stg_typetable_entry_t Stg::typetable

a global (to the namespace) table mapping names to model types


Generated on Wed Jul 30 11:36:06 2008 for Stage by  doxygen 1.4.7