42 #include <sys/types.h>
58 #include <FL/Fl_Box.H>
59 #include <FL/Fl_Gl_Window.H>
60 #include <FL/Fl_Menu_Bar.H>
61 #include <FL/Fl_Window.H>
62 #include <FL/fl_draw.H>
66 #include <OpenGL/glu.h>
102 "Copyright Richard Vaughan and contributors 2000-2009";
106 "Richard Vaughan, Brian Gerkey, Andrew Howard, Reed Hedges, Pooya Karimian, Toby Collett, Jeremy Asher, Alex Couture-Beil and contributors.";
109 const char WEBSITE[] =
"http://playerstage.org";
113 "Robot simulation library\nPart of the Player Project";
117 "Stage robot simulation library\n" \
118 "Copyright (C) 2000-2009 Richard Vaughan and contributors\n" \
119 "Part of the Player Project [http://playerstage.org]\n" \
121 "This program is free software; you can redistribute it and/or\n" \
122 "modify it under the terms of the GNU General Public License\n" \
123 "as published by the Free Software Foundation; either version 2\n" \
124 "of the License, or (at your option) any later version.\n" \
126 "This program is distributed in the hope that it will be useful,\n" \
127 "but WITHOUT ANY WARRANTY; without even the implied warranty of\n" \
128 "MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the\n" \
129 "GNU General Public License for more details.\n" \
131 "You should have received a copy of the GNU General Public License\n" \
132 "along with this program; if not, write to the Free Software\n" \
133 "Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.\n" \
135 "The text of the license may also be available online at\n" \
136 "http://www.gnu.org/licenses/old-licenses/gpl-2.0.html\n";
148 inline double rtod(
double r ){
return( r*180.0/M_PI ); }
151 inline double dtor(
double d ){
return( d*M_PI/180.0 ); }
156 while( a < -M_PI ) a += 2.0*M_PI;
157 while( a > M_PI ) a -= 2.0*M_PI;
162 inline int sgn(
int a){
return( a<0 ? -1 : 1); }
165 inline double sgn(
double a){
return( a<0 ? -1.0 : 1.0); }
202 Color(
double r,
double g,
double b,
double a=1.0 );
207 Color(
const std::string& name );
214 void Print(
const char* prefix )
const;
221 void GLSet(
void ) { glColor4f( r,g,b,a ); }
237 Size() : x( 0.4 ), y( 0.4 ), z( 1.0 )
241 void Save(
Worldfile* wf,
int section,
const char* keyword )
const;
258 : x(x), y(y), z(z), a(a)
261 Pose() : x(0.0), y(0.0), z(0.0), a(0.0)
269 meters_t ymin, meters_t ymax )
271 return Pose( xmin + drand48() * (xmax-xmin),
272 ymin + drand48() * (ymax-ymin),
280 virtual void Print(
const char* prefix )
const
282 printf(
"%s pose [x:%.3f y:%.3f z:%.3f a:%.3f]\n",
289 snprintf( buf, 256,
"[ %.3f %.3f %.3f %.3f ]",
291 return std::string(buf);
296 {
return( !(x || y || z || a )); };
303 void Save(
Worldfile* wf,
int section,
const char* keyword );
307 const double cosa = cos(a);
308 const double sina = sin(a);
310 return Pose( x + p.
x * cosa - p.
y * sina,
311 y + p.
x * sina + p.
y * cosa,
319 return( hypot( y, x ) < hypot( other.
y, other.
x ));
324 return( x==other.
x &&
332 return( x!=other.
x ||
340 return hypot( x-other.
x, y-other.
y );
378 virtual void Print(
const char* prefix )
const
381 printf(
"%s", prefix );
383 printf(
"velocity [x:%.3f y:%.3f z:%3.f a:%.3f]\n",
402 void Print(
const char* prefix )
const
405 printf(
"%s", prefix );
407 printf(
"geom pose: (%.2f,%.2f,%.2f) size: [%.2f,%.2f]\n",
438 Bounds(
double min,
double max ) : min(min), max(max) { }
459 : x(x), y(y), z(z) {}
474 point_t( meters_t x, meters_t y ) : x(x), y(y){}
478 {
return ((x += other.
x) && (y += other.
y) ); }
487 : x(x), y(y), z(z) {}
503 if( x < other.
x )
return true;
504 if( other.
x < x )
return false;
509 {
return ((x == other.
x) && (y == other.
y) ); }
522 void coord_shift(
double x,
double y,
double z,
double a );
525 void draw_string(
float x,
float y,
float z,
const char *
string);
527 const char *
string, Fl_Align align );
530 void draw_octagon(
float x,
float y,
float w,
float h,
float m );
533 void draw_array(
float x,
float y,
float w,
float h,
534 float* data,
size_t len,
size_t offset,
535 float min,
float max );
536 void draw_array(
float x,
float y,
float w,
float h,
537 float* data,
size_t len,
size_t offset );
548 const std::string menu_name;
549 const std::string worldfile_name;
553 const std::string& worldfile_name )
554 : menu_name( menu_name ),
555 worldfile_name( worldfile_name )
573 double constrain(
double val,
double minval,
double maxval );
598 std::vector<rotrect_t>& rects );
609 #define VAR(V,init) __typeof(init) V=(init)
616 #define FOR_EACH(I,C) for(VAR(I,(C).begin()),ite=(C).end();(I)!=ite;++(I))
620 template <
class T,
class C>
622 { cont.erase( std::remove( cont.begin(), cont.end(), thing ), cont.end() ); }
625 #define PRINT_ERR(m) fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", __FILE__, __FUNCTION__)
626 #define PRINT_ERR1(m,a) fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, __FILE__, __FUNCTION__)
627 #define PRINT_ERR2(m,a,b) fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, b, __FILE__, __FUNCTION__)
628 #define PRINT_ERR3(m,a,b,c) fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, b, c, __FILE__, __FUNCTION__)
629 #define PRINT_ERR4(m,a,b,c,d) fprintf( stderr, "\033[41merr\033[0m: "m" (%s %s)\n", a, b, c, d, __FILE__, __FUNCTION__)
630 #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__)
633 #define PRINT_WARN(m) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", __FILE__, __FUNCTION__)
634 #define PRINT_WARN1(m,a) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, __FILE__, __FUNCTION__)
635 #define PRINT_WARN2(m,a,b) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, b, __FILE__, __FUNCTION__)
636 #define PRINT_WARN3(m,a,b,c) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, b, c, __FILE__, __FUNCTION__)
637 #define PRINT_WARN4(m,a,b,c,d) printf( "\033[44mwarn\033[0m: "m" (%s %s)\n", a, b, c, d, __FILE__, __FUNCTION__)
638 #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__)
642 #define PRINT_MSG(m) printf( "Stage: "m" (%s %s)\n", __FILE__, __FUNCTION__)
643 #define PRINT_MSG1(m,a) printf( "Stage: "m" (%s %s)\n", a, __FILE__, __FUNCTION__)
644 #define PRINT_MSG2(m,a,b) printf( "Stage: "m" (%s %s)\n", a, b, __FILE__, __FUNCTION__)
645 #define PRINT_MSG3(m,a,b,c) printf( "Stage: "m" (%s %s)\n", a, b, c, __FILE__, __FUNCTION__)
646 #define PRINT_MSG4(m,a,b,c,d) printf( "Stage: "m" (%s %s)\n", a, b, c, d, __FILE__, __FUNCTION__)
647 #define PRINT_MSG5(m,a,b,c,d,e) printf( "Stage: "m" (%s %s)\n", a, b, c, d, e,__FILE__, __FUNCTION__)
649 #define PRINT_MSG(m) printf( "Stage: "m"\n" )
650 #define PRINT_MSG1(m,a) printf( "Stage: "m"\n", a)
651 #define PRINT_MSG2(m,a,b) printf( "Stage: "m"\n,", a, b )
652 #define PRINT_MSG3(m,a,b,c) printf( "Stage: "m"\n", a, b, c )
653 #define PRINT_MSG4(m,a,b,c,d) printf( "Stage: "m"\n", a, b, c, d )
654 #define PRINT_MSG5(m,a,b,c,d,e) printf( "Stage: "m"\n", a, b, c, d, e )
659 #define PRINT_DEBUG(m) printf( "debug: "m" (%s %s)\n", __FILE__, __FUNCTION__)
660 #define PRINT_DEBUG1(m,a) printf( "debug: "m" (%s %s)\n", a, __FILE__, __FUNCTION__)
661 #define PRINT_DEBUG2(m,a,b) printf( "debug: "m" (%s %s)\n", a, b, __FILE__, __FUNCTION__)
662 #define PRINT_DEBUG3(m,a,b,c) printf( "debug: "m" (%s %s)\n", a, b, c, __FILE__, __FUNCTION__)
663 #define PRINT_DEBUG4(m,a,b,c,d) printf( "debug: "m" (%s %s)\n", a, b, c ,d, __FILE__, __FUNCTION__)
664 #define PRINT_DEBUG5(m,a,b,c,d,e) printf( "debug: "m" (%s %s)\n", a, b, c ,d, e, __FILE__, __FUNCTION__)
666 #define PRINT_DEBUG(m)
667 #define PRINT_DEBUG1(m,a)
668 #define PRINT_DEBUG2(m,a,b)
669 #define PRINT_DEBUG3(m,a,b,c)
670 #define PRINT_DEBUG4(m,a,b,c,d)
671 #define PRINT_DEBUG5(m,a,b,c,d,e)
711 virtual void AddChild( Model* mod );
715 const char*
Token()
const {
return token.c_str(); }
725 PRINT_ERR(
"Ancestor::SetToken() called with zero length string. Ignored." );
729 void SetProperty( std::string& key,
void* value ){ props[ key ] = value; }
734 std::map<std::string,void*>::iterator it = props.find( key );
735 return( it == props.end() ? NULL : it->second );
752 : pose(pose), range(range), mod(NULL), color() {}
759 mod(mod), origin(origin), range(range), func(func), arg(arg), ztest(ztest)
787 LogEntry( usec_t timestamp, Model* mod );
790 static std::vector<LogEntry>
log;
793 static size_t Count(){
return log.size(); }
808 CtrlArgs( std::string w, std::string c ) : worldfile(w), cmdline(c) {}
826 static std::vector<std::string>
args;
831 static std::set<World*> world_set;
832 static bool quit_all;
833 static void UpdateCb( World* world);
834 static unsigned int next_id;
840 std::set<Model*> models;
843 std::map<std::string, Model*> models_by_name;
846 std::map<int,Model*> models_by_wfentity;
850 std::vector<Model*> models_with_fiducials;
854 bool operator()(
const Model* a,
const Model* b)
const;
859 bool operator()(
const Model* a,
const Model* b)
const;
864 std::set<Model*,ltx> models_with_fiducials_byx;
868 std::set<Model*,lty> models_with_fiducials_byy;
871 void FiducialInsert( Model* mod )
873 FiducialErase( mod );
874 models_with_fiducials.push_back( mod );
878 void FiducialErase( Model* mod )
880 EraseAll( mod, models_with_fiducials );
887 unsigned int show_clock_interval;
889 pthread_mutex_t sync_mutex;
890 unsigned int threads_working;
891 pthread_cond_t threads_start_cond;
892 pthread_cond_t threads_done_cond;
894 unsigned int worker_threads;
898 std::list<std::pair<world_callback_t,void*> >
cb_list;
923 virtual void Start(){ paused =
false; };
924 virtual void Stop(){ paused =
true; };
927 bool Paused()
const {
return( paused ); };
948 void Log( Model* mod );
960 Model*
CreateModel( Model* parent,
const std::string& typestr );
970 void MapPoly(
const std::vector<point_int_t>& poly,
972 unsigned int layer );
982 {
return (int32_t)floor(x * ppm); };
990 virtual void PushColor(
double r,
double g,
double b,
double a )
991 { (void)r; (void)g; (void)b; (void)a; };
1002 const meters_t range,
1004 const Model* finder,
1009 const meters_t range,
1010 const radians_t fov,
1012 const Model* finder,
1015 const uint32_t sample_count,
1022 virtual void AddModel( Model* mod );
1025 void AddModelName( Model* mod,
const std::string& name );
1033 void RecordRay(
double x1,
double y1,
double x2,
double y2 );
1046 : time(time), mod(mod), cb(cb), arg(arg) {}
1076 { event_queues[queue_num].push(
Event( sim_time + delay, mod, cb, arg ) ); }
1113 World(
const std::string& name =
"MyWorld",
1114 double ppm = DEFAULT_PPM );
1128 virtual bool IsGUI()
const {
return false; }
1135 virtual void Load(
const std::string& worldfile_path );
1143 virtual bool Save(
const char* filename );
1148 virtual bool Update(
void);
1175 Model*
GetModel(
const std::string& name )
const;
1211 const std::vector<point_t>& pts,
1224 void Map(
unsigned int layer );
1227 void UnMap(
unsigned int layer );
1254 void SetZ(
double min,
double max );
1265 unsigned int width,
unsigned int height,
1266 meters_t cellwidth, meters_t cellheight );
1270 std::vector<point_t> mpts;
1272 std::vector<point_t> pts;
1287 std::vector< std::list<Block*>::iterator > list_entries;
1291 std::vector<Cell*> rendered_cells[2];
1298 void InvalidateModelPointCache();
1311 void BuildDisplayList( Model* mod );
1313 std::vector<Block*> blocks;
1316 meters_t minx, maxx, miny, maxy;
1340 void Map(
unsigned int layer );
1341 void UnMap(
unsigned int layer );
1353 unsigned int width,
unsigned int height,
1354 meters_t cellwidth, meters_t cellheight );
1359 (*it)->InvalidateModelPointCache();
1372 Camera() : _pitch( 0 ), _yaw( 0 ), _x( 0 ), _y( 0 ), _z( 0 ) { }
1375 virtual void Draw(
void )
const = 0;
1381 double x(
void )
const {
return _x; }
1382 double y(
void )
const {
return _y; }
1383 double z(
void )
const {
return _z; }
1385 virtual void reset() = 0;
1404 virtual void Draw(
void )
const;
1409 void strafe(
double amount );
1410 void forward(
double amount );
1414 void move(
double x,
double y,
double z );
1415 void setFov(
double horiz_fov,
double vert_fov ) { _horiz_fov = horiz_fov; _vert_fov = vert_fov; }
1420 double vertFov(
void )
const {
return _vert_fov; }
1426 return _z_near * _z_far / ( _z_far - z_buf_val * ( _z_far - _z_near ) );
1431 void setClip(
double near,
double far ) { _z_far = far; _z_near = near; }
1443 double _pixels_width;
1444 double _pixels_height;
1457 virtual void Draw()
const;
1460 double pixels_height,
1466 void move(
double x,
double y );
1485 void scale(
double scale,
double shift_x = 0,
double h = 0,
double shift_y = 0,
double w = 0 );
1508 std::vector<Option*> drawOptions;
1510 std::vector<usec_t> interval_log;
1522 usec_t real_time_interval;
1525 usec_t real_time_now;
1529 usec_t real_time_recorded;
1532 uint64_t timing_interval;
1535 static void windowCb( Fl_Widget* w,
WorldGui* wg );
1536 static void fileLoadCb( Fl_Widget* w,
WorldGui* wg );
1537 static void fileSaveCb( Fl_Widget* w,
WorldGui* wg );
1538 static void fileSaveAsCb( Fl_Widget* w,
WorldGui* wg );
1539 static void fileExitCb( Fl_Widget* w,
WorldGui* wg );
1542 static void helpAboutCb( Fl_Widget* w,
WorldGui* wg );
1543 static void pauseCb( Fl_Widget* w,
WorldGui* wg );
1544 static void onceCb( Fl_Widget* w,
WorldGui* wg );
1545 static void fasterCb( Fl_Widget* w,
WorldGui* wg );
1546 static void slowerCb( Fl_Widget* w,
WorldGui* wg );
1547 static void realtimeCb( Fl_Widget* w,
WorldGui* wg );
1548 static void fasttimeCb( Fl_Widget* w,
WorldGui* wg );
1549 static void resetViewCb( Fl_Widget* w,
WorldGui* wg );
1550 static void moreHelptCb( Fl_Widget* w,
WorldGui* wg );
1553 bool saveAsDialog();
1554 bool closeWindowQuery();
1556 virtual void AddModel( Model* mod );
1563 virtual void PushColor(
double r,
double g,
double b,
double a );
1571 WorldGui(
int W,
int H,
const char*L=0);
1575 virtual void Redraw(
void );
1579 virtual void Load(
const std::string& filename );
1581 virtual bool Save(
const char* filename );
1582 virtual bool IsGUI()
const {
return true; };
1585 virtual void Start();
1586 virtual void Stop();
1614 float x,y,w,h,min,max;
1615 Color fgcolor, bgcolor;
1621 const char* name,
const char* wfname );
1638 unsigned int columns, rows;
1639 meters_t width, height;
1641 std::vector<joules_t> cells;
1643 joules_t peak_value;
1646 static joules_t global_peak_value;
1651 meters_t cellsize );
1656 void Accumulate( meters_t x, meters_t y, joules_t amount );
1700 void Add( joules_t j );
1709 {
return( stored / capacity ); }
1716 printf(
"%s", prefix );
1718 printf(
"PowerPack %.2f/%.2f J\n", stored, capacity );
1758 static uint32_t count;
1759 static std::map<id_t,Model*> modelsbyid;
1764 std::vector<Option*> drawOptions;
1765 const std::vector<Option*>& getOptions()
const {
return drawOptions; }
1792 : callback(cb), arg(arg) {}
1795 : callback(NULL), arg(arg) { (void)cb; }
1797 cb_t() : callback(NULL), arg(NULL) {}
1803 return( arg < other.
arg );
1805 return ((
void*)(callback)) < ((
void*)(other.
callback));
1810 {
return( callback == other.
callback); }
1827 Flag(
const Color& color,
double size );
1832 void Draw( GLUquadric* quadric );
1930 unsigned int width, height;
1931 meters_t cellwidth, cellheight;
1932 std::vector<point_t> pts;
1941 unsigned int height,
1943 meters_t cellheight );
1948 void AddPoint( meters_t x, meters_t y );
1975 : time(0), pose(), color(){}
2026 if( str.size() > 0 )
2032 PRINT_ERR(
"Model::SetToken() called with zero length string. Ignored." );
2041 Model*
GetChild(
const std::string& name )
const;
2069 unsigned int width,
unsigned int height,
2070 meters_t cellwidth, meters_t cellheight );
2075 explicit Model(
const Model& original);
2079 Model& operator=(
const Model& original);
2096 void Map(
unsigned int layer );
2101 void UnMap(
unsigned int layer );
2116 const meters_t range,
2119 const bool ztest =
true );
2124 const meters_t range,
2125 const radians_t fov,
2129 const uint32_t sample_count,
2130 const bool ztest =
true );
2133 const meters_t range,
2136 const bool ztest =
true );
2138 void Raytrace(
const radians_t bearing,
2139 const meters_t range,
2140 const radians_t fov,
2144 const uint32_t sample_count,
2145 const bool ztest =
true );
2173 void DrawImage( uint32_t texture_id,
Camera* cam,
float alpha,
double width=1.0,
double height=1.0 );
2199 meters_t ymin, meters_t ymax );
2203 {
return pose.
String(); }
2207 {
return modelsbyid[
id]; }
2210 Model( World* world,
2211 Model* parent = NULL,
2212 const std::string& type =
"model",
2213 const std::string& name =
"" );
2220 : mapped(false), alwayson(false), blocks_dl(0),
2221 boundary(false), data_fresh(false), disabled(true), friction(0), has_default_block(false), log_state(false), map_resolution(0), mass(0), parent(NULL), rebuild_displaylist(false), stack_children(true), stall(false), subs(0), thread_safe(false),trail_index(0), event_queue_num(0), used(false), watts(0), watts_give(0),watts_take(0),wf(NULL), wf_entity(0), world(NULL)
2224 void Say(
const std::string& str );
2247 virtual void Load();
2250 virtual void Save();
2291 meters_t dx, meters_t dy,
2305 Model*
Root(){
return( parent ? parent->
Root() : this ); }
2313 bool IsRelated(
const Model* testmod )
const;
2346 void AddToPose(
double dx,
double dy,
double dz,
double da );
2426 virtual void Print(
char* prefix )
const;
2441 std::vector<point_int_t>
LocalToPixels(
const std::vector<point_t>& local )
const;
2500 Vis( World* world );
2506 std::vector<Blob> blobs;
2507 std::vector<Color> colors;
2510 static bool BlockMatcher(
Block* testblock, Model* finder );
2522 const std::string&
type );
2529 virtual void Load();
2533 if( count ) *count = blobs.size();
2560 const std::string&
type );
2621 virtual void Update();
2622 virtual void DataVisualize(
Camera* cam );
2625 void PositionPaddles();
2626 void UpdateBreakBeams();
2627 void UpdateContacts();
2633 Block* paddle_right;
2643 const std::string&
type );
2647 virtual void Load();
2648 virtual void Save();
2705 void AddModelIfVisible( Model* him );
2707 virtual void Update();
2708 virtual void DataVisualize(
Camera* cam );
2713 std::vector<Fiducial> fiducials;
2718 const std::string&
type );
2721 virtual void Load();
2738 if( count ) *count = fiducials.size();
2739 return &fiducials[0];
2752 const std::string&
type );
2755 virtual void Load();
2756 virtual void Print(
char* prefix )
const;
2767 Vis( World* world );
2787 size( 0.02, 0.02, 0.02 ),
2799 std::string
String()
const;
2814 std::vector<Sensor> sensors;
2832 static Option showBlinkenData;
2836 const std::string&
type );
2840 virtual void Load();
2861 GLfloat* _frame_data;
2862 GLubyte* _frame_color_data;
2864 bool _valid_vertexbuf_cache;
2869 static const int _depth = 4;
2871 int _camera_quads_size;
2872 GLfloat* _camera_quads;
2873 GLubyte* _camera_colors;
2875 static Option showCameraData;
2879 double _pitch_offset;
2887 const std::string&
type );
2891 virtual void Load();
2918 void setPitch(
double pitch ) { _pitch_offset = pitch; _valid_vertexbuf_cache =
false; }
2921 void setYaw(
double yaw ) { _yaw_offset = yaw; _valid_vertexbuf_cache =
false; }
2972 const std::string&
type );
2976 virtual void Move();
2980 virtual void Load();
3024 void SetSpeed(
double x,
double y,
double a );
3035 void GoTo(
double x,
double y,
double a );
3072 double min_position;
3073 double max_position;
3074 double start_position;
3086 const std::string&
type );
3093 virtual void Load();
void SetTurnSpeed(double a)
Definition: model_position.cc:637
Bounds()
Definition: stage.hh:437
callback_type_t
Definition: stage.hh:1835
radians_t fov
field of view
Definition: stage.hh:2727
meters_t range
range to the target
Definition: stage.hh:2694
void SetBoundary(bool val)
Definition: model.cc:1313
Pose pose
location and direction of the ray origin
Definition: stage.hh:744
std::vector< point_int_t > rt_candidate_cells
Definition: stage.hh:935
unsigned int scan_height
Definition: stage.hh:2516
virtual void PushColor(Color col)
Definition: stage.hh:2189
ModelCamera(World *world, Model *parent, const std::string &type)
Definition: model_camera.cc:87
Definition: stage.hh:3011
Geom(const Pose &p, const Size &s)
Definition: stage.hh:419
Model class
Definition: stage.hh:1742
Definition: stage.hh:3059
meters_t y
Definition: stage.hh:485
Definition: stage.hh:1785
uint32_t right
Definition: stage.hh:2491
meters_t max_range_anon
maximum detection range
Definition: stage.hh:2724
Definition: stage.hh:1628
Model * Parent() const
Definition: stage.hh:2299
void coord_shift(double x, double y, double z, double a)
Definition: gl.cc:6
RaytraceResult(const Pose &pose, meters_t range)
Definition: stage.hh:750
virtual void Start()
Definition: stage.hh:923
void Shutdown(void)
Definition: model_fiducial.cc:383
msec_t period
duration of a complete cycle
Definition: stage.hh:581
void GoTo(double x, double y, double a)
Definition: model_position.cc:652
Worldfile * GetWorldFile()
Definition: stage.hh:1123
bool autosnatch
if true, cycle the gripper through open-close-up-down automatically
Definition: stage.hh:2614
point3_t(meters_t x, meters_t y, meters_t z)
Definition: stage.hh:486
virtual void Startup()
Definition: model_actuator.cc:293
ModelGripper(World *world, Model *parent, const std::string &type)
Definition: model_gripper.cc:62
SuperRegion * CreateSuperRegion(point_int_t origin)
Definition: world.cc:193
meters_t size
rendered as a sphere with this diameter
Definition: stage.hh:579
Sensor()
Definition: stage.hh:2786
int subs
the number of subscriptions to this model
Definition: stage.hh:1959
meters_t x
Definition: stage.hh:485
ActuatorType GetType() const
Definition: stage.hh:3109
virtual const char * PrintWithPose() const
Definition: model.cc:695
Event(usec_t time, Model *mod, model_callback_t cb, void *arg)
Definition: stage.hh:1045
static size_t Count()
Definition: stage.hh:793
void Show()
Definition: worldgui.cc:251
Canvas * GetCanvas(void) const
Definition: stage.hh:1592
const std::string & GetWorldfileName()
Definition: stage.hh:562
point_int_t(int x, int y)
Definition: stage.hh:497
bool ztest
Definition: stage.hh:770
cmd_t
Definition: stage.hh:2593
void LoadBlock(Worldfile *wf, int entity)
Definition: model.cc:430
virtual void Visualize(Model *mod, Camera *cam)
Definition: model_position.cc:699
void Enqueue(unsigned int queue_num, usec_t delay, Model *mod, model_callback_t cb, void *arg)
Definition: stage.hh:1075
joules_t stored
Definition: stage.hh:1667
Bounds y
volume extent along y axis, initially zero
Definition: stage.hh:453
virtual void DrawBlocks()
Definition: model_draw.cc:251
void CalcSize()
Definition: blockgroup.cc:60
radians_t heading
center of field of view
Definition: stage.hh:2728
virtual void Load()
Definition: model_position.cc:162
static bool UpdateAll()
Definition: world.cc:231
std::list< Visualizer * > cv_list
Definition: stage.hh:1872
void UnMapWithChildren(unsigned int layer)
Definition: model.cc:632
void Save(Worldfile *wf, int sec)
Definition: camera.cc:98
virtual void Start()
Definition: worldgui.cc:592
virtual void UnLoad()
Definition: world.cc:488
static void Print()
Definition: logentry.cc:18
StripPlotVis(float x, float y, float w, float h, size_t len, Color fgcolor, Color bgcolor, const char *name, const char *wfname)
Definition: vis_strip.cc:9
double CenterY()
Definition: block.cc:74
void CommandOpen()
Definition: stage.hh:2661
Flag * Nibble(double portion)
Definition: model.cc:1172
virtual void PushColor(Color col)
Definition: stage.hh:988
point3_t GetAxis() const
Definition: stage.hh:3110
point_int_t()
Definition: stage.hh:498
const Model * mod
Definition: stage.hh:765
virtual void Draw(void) const =0
int CallCallbacks(callback_type_t type)
Definition: model_callbacks.cc:41
static joules_t global_input
Definition: stage.hh:1687
const std::set< Model * > GetAllModels() const
Definition: stage.hh:1178
std::list< PowerPack * > pps_charging
Definition: stage.hh:1923
bool operator==(const point_int_t &other) const
Definition: stage.hh:508
Model * mod
Definition: stage.hh:1664
static const int DEFAULT_PPM
Definition: stage.hh:937
double a
Definition: stage.hh:200
Definition: stage.hh:2934
void update(void)
Definition: camera.cc:75
std::string cmdline
Definition: stage.hh:806
uint64_t updates
the number of simulated time steps executed so far
Definition: stage.hh:912
unsigned int GetFlagCount() const
Definition: stage.hh:2261
ModelRanger(World *world, Model *parent, const std::string &type)
Definition: model_ranger.cc:87
virtual ~Vis(void)
Definition: stage.hh:2768
Definition: stage.hh:2580
void PlaceInFreeSpace(meters_t xmin, meters_t xmax, meters_t ymin, meters_t ymax)
Definition: model.cc:787
Velocity()
Definition: stage.hh:363
const std::string & GetMenuName()
Definition: stage.hh:561
~ModelCamera()
Definition: model_camera.cc:131
bool stack_children
whether child models should be stacked on top of this model or not
Definition: stage.hh:1956
bool graphics
true iff we have a GUI
Definition: stage.hh:900
Model * GetUnusedModelOfType(const std::string &type)
Definition: model.cc:914
const char LICENSE[]
Definition: stage.hh:116
void DrawOriginTree()
Definition: model_draw.cc:219
virtual bool IsGUI() const
Definition: stage.hh:1582
double max
largest value in range, initially zero
Definition: stage.hh:435
Definition: stage.hh:2824
void LoadBlock(Worldfile *wf, int entity)
Definition: world.cc:303
usec_t SimTimeNow(void) const
Definition: stage.hh:1119
World class
Definition: stage.hh:814
double dtor(double d)
Definition: stage.hh:151
void setYaw(double yaw)
Definition: stage.hh:1468
usec_t GetEnergyInterval() const
Definition: stage.hh:2063
std::string String() const
Definition: stage.hh:286
void Save(Worldfile *wf, int section, const char *keyword)
Definition: model.cc:187
Definition: stage.hh:2595
The Stage library uses its own namespace.
Definition: canvas.hh:8
Stg::ModelRanger::Vis vis
bool operator<(const Pose &other) const
Definition: stage.hh:317
void Print(const char *prefix) const
Definition: stage.hh:402
Block * AddBlockRect(meters_t x, meters_t y, meters_t dx, meters_t dy, meters_t dz)
Definition: model.cc:442
std::vector< Fiducial > & GetFiducials()
Definition: stage.hh:2733
static const Color red
Definition: stage.hh:217
void EnableEnergy(Model *m)
Definition: stage.hh:1080
PerspectiveCamera(void)
Definition: camera.cc:17
GLfloat z
Definition: stage.hh:2855
void setPose(double x, double y)
Definition: stage.hh:1483
Color color
Definition: stage.hh:580
void CallUpdateCallbacks(void)
Definition: model.cc:756
void CommandClose()
Definition: stage.hh:2659
std::list< std::pair< world_callback_t, void * > > cb_list
List of callback functions and arguments.
Definition: stage.hh:898
void SetPose(const Pose &pose)
Definition: model.cc:1396
int fiducial_return
Definition: stage.hh:2051
Definition: stage.hh:2487
radians_t fov
Definition: stage.hh:2778
RasterVis()
Definition: model.cc:1036
Definition: stage.hh:2581
virtual void Load()
Definition: model_fiducial.cc:299
static std::vector< std::string > args
Definition: stage.hh:826
bool InitDone()
Definition: stage.cc:41
static const Color magenta
Definition: stage.hh:217
ModelLightIndicator(World *world, Model *parent, const std::string &type)
Definition: model_lightindicator.cc:5
Definition: stage.hh:1849
ActuatorType
Definition: stage.hh:3063
std::string String() const
Definition: model_ranger.cc:229
void CallDisplayList(Model *mod)
Definition: blockgroup.cc:239
radians_t fov
Definition: stage.hh:2513
Definition: stage.hh:1839
void Extend(point3_t pt)
Definition: world.cc:1138
bool IsAntecedent(const Model *testmod) const
Definition: model.cc:545
bool ignore_zloc
Are we ignoring the Z-loc of the fiducials we detect compared to the fiducial detector?
Definition: stage.hh:2730
virtual void Reload()
Definition: world.cc:1015
virtual void Stop()
Definition: stage.hh:924
bool IsDescendent(const Model *testmod) const
Definition: model.cc:557
bool DataIsFresh() const
Definition: stage.hh:2405
meters_t x
Definition: stage.hh:228
void ChargeStop()
Definition: stage.hh:1731
void GLSet(void)
Definition: stage.hh:221
Model * GetModel()
Definition: stage.hh:1262
Size()
Definition: stage.hh:237
void Save(Worldfile *wf, int wf_entity)
Definition: model.cc:214
void DrawTrailArrows()
Definition: model_draw.cc:184
std::list< float * > ray_list
List of rays traced for debug visualization.
Definition: stage.hh:906
virtual void SetProjection(void) const
Definition: camera.cc:123
void RegisterOption(Option *opt)
Register an Option for pickup by the GUI.
Definition: world.cc:1160
uint32_t bottom
Definition: stage.hh:2491
~BlockGroup()
Definition: blockgroup.cc:22
Definition: stage.hh:1967
StripPlotVis output_vis
Definition: stage.hh:1660
double lift_position
0.0 = full down, 1.0 full up
Definition: stage.hh:2610
virtual void Shutdown()
Definition: model_position.cc:592
Model * TestCollision()
Definition: model.cc:800
int getHeight(void) const
height of captured image
Definition: stage.hh:2906
void LoadModel(Worldfile *wf, int entity)
Definition: world.cc:367
void Accumulate(meters_t x, meters_t y, joules_t amount)
Definition: powerpack.cc:316
Definition: stage.hh:1439
void RemovePowerPack(PowerPack *pp)
Definition: world.cc:1154
Definition: stage.hh:2949
Definition: stage.hh:2589
cb_t(model_callback_t cb, void *arg)
Definition: stage.hh:1791
Color GetColor()
Definition: stage.hh:1824
virtual void PushColor(double r, double g, double b, double a)
Definition: stage.hh:990
static joules_t global_capacity
Definition: stage.hh:1685
Visibility()
Definition: model.cc:192
uint32_t GetCount()
Definition: stage.hh:1322
virtual void DrawPicker()
Definition: model_draw.cc:612
void AppendBlock(Block *block)
Definition: blockgroup.cc:27
std::set< Option * > option_table
GUI options (toggles) registered by models.
Definition: stage.hh:902
const char AUTHORS[]
Definition: stage.hh:105
int key
/// only detect fiducials with a key that matches this one (defaults 0)
Definition: stage.hh:2729
virtual void RemoveChild(Model *mod)
Definition: worldgui.cc:414
Definition: stage.hh:2942
void DrawStatusTree(Camera *cam)
Definition: model_draw.cc:357
void Save(Worldfile *wf, int section)
Definition: ancestor.cc:61
void SetGlobalPose(const Pose &gpose)
Definition: model.cc:1349
Block(Model *mod, const std::vector< point_t > &pts, meters_t zmin, meters_t zmax, Color color, bool inherit_color, bool wheel)
Definition: block.cc:13
PowerPack * power_pack
Definition: stage.hh:1919
uint32_t left
Definition: stage.hh:2491
virtual void DrawSelected(void)
Definition: model_draw.cc:12
double _yaw
Definition: stage.hh:1368
const Color & GetColor()
Definition: block.cc:134
virtual void Shutdown()
Definition: model_actuator.cc:300
Definition: stage.hh:3064
CtrlArgs(std::string w, std::string c)
Definition: stage.hh:808
Definition: options_dlg.hh:20
virtual void PushColor(double r, double g, double b, double a)
Definition: stage.hh:2190
virtual void PopColor()
Definition: stage.hh:993
virtual void AddChild(Model *mod)
Definition: ancestor.cc:21
void SetSpeed(double x, double y, double a)
Definition: model_position.cc:610
virtual void Save()
Definition: model_gripper.cc:163
SuperRegion * AddSuperRegion(const point_int_t &coord)
Definition: world.cc:1095
std::string token
Definition: stage.hh:696
void DrawImage(uint32_t texture_id, Camera *cam, float alpha, double width=1.0, double height=1.0)
Definition: model_draw.cc:469
void Init(int *argc, char **argv[])
Definition: stage.cc:18
void DrawOccupancy() const
Definition: worldgui.cc:434
static const Size size
Definition: stage.hh:2638
std::vector< Sensor > & GetSensorsMutable()
Definition: stage.hh:2808
Definition: stage.hh:2772
virtual void UpdateCharge()
Definition: model.cc:816
void addPose(double x, double y, double z)
Definition: stage.hh:1413
~ModelLightIndicator()
Definition: model_lightindicator.cc:14
virtual void Update()
Capture a new frame ( calls GetFrame )
Definition: model_camera.cc:164
static const Color blue
Definition: stage.hh:217
int x
Definition: stage.hh:496
virtual ~RasterVis(void)
Definition: stage.hh:1936
Definition: stage.hh:2575
ModelPosition(World *world, Model *parent, const std::string &type)
Definition: model_position.cc:98
Definition: stage.hh:1926
virtual void Load(Worldfile *wf, int sec)=0
Vis(World *world)
Definition: model_blobfinder.cc:301
void TryCharge(PowerPack *pp, const Pose &pose)
void Add(joules_t j)
Definition: powerpack.cc:162
static Color RandomColor()
Definition: color.cc:95
StripPlotVis stored_vis
Definition: stage.hh:1661
meters_t z
Definition: stage.hh:485
double scale() const
Definition: stage.hh:1488
cb_t(world_callback_t cb, void *arg)
Definition: stage.hh:1794
Vis(World *world)
Definition: model_ranger.cc:401
virtual void Update()
Definition: model_blobfinder.cc:179
void AddToPose(const Pose &pose)
Definition: model.cc:782
void SetStall(bool stall)
Definition: model.cc:1271
static joules_t global_stored
Definition: stage.hh:1684
point_t()
Definition: stage.hh:475
usec_t sim_interval
Definition: stage.hh:1087
double _z
Definition: stage.hh:1369
Geom geom
Definition: stage.hh:1883
double _x
Definition: stage.hh:1369
void Zero()
Definition: stage.hh:243
double CenterX()
Definition: block.cc:89
bool used
TRUE iff this model has been returned by GetUnusedModelOfType()
Definition: stage.hh:2003
bool operator==(const Pose &other) const
Definition: stage.hh:322
void Load(Worldfile *wf, int sec)
Definition: camera.cc:92
const std::string type
Definition: stage.hh:1999
static void Clear()
Definition: stage.hh:796
watts_t watts
power consumed by this model
Definition: stage.hh:2005
Definition: stage.hh:2583
void forward(double amount)
Definition: camera.cc:86
Definition: stage.hh:1392
void LoadSensor(Worldfile *wf, int entity)
Definition: world.cc:314
int(* model_callback_t)(Model *mod, void *user)
Definition: stage.hh:568
void EraseAll(T thing, C &cont)
Definition: stage.hh:621
double min
smallest value in range, initially zero
Definition: stage.hh:433
void Draw() const
Definition: model_position.cc:829
const double billion
Definition: stage.hh:145
const char * Version()
Definition: stage.cc:12
double nearClip(void) const
Definition: stage.hh:1429
Size & Load(Worldfile *wf, int section, const char *keyword)
Definition: model.cc:169
void setYaw(double yaw)
Definition: stage.hh:1418
void Map(unsigned int layer)
Definition: block.cc:197
void SetConfig(config_t &newcfg)
Definition: stage.hh:2651
PoseVis()
Definition: model_position.cc:695
Color GetColor() const
Definition: stage.hh:2362
Size size
extent
Definition: stage.hh:395
uint32_t id
Definition: stage.hh:1901
void draw_origin(double len)
Definition: gl.cc:134
ModelBlinkenlight(World *world, Model *parent, const std::string &type)
Definition: model_blinkenlight.cc:60
const double thousand
Definition: stage.hh:139
void Rasterize(uint8_t *data, unsigned int width, unsigned int height, meters_t cellwidth, meters_t cellheight)
Definition: model.cc:1002
virtual void DrawBlocks()
Definition: model_lightindicator.cc:25
void RemoveAllColors()
Definition: model_blobfinder.cc:142
virtual void DataVisualize(Camera *cam)
Draw Camera Model - TODO.
Definition: model_camera.cc:244
bool operator<(const Event &other) const
Definition: world.cc:1173
void AddFlag(Flag *flag)
Definition: model.cc:381
double GetSpeed() const
Definition: stage.hh:3099
double y(void) const
Definition: stage.hh:1382
void Print(const char *prefix) const
Definition: stage.hh:1713
meters_t map_resolution
Definition: stage.hh:1908
Definition: stage.hh:1836
int update_cb_count
Definition: stage.hh:1092
virtual void Visualize(Model *mod, Camera *cam)
Definition: model_ranger.cc:411
virtual void Load()
Definition: model_actuator.cc:92
void AppendTouchingModels(std::set< Model * > &touchers)
Definition: model.cc:794
Pose & Load(Worldfile *wf, int section, const char *keyword)
Definition: model.cc:180
Bounds velocity_bounds[4]
Definition: stage.hh:2966
double yaw(void) const
Definition: stage.hh:1378
uint32_t top
Definition: stage.hh:2491
double duty_cycle
mark/space ratio
Definition: stage.hh:582
void SetZSpeed(double z)
Definition: model_position.cc:631
SuperRegion * GetSuperRegionCreate(const point_int_t &org)
Definition: world.cc:1125
void SetColor(const Color &col)
Definition: model.cc:1187
Flag(const Color &color, double size)
Definition: model.cc:1167
ray_test_func_t func
Definition: stage.hh:768
void Visualize(Vis *vis, ModelRanger *rgr) const
Definition: model_ranger.cc:237
uint64_t UpdateCount()
Definition: stage.hh:919
void draw_string_multiline(float x, float y, float w, float h, const char *string, Fl_Align align)
Definition: gl.cc:77
Ancestor & Load(Worldfile *wf, int section)
Definition: ancestor.cc:56
watts_t watts_take
Definition: stage.hh:2013
meters_t range
Definition: stage.hh:2515
void setPose(double x, double y, double z)
Definition: stage.hh:1412
void SetGuiGrid(bool val)
Definition: model.cc:1328
ModelCamera class
Definition: stage.hh:2849
void SetYSpeed(double y)
Definition: model_position.cc:625
double ProportionRemaining() const
Definition: stage.hh:1708
virtual void Redraw(void)
Definition: worldgui.cc:586
unsigned int event_queue_num
Definition: stage.hh:2002
usec_t interval_energy
time between updates of powerpack in usec
Definition: stage.hh:1903
void LoadBlockGroup(Worldfile *wf, int entity)
Definition: stage.hh:2590
const double million
Definition: stage.hh:142
double _pitch
Definition: stage.hh:1367
void GoTo(double pose)
Definition: model_actuator.cc:319
void DestroySuperRegion(SuperRegion *sr)
Definition: world.cc:201
usec_t time
time that event occurs
Definition: stage.hh:1048
void SetCenter(double x, double y)
Definition: block.cc:104
virtual void PopColor()
Definition: stage.hh:2191
void Load(Worldfile *wf, int wf_entity)
Definition: stage.hh:2234
model_callback_t cb
Definition: stage.hh:1050
void Visualize(Camera *cam)
Definition: powerpack.cc:52
void RemoveFlag(Flag *flag)
Definition: model.cc:390
virtual void RemoveChild(Model *mod)
Definition: ancestor.cc:35
Bounds(double min, double max)
Definition: stage.hh:438
RaytraceResult Raytrace(const Pose &pose, const meters_t range, const ray_test_func_t func, const void *arg, const bool ztest=true)
Definition: model.cc:475
std::vector< TrailItem > trail
Definition: stage.hh:1982
double ranger_return
Definition: stage.hh:2054
void setFov(double horiz_fov, double vert_fov)
Definition: stage.hh:1415
Model * GetUnsubscribedModelOfType(const std::string &type) const
Definition: model.cc:882
void Dissipate(joules_t j)
Definition: powerpack.cc:244
kg_t mass
Definition: stage.hh:1909
void SetMapResolution(meters_t res)
Definition: model.cc:1343
std::map< std::string, unsigned int > child_type_counts
Definition: stage.hh:687
void Say(const std::string &str)
Definition: model.cc:539
lift_state_t
Definition: stage.hh:2586
Stg::ModelPosition::PoseVis posevis
kg_t GetTotalMass() const
Definition: model.cc:937
usec_t last_time
Definition: stage.hh:1679
void DrawSolid(bool topview)
Definition: block.cc:368
void DataVisualizeTree(Camera *cam)
Definition: model_draw.cc:632
void ForEachDescendant(model_callback_t func, void *arg)
Definition: ancestor.cc:46
bool nose
Definition: stage.hh:1891
float s
Definition: glutgraphics.cc:58
virtual ~Pose()
Definition: stage.hh:264
void RegisterModels()
Definition: typetable.cc:19
void reset(void)
Definition: stage.hh:1486
void LoadControllerModule(const char *lib)
Definition: model.cc:1672
~ModelPosition()
Definition: model_position.cc:150
TrailItem()
Definition: stage.hh:1974
bool thread_safe
Definition: stage.hh:1964
virtual void Visualize(Model *mod, Camera *cam)=0
void DrawFootPrint(const Geom &geom)
Definition: blockgroup.cc:130
virtual ~PoseVis(void)
Definition: stage.hh:3015
Definition: stage.hh:2587
virtual ~WaypointVis(void)
Definition: stage.hh:3007
World * GetWorld() const
Definition: stage.hh:2302
void AddUpdateCallback(world_callback_t cb, void *user)
Definition: world.cc:538
meters_t range
Definition: stage.hh:2492
Color col
Definition: stage.hh:2780
void Save(Worldfile *wf, int sec)
Definition: camera.cc:213
usec_t time
Definition: stage.hh:1970
meters_t z
location in 3 axes
Definition: stage.hh:251
meters_t y
Definition: stage.hh:251
void DrawBoundingBoxTree()
Definition: model_draw.cc:256
Definition: file_manager.hh:9
virtual void Load(const std::string &filename)
Definition: worldgui.cc:256
Worldfile * wf
Definition: stage.hh:2015
bool charging
Definition: stage.hh:1673
ModelBlobfinder(World *world, Model *parent, const std::string &type)
Definition: model_blobfinder.cc:82
point_t(meters_t x, meters_t y)
Definition: stage.hh:474
Definition: stage.hh:2596
ModelPosition class
Definition: stage.hh:2927
void InvalidateModelPointCache()
Definition: stage.hh:1356
virtual void Update()
Definition: model_blinkenlight.cc:104
void MapFromRoot(unsigned int layer)
Definition: model.cc:627
void Clear()
Definition: blockgroup.cc:32
void SetStickyReturn(bool val)
void SetVelocity(const Velocity &val)
Definition: model_position.cc:155
void SetWorldfile(Worldfile *wf, int wf_entity)
Definition: stage.hh:2243
void Load(Worldfile *wf, int entity)
Definition: block.cc:396
double z(void) const
Definition: stage.hh:1383
static void * update_thread_entry(std::pair< World *, int > *info)
Definition: world.cc:246
void RemoveColor(Color col)
Definition: model_blobfinder.cc:131
OrthoCamera(void)
Definition: stage.hh:1449
bool disabled
Definition: stage.hh:1869
Color color
Definition: stage.hh:2998
Pose pose
Definition: stage.hh:589
double watts_t
Definition: stage.hh:195
Definition: stage.hh:2598
Definition: stage.hh:1813
int y
Definition: stage.hh:496
virtual void Shutdown()
Definition: model_blobfinder.cc:281
Model * mod
Pointer to the model (real fiducial detectors can't do this!)
Definition: stage.hh:2699
Definition: stage.hh:2936
void RemoveVisualizer(Visualizer *custom_visual)
Definition: model_draw.cc:348
void SetSpeed(double speed)
Definition: model_actuator.cc:312
bool IsRelated(const Model *testmod) const
Definition: model.cc:570
Bounds range
Definition: stage.hh:2777
joules_t last_joules
Definition: stage.hh:1680
void CancelQuit()
Definition: stage.hh:1162
Definition: stage.hh:1843
void pose_inverse_shift(const Pose &pose)
Definition: gl.cc:18
Pose origin
Definition: stage.hh:766
double normalize(double a)
Definition: stage.hh:154
virtual void Load()
Definition: model_ranger.cc:156
Definition: stage.hh:2947
const Color & Load(Worldfile *wf, int entity)
Definition: color.cc:105
int wf_entity
Definition: stage.hh:2016
bool move
Definition: stage.hh:1890
Model * Root()
Definition: stage.hh:2305
std::vector< double > bearings
Definition: stage.hh:2784
bool operator<(const point_int_t &other) const
Definition: stage.hh:501
lift_state_t lift
Definition: stage.hh:2608
double GetMinPosition() const
Definition: stage.hh:3107
Velocity GetGlobalVelocity() const
WorldGui * world_gui
Definition: stage.hh:2018
void RegisterOption(Option *opt)
Definition: model.cc:996
Model * mod
model to pass into callback
Definition: stage.hh:1049
void RecordRay(double x1, double y1, double x2, double y2)
Definition: world.cc:722
static unsigned int trail_length
Definition: stage.hh:1990
static int UpdateWrapper(Model *mod, void *arg)
Definition: stage.hh:2152
virtual ~Visualizer(void)
Definition: stage.hh:558
static int argc
Definition: glutgraphics.cc:238
usec_t GetUpdateInterval() const
Definition: stage.hh:2062
Pose est_pose
position estimate in local coordinates
Definition: stage.hh:3044
usec_t sim_time
the current sim time in this world in microseconds
Definition: stage.hh:907
GuiState & Load(Worldfile *wf, int wf_entity)
Definition: model.cc:232
void draw_array(float x, float y, float w, float h, float *data, size_t len, size_t offset, float min, float max)
Definition: gl.cc:24
void draw_centered_rect(float x, float y, float dx, float dy)
Definition: gl.cc:121
void ChargeStart()
Definition: stage.hh:1730
void SetXSpeed(double x)
Definition: model_position.cc:619
unsigned int sample_count
Definition: stage.hh:2779
Definition: stage.hh:2941
Flag * PopFlag()
Definition: model.cc:408
void setClip(double near, double far)
Definition: stage.hh:1431
void AddCallback(callback_type_t type, model_callback_t cb, void *user)
Definition: model_callbacks.cc:6
void addYaw(double yaw)
Definition: stage.hh:1472
joules_t GetCapacity() const
Definition: powerpack.cc:222
Size paddle_size
paddle dimensions
Definition: stage.hh:2606
virtual void AddModel(Model *mod)
Definition: world.cc:284
void Subtract(joules_t j)
Definition: powerpack.cc:171
virtual void Print(char *prefix) const
Definition: model.cc:680
virtual bool Update(void)
Definition: world.cc:624
~PowerPack()
Definition: powerpack.cc:43
double r
Definition: stage.hh:200
virtual void TogglePause()
Definition: stage.hh:925
int rotrects_from_image_file(const std::string &filename, std::vector< rotrect_t > &rects)
Definition: stage.cc:102
Definition: stage.hh:1841
void DrawTrailFootprint()
Definition: model_draw.cc:126
static Option showArea
Definition: stage.hh:2761
std::string PoseString()
Definition: stage.hh:2202
int RemoveCallback(callback_type_t type, model_callback_t callback)
Definition: model_callbacks.cc:22
Pose GetGlobalPose() const
Definition: model.cc:1379
virtual void Draw() const
Definition: camera.cc:110
static Option showBeams
Definition: stage.hh:2764
Model()
Definition: stage.hh:2219
double rtod(double r)
Definition: stage.hh:148
Model * beam[2]
points to a model detected by the beams
Definition: stage.hh:2616
static Pose Random(meters_t xmin, meters_t xmax, meters_t ymin, meters_t ymax)
Definition: stage.hh:268
void SetData(uint8_t *data, unsigned int width, unsigned int height, meters_t cellwidth, meters_t cellheight)
Definition: model.cc:1136
void ClearRays()
Definition: world.cc:732
std::vector< point_int_t > LocalToPixels(const std::vector< point_t > &local) const
Definition: model.cc:600
radians_t bearing
bearing to the target
Definition: stage.hh:2695
Stg::ModelPosition::WaypointVis wpvis
~ModelActuator()
Definition: model_actuator.cc:87
Definition: stage.hh:1837
void addPitch(double pitch)
Definition: stage.hh:1474
meters_t range
Definition: stage.hh:767
Definition: stage.hh:2588
Ray()
Definition: stage.hh:762
double GetSize()
Definition: stage.hh:1825
virtual void Visualize(Model *mod, Camera *cam)
Definition: model.cc:1048
double realDistance(double z_buf_val) const
Definition: stage.hh:1425
void Draw(GLUquadric *quadric)
Definition: model.cc:1212
void SetGravityReturn(bool val)
void LoadBitmap(Model *mod, const std::string &bitmapfile, Worldfile *wf)
Definition: blockgroup.cc:256
int used
Definition: stage.hh:1946
Pose pose
Definition: stage.hh:1971
Pose pose
position
Definition: stage.hh:394
void LoadSensor(Worldfile *wf, int entity)
Definition: model_ranger.cc:131
const bounds3d_t & GetExtent() const
Definition: stage.hh:1181
bool obstacle_return
Definition: stage.hh:2053
Camera()
Definition: stage.hh:1372
std::map< point_int_t, SuperRegion * > superregions
Definition: stage.hh:908
void PushFlag(Flag *flag)
Definition: model.cc:399
meters_t range
range to beam hit in meters
Definition: stage.hh:745
#define PRINT_ERR(m)
Definition: stage.hh:625
void DrawVoxels() const
Definition: worldgui.cc:454
void SetCenterY(double y)
Definition: block.cc:111
const Size & GetSize()
Definition: stage.hh:1323
int getWidth(void) const
width of captured image
Definition: stage.hh:2903
std::string EnergyString(void) const
Definition: worldgui.cc:421
model_callback_t callback
Definition: stage.hh:1788
Definition: stage.hh:2852
meters_t y
Definition: stage.hh:473
meters_t max_range_id
maximum range at which the ID can be read
Definition: stage.hh:2725
virtual ~StripPlotVis()
Definition: vis_strip.cc:30
bool Stalled() const
Definition: stage.hh:2457
std::string GetSayString()
Definition: stage.hh:2037
Definition: stage.hh:1498
Definition: stage.hh:1845
uint64_t usec_t
Definition: stage.hh:186
Definition: stage.hh:1635
bounds3d_t extent
Describes the 3D volume of the world.
Definition: stage.hh:899
void Zero()
Definition: stage.hh:299
void LoadBlock(Model *mod, Worldfile *wf, int entity)
Definition: blockgroup.cc:250
void draw_grid(bounds3d_t vol)
Definition: gl.cc:141
double meters_t
Definition: stage.hh:174
bool GetCharging() const
Definition: stage.hh:1728
virtual void Load()
Definition: model_gripper.cc:113
virtual Model * RecentlySelectedModel() const
Definition: stage.hh:967
void ClearPts()
Definition: model.cc:1161
joules_t dissipated
Definition: stage.hh:1676
Definition: stage.hh:1197
void Load(Worldfile *wf, int entity)
Definition: model_ranger.cc:141
void draw_vector(double x, double y, double z)
Definition: gl.cc:126
void PushLocalCoords()
Definition: model_draw.cc:307
void DrawTrailBlocks()
Definition: model_draw.cc:163
meters_t x
Definition: stage.hh:473
const char DESCRIPTION[]
Definition: stage.hh:112
usec_t interval
time between updates in usec
Definition: stage.hh:1902
radians_t pan
Definition: stage.hh:2514
RaytraceResult Raytrace(const Ray &ray)
Definition: world.cc:775
static const Color cyan
Definition: stage.hh:217
std::map< std::string, void * > props
Definition: stage.hh:694
meters_t y
Definition: stage.hh:228
int32_t MetersToPixels(meters_t x) const
Definition: stage.hh:981
Pose operator+(const Pose &p) const
Definition: stage.hh:305
Definition: stage.hh:1041
LogEntry(usec_t timestamp, Model *mod)
Definition: logentry.cc:7
Model * TestCollision()
Definition: block.cc:153
Model * ground
Definition: stage.hh:951
Pose pose
Definition: stage.hh:578
const std::vector< Sensor > & GetSensors() const
Definition: stage.hh:2804
void pose_shift(const Pose &pose)
Definition: gl.cc:13
Definition: stage.hh:1846
void Save(Worldfile *wf, int section, const char *keyword) const
Definition: model.cc:175
std::vector< Blob > GetBlobs() const
Definition: stage.hh:2537
std::vector< point_int_t > rt_cells
Definition: stage.hh:932
virtual void Save()
Definition: model.cc:1633
ControlMode
Definition: stage.hh:2933
bool operator<(const cb_t &other) const
Definition: stage.hh:1800
Color color
the color struck by this beam
Definition: stage.hh:747
void CommandUp()
Definition: stage.hh:2663
virtual void Visualize(Model *mod, Camera *cam)
Definition: powerpack.cc:284
virtual void Load()
Definition: model_blinkenlight.cc:94
void SetGlobalVelocity(const Velocity &gvel)
Visualizer(const std::string &menu_name, const std::string &worldfile_name)
Definition: stage.hh:552
double Resolution() const
Definition: stage.hh:1171
void SetProperty(std::string &key, void *value)
Definition: stage.hh:729
void SetCommand(cmd_t cmd)
Definition: stage.hh:2657
void CommandDown()
Definition: stage.hh:2665
void Stop()
Definition: model_position.cc:605
int SetParent(Model *newparent)
Definition: model.cc:1354
void SetZ(double min, double max)
Definition: block.cc:125
void SetBlobReturn(bool val)
Definition: model.cc:1303
void AppendTouchingModels(std::set< Model * > &touchers)
Definition: block.cc:139
std::vector< Waypoint > waypoints
Definition: stage.hh:3001
virtual void Print(char *prefix) const
Definition: model_ranger.cc:371
virtual void Load()
Definition: model_camera.cc:143
void AddVisualizer(Visualizer *custom_visual, bool on_by_default)
Definition: model_draw.cc:322
void Redraw()
Definition: model.cc:909
meters_t z
Definition: stage.hh:228
Pose pose
Absolute accurate position of the target in world coordinates (it's cheating to use this in robot con...
Definition: stage.hh:2698
unsigned int GetSubscriptionCount() const
Definition: stage.hh:2461
static std::vector< LogEntry > log
Definition: stage.hh:790
double GetMaxPosition() const
Definition: stage.hh:3106
virtual void Startup()
Definition: model.cc:707
radians_t angle
width of viewing angle of sensor
Definition: stage.hh:466
double _y
Definition: stage.hh:1369
virtual Model * RecentlySelectedModel() const
Definition: worldgui.cc:866
void addPitch(double pitch)
Definition: stage.hh:1423
watts_t watts_give
Definition: stage.hh:2009
const char COPYRIGHT[]
Definition: stage.hh:101
double b
Definition: stage.hh:200
Model * contact[2]
pointers to a model detected by the contacts
Definition: stage.hh:2617
virtual void SetToken(const std::string &str)
Definition: stage.hh:2022
double close_limit
How far the gripper can close. If < 1.0, the gripper has its mouth full.
Definition: stage.hh:2613
virtual void Visualize(Model *mod, Camera *cam)
Definition: model_position.cc:762
void Subscribe()
Definition: model.cc:646
void SetRangerReturn(double val)
Definition: model.cc:1308
virtual void Startup()
Definition: model_blobfinder.cc:271
WorldGui(int W, int H, const char *L=0)
Definition: worldgui.cc:187
void Enable()
Definition: stage.hh:2271
virtual void SetProjection(void) const =0
Definition: stage.hh:1844
Pose est_pose_error
estimated error in position estimate
Definition: stage.hh:3045
Velocity & Load(Worldfile *wf, int section, const char *keyword)
Definition: stage.hh:372
Worldfile * wf
If set, points to the worldfile used to create this world.
Definition: stage.hh:913
bool blob_return
Definition: stage.hh:2049
virtual ~World()
Definition: world.cc:185
void SetFriction(double friction)
Definition: model.cc:1013
void AddPoint(meters_t x, meters_t y)
Definition: model.cc:1156
bool(* ray_test_func_t)(Model *candidate, Model *finder, const void *arg)
Definition: stage.hh:603
bool has_default_block
Definition: stage.hh:1898
void draw_string(float x, float y, float z, const char *string)
Definition: gl.cc:65
void SetSize(double sz)
Definition: model.cc:1199
bool stall
Set to true iff the model collided with something else.
Definition: stage.hh:1958
static char * argv
Definition: glutgraphics.cc:239
static Model * LookupId(uint32_t id)
Definition: stage.hh:2206
void SetFiducialReturn(int fid)
Definition: model.cc:1281
void Map(unsigned int layer)
Definition: blockgroup.cc:97
virtual void Update()
Definition: model.cc:735
double g
Definition: stage.hh:200
double horizFov(void) const
Definition: stage.hh:1419
void SetGripperReturn(bool val)
Definition: model.cc:1276
void Update(ModelRanger *rgr)
Definition: model_ranger.cc:185
void NeedRedraw()
Definition: model.cc:899
virtual ~Model()
Definition: model.cc:356
Definition: stage.hh:1842
Bounds x
volume extent along x axis, intially zero
Definition: stage.hh:451
void TransferTo(PowerPack *dest, joules_t amount)
Definition: powerpack.cc:185
virtual void Stop()
Definition: worldgui.cc:619
virtual void Visualize(Model *mod, Camera *cam)
Definition: model_blobfinder.cc:311
Bounds range
min and max range of sensor
Definition: stage.hh:465
void Map()
Definition: stage.hh:2099
usec_t GetInterval()
Definition: stage.hh:2044
virtual void DataVisualize(Camera *cam)
Definition: model_blinkenlight.cc:112
virtual ~Camera()
Definition: stage.hh:1373
void NeedRedraw()
Definition: stage.hh:951
unsigned int trail_index
Definition: stage.hh:1985
Pose(meters_t x, meters_t y, meters_t z, radians_t a)
Definition: stage.hh:254
void Disable()
Definition: stage.hh:2267
Bounds acceleration_bounds[4]
Definition: stage.hh:2963
std::vector< Model * > children
Definition: stage.hh:689
void Unsubscribe()
Definition: model.cc:659
bool alwayson
Definition: stage.hh:1771
virtual bool Update()
Definition: worldgui.cc:354
virtual bool IsGUI() const
Definition: stage.hh:1128
bool paused
if true, the simulation is stopped
Definition: stage.hh:921
virtual void PopColor()
Definition: worldgui.cc:863
unsigned long msec_t
Definition: stage.hh:183
double x(void) const
Definition: stage.hh:1381
void Rasterize(uint8_t *data, unsigned int width, unsigned int height, meters_t cellwidth, meters_t cellheight)
Definition: blockgroup.cc:318
const GLfloat * FrameDepth() const
get a reference to camera depth buffer
Definition: stage.hh:2912
ModelFiducial class
Definition: stage.hh:2687
PowerPack(Model *mod)
Definition: powerpack.cc:18
joules_t GetStored() const
Definition: powerpack.cc:227
std::vector< std::set< cb_t > > callbacks
Definition: stage.hh:1856
Pose pose
Definition: stage.hh:2775
virtual void SetProjection(void) const
Definition: camera.cc:54
virtual void Startup()
Definition: model_ranger.cc:115
virtual void PushColor(Color col)
Definition: worldgui.cc:857
int blocks_dl
Definition: stage.hh:1775
std::vector< std::priority_queue< Event > > event_queues
Definition: stage.hh:1059
virtual ~DissipationVis()
Definition: powerpack.cc:280
virtual void Startup()
Definition: model_position.cc:583
virtual void Load()
Definition: model.cc:1422
class Stg::Model::Visibility vis
friend class WorkerThread
Definition: stage.hh:821
const PerspectiveCamera & getCamera(void) const
get reference to camera used
Definition: stage.hh:2909
virtual void Print(const char *prefix) const
Definition: stage.hh:280
bounds3d_t(const Bounds &x, const Bounds &y, const Bounds &z)
Definition: stage.hh:458
virtual void SetToken(const std::string &str)
Definition: stage.hh:718
void DrawGrid()
Definition: model_draw.cc:655
virtual void Update()
Definition: model_actuator.cc:184
virtual void RemoveModel(Model *mod)
Definition: world.cc:295
double pitch(void) const
Definition: stage.hh:1379
meters_t Distance2D(const Pose &other) const
Definition: stage.hh:338
ModelRanger class
Definition: stage.hh:2747
void SetState(bool isOn)
Definition: model_lightindicator.cc:19
Velocity GetVelocity() const
Definition: stage.hh:2984
void strafe(double amount)
Definition: camera.cc:80
void UnMapFromRoot(unsigned int layer)
Definition: model.cc:641
virtual ~ModelFiducial()
Definition: model_fiducial.cc:99
void Rasterize(uint8_t *data, unsigned int width, unsigned int height, meters_t cellwidth, meters_t cellheight)
Definition: block.cc:262
BlockGroup blockgroup
Definition: stage.hh:1773
bool paddles_stalled
Definition: stage.hh:2612
LocalizationMode
Definition: stage.hh:2940
Bounds z
volume extent along z axis, initially zero
Definition: stage.hh:455
Stg::Model::RasterVis rastervis
void Zero()
Definition: stage.hh:421
Pose pose
Definition: stage.hh:1916
bool operator==(const cb_t &other) const
Definition: stage.hh:1809
Definition: stage.hh:1303
static void Run()
Definition: world.cc:207
~WorldGui()
Definition: worldgui.cc:243
std::string worldfile
Definition: stage.hh:805
void setScale(double scale)
Definition: stage.hh:1482
static std::map< std::string, creator_t > name_map
Definition: stage.hh:2466
virtual Pose GetGlobalPose() const
Definition: ancestor.cc:41
const char WEBSITE[]
Definition: stage.hh:109
void DrawFlagList()
Definition: model_draw.cc:522
bool debug
Definition: stage.hh:691
uint32_t id_t
Definition: stage.hh:171
Pose pose
Definition: stage.hh:2997
bool PastQuitTime()
Definition: world.cc:506
static Option showTransducers
Definition: stage.hh:2765
void InitControllers()
Definition: model.cc:375
void SetWatts(watts_t watts)
Definition: model.cc:1338
void ShowClock(bool enable)
Control printing time to stdout.
Definition: stage.hh:1190
ControlMode
Definition: stage.hh:3057
void SetGuiMove(bool val)
Definition: model.cc:1323
virtual void DataVisualize(Camera *cam)
Definition: model_draw.cc:627
Pose geom
size and relative angle of the target
Definition: stage.hh:2696
World * world
Definition: stage.hh:2017
bool rebuild_displaylist
iff true, regenerate block display list before redraw
Definition: stage.hh:1953
Color()
Definition: color.cc:13
bool operator!=(const Color &other) const
Definition: color.cc:17
void setPitch(double pitch)
Definition: stage.hh:1470
kg_t GetMassOfChildren() const
Definition: model.cc:947
bool IsZero() const
Definition: stage.hh:295
Definition: stage.hh:2758
Model * GetModel(const std::string &name) const
Definition: world.cc:707
std::set< Model * > active_energy
Definition: stage.hh:1079
usec_t RealTimeNow(void) const
Definition: worldgui.cc:869
void scroll(double dy)
Definition: stage.hh:1428
int GetFiducialReturn() const
Definition: stage.hh:2356
bool data_fresh
Definition: stage.hh:1864
void CancelQuitAll()
Definition: stage.hh:1165
std::string say_string
if non-empty, this string is displayed in the GUI
Definition: stage.hh:1954
int enabled
Definition: stage.hh:577
std::list< PowerPack * > powerpack_list
List of all the powerpacks attached to models in the world.
Definition: stage.hh:903
void addYaw(double yaw)
Definition: stage.hh:1421
Definition: stage.hh:3065
Definition: stage.hh:1364
void ConsumeQueue(unsigned int queue_num)
Definition: world.cc:599
std::vector< std::queue< Model * > > pending_update_callbacks
Definition: stage.hh:1062
void DrawBlocksTree()
Definition: model_draw.cc:228
void draw_speech_bubble(float x, float y, float z, const char *str)
Definition: gl.cc:83
void SetCapacity(joules_t j)
Definition: powerpack.cc:208
void UnMap(unsigned int layer)
Definition: blockgroup.cc:106
bool operator==(const Color &other) const
Definition: color.cc:90
Definition: stage.hh:2046
const void * arg
Definition: stage.hh:769
DriveMode
Definition: stage.hh:2946
void Load(Worldfile *wf, int sec)
Definition: camera.cc:206
double Constrain(double value)
Definition: model.cc:164
const std::string & TokenStr() const
Definition: stage.hh:716
std::list< Flag * > flag_list
Definition: stage.hh:1875
void DrawBoundingBoxTree()
Definition: worldgui.cc:851
joules_t RemainingCapacity() const
Definition: powerpack.cc:157
void Log(Model *mod)
Definition: world.cc:1166
void DrawBoundingBox()
Definition: model_draw.cc:267
static Option showFov
Definition: stage.hh:2763
Definition: stage.hh:3003
void Quit()
Definition: stage.hh:1156
Size size
Definition: stage.hh:590
bool HasSubscribers() const
Definition: stage.hh:2464
double break_beam_inset[2]
distance from the end of the paddle
Definition: stage.hh:2615
void QuitAll()
Definition: stage.hh:1159
void SetFiducialKey(int key)
Definition: model.cc:1293
Definition: stage.hh:2935
std::vector< Model * > & GetChildren()
Definition: stage.hh:706
PowerPack * FindPowerPack() const
Definition: model.cc:985
void UnMap()
Definition: stage.hh:2104
void SetStored(joules_t j)
Definition: powerpack.cc:237
WaypointVis()
Definition: model_position.cc:758
void SetGuiNose(bool val)
Definition: model.cc:1318
void MapWithChildren(unsigned int layer)
Definition: model.cc:617
double constrain(double val, double minval, double maxval)
Definition: stage.cc:235
Pose GlobalToLocal(const Pose &pose) const
Definition: model.cc:525
static const Color green
Definition: stage.hh:217
static const Color yellow
Definition: stage.hh:217
Definition: worldfile.hh:69
ModelActuator(World *world, Model *parent, const std::string &type)
Definition: model_actuator.cc:62
void Translate(double x, double y)
Definition: block.cc:63
BlockGroup()
Definition: blockgroup.cc:13
struct timeval time_t
Definition: stage.hh:180
void DrawSolid(const Geom &geom)
Definition: blockgroup.cc:112
joules_t capacity
Definition: stage.hh:1670
void SetGeom(const Geom &src)
Definition: model.cc:1243
DissipationVis(meters_t width, meters_t height, meters_t cellsize)
Definition: powerpack.cc:267
void AppendValue(float value)
Definition: vis_strip.cc:56
void DrawPose(Pose pose)
Definition: model_draw.cc:239
Bounds & Load(Worldfile *wf, int section, const char *keyword)
Definition: model.cc:158
virtual void Shutdown()
Definition: model.cc:723
Definition: stage.hh:2691
const GLubyte * FrameColor() const
get a reference to camera color image. 4 bytes (RGBA) per pixel
Definition: stage.hh:2915
std::set< ModelPosition * > active_velocity
Definition: stage.hh:1081
Geom()
Definition: stage.hh:416
void SetCenterX(double y)
Definition: block.cc:118
#define FOR_EACH(I, C)
Definition: stage.hh:616
paddle_state_t paddles
Definition: stage.hh:2607
void draw_octagon(float w, float h, float m)
Definition: gl.cc:90
Definition: stage.hh:1838
~ModelBlobfinder()
Definition: model_blobfinder.cc:103
SuperRegion * GetSuperRegion(const point_int_t &org)
Definition: world.cc:1112
virtual void Print(const char *prefix) const
Definition: stage.hh:378
virtual void Draw(void) const
Definition: camera.cc:42
Pose est_origin
global origin of the local coordinate system
Definition: stage.hh:3046
Pose GetPose() const
Definition: stage.hh:2382
ModelActuator class
Definition: stage.hh:3053
ModelFiducial(World *world, Model *parent, const std::string &type)
Definition: model_fiducial.cc:67
class Stg::Model::GuiState gui
Definition: stage.hh:1605
const point3_t & GetOffset()
Definition: stage.hh:1324
radians_t a
rotation about the z axis.
Definition: stage.hh:252
Definition: stage.hh:2948
static Option showStrikes
Definition: stage.hh:2762
meters_t min_range
minimum detection range
Definition: stage.hh:2726
void AppendTouchingModels(std::set< Model * > &touchers)
Definition: blockgroup.cc:40
~Block()
Definition: block.cc:54
void DisableEnergy(Model *m)
Definition: stage.hh:1081
Definition: stage.hh:1840
void setAspect(double aspect)
update vertical fov based on window aspect and current horizontal fov
Definition: stage.hh:1417
std::vector< meters_t > ranges
Definition: stage.hh:2782
bool operator!=(const Pose &other) const
Definition: stage.hh:330
void * arg
Definition: stage.hh:1051
Definition: stage.hh:2555
int(* world_callback_t)(World *world, void *user)
Definition: stage.hh:570
const std::string & GetModelType() const
Definition: stage.hh:2036
void setPitch(double pitch)
Definition: stage.hh:1422
double friction
Definition: stage.hh:1879
Model * CreateModel(Model *parent, const std::string &typestr)
Definition: world.cc:328
Definition: stage.hh:3058
std::vector< double > intensities
Definition: stage.hh:2783
Stg::ModelBlobfinder::Vis vis
void CallUpdateCallbacks()
Call all calbacks in cb_list, removing any that return true;.
Definition: world.cc:565
virtual bool Save(const char *filename)
Definition: world.cc:1002
GuiState()
Definition: model.cc:225
Definition: stage.hh:2594
void AddModelName(Model *mod, const std::string &name)
Definition: world.cc:290
Model * TestCollision()
Definition: blockgroup.cc:46
void SetMass(kg_t mass)
Definition: model.cc:1266
Model * GetChild(const std::string &name) const
Definition: model.cc:1018
virtual void Visualize(Model *mod, Camera *cam)
Definition: vis_strip.cc:36
void move(double x, double y, double z)
Definition: camera.cc:26
double vertFov(void) const
Definition: stage.hh:1420
void setPitch(double pitch)
change the pitch
Definition: stage.hh:2918
Definition: stage.hh:2597
virtual void Load()
Definition: model_blobfinder.cc:147
uint64_t GetUpdateCount() const
Definition: stage.hh:1184
double kg_t
Definition: stage.hh:189
static uint64_t trail_interval
Definition: stage.hh:1993
double paddle_position
0.0 = full open, 1.0 full closed
Definition: stage.hh:2609
bool IsTopView()
Definition: worldgui.cc:876
bool Paused() const
Definition: stage.hh:927
Color color
Definition: stage.hh:2490
Color color
Definition: stage.hh:1859
int boundary
Definition: stage.hh:1780
virtual ~ModelGripper()
Definition: model_gripper.cc:107
bool log_state
iff true, model state is logged
Definition: stage.hh:1907
bool gripper_return
Definition: stage.hh:2052
Definition: stage.hh:2604
unsigned int GetEventQueue(Model *mod) const
Definition: world.cc:697
virtual void Shutdown()
Definition: model_ranger.cc:122
watts_t last_watts
Definition: stage.hh:1681
bool outline
Definition: stage.hh:1892
static std::string ctrlargs
Definition: stage.hh:827
virtual void Redraw(void)
Definition: stage.hh:932
config_t GetConfig()
Definition: stage.hh:2654
static joules_t global_dissipated
Definition: stage.hh:1686
std::vector< std::vector< Model * > > update_lists
Definition: stage.hh:910
void move(double x, double y)
Definition: camera.cc:144
void setYaw(double yaw)
change the yaw
Definition: stage.hh:2921
Definition: stage.hh:2989
double joules_t
Definition: stage.hh:192
World(const std::string &name="MyWorld", double ppm=DEFAULT_PPM)
Definition: world.cc:123
virtual void Update()
Definition: model_ranger.cc:176
Definition: stage.hh:2495
Pose LocalToGlobal(const Pose &pose) const
Definition: stage.hh:2435
bool operator+=(const point_t &other)
Definition: stage.hh:477
cb_t()
Definition: stage.hh:1797
uint32_t GetId() const
Definition: stage.hh:2365
joules_t GetDissipated() const
Definition: powerpack.cc:232
Model * mod
the model struck by this beam
Definition: stage.hh:746
RaytraceResult()
Definition: stage.hh:749
virtual void Move()
Definition: model_position.cc:535
virtual void DrawStatus(Camera *cam)
Definition: model_draw.cc:366
void SetOdom(Pose odom)
Definition: model_position.cc:679
point_t * unit_square_points_create()
Definition: stage.cc:218
void * arg
Definition: stage.hh:1789
paddle_state_t
Definition: stage.hh:2579
~ModelBlinkenlight()
Definition: model_blinkenlight.cc:90
bool TestQuit() const
Definition: stage.hh:1153
point_int_t MetersToPixels(const point_t &pt) const
Definition: stage.hh:984
void Print(const char *prefix) const
Definition: color.cc:100
void SetGuiOutline(bool val)
Definition: model.cc:1333
Visibility & Load(Worldfile *wf, int wf_entity)
Definition: model.cc:202
virtual ~Ancestor()
Definition: ancestor.cc:15
void DrawFootPrint()
Definition: block.cc:360
ModelBlobfinder class
Definition: stage.hh:2483
point3_t()
Definition: stage.hh:489
Size(meters_t x, meters_t y, meters_t z)
Definition: stage.hh:230
void BecomeParentOf(Model *child)
Definition: model.cc:971
void PopCoords()
Definition: model_draw.cc:317
virtual ~Vis(void)
Definition: stage.hh:2501
virtual std::string ClockString(void) const
Definition: world.cc:511
int id
the fiducial identifier of the target (i.e. its fiducial_return value), or -1 if none can be detected...
Definition: stage.hh:2700
void UpdateTrail()
Definition: model.cc:868
Ray(const Model *mod, const Pose &origin, const meters_t range, const ray_test_func_t func, const void *arg, const bool ztest)
Definition: stage.hh:758
Ancestor()
Definition: ancestor.cc:5
void SetAcceleration(double x, double y, double a)
Definition: model_position.cc:667
bounds3d_t()
Definition: stage.hh:457
Fiducial * GetFiducials(unsigned int *count)
Definition: stage.hh:2736
Definition: stage.hh:2582
void SetColor(Color col)
Definition: model.cc:1260
double radians_t
Definition: stage.hh:177
int RemoveUpdateCallback(world_callback_t cb, void *user)
Definition: world.cc:546
virtual void Update()
Definition: model_position.cc:262
meters_t x
Definition: stage.hh:251
void reset()
Definition: stage.hh:1433
void MapPoly(const std::vector< point_int_t > &poly, Block *block, unsigned int layer)
Definition: world.cc:1021
virtual std::string ClockString() const
Definition: worldgui.cc:387
Definition: stage.hh:1847
void * GetProperty(std::string &key)
Definition: stage.hh:732
virtual ~ModelRanger()
Definition: model_ranger.cc:111
const char * Token() const
Definition: stage.hh:715
double farClip(void) const
Definition: stage.hh:1430
Color color
Definition: stage.hh:1972
Stg::PowerPack::DissipationVis event_vis
int sgn(int a)
Definition: stage.hh:162
meters_t ModelHeight() const
Definition: model.cc:761
virtual bool Save(const char *filename)
Definition: worldgui.cc:319
Definition: stage.hh:1886
Size size
Definition: stage.hh:2776
Model * gripped
Definition: stage.hh:2611
virtual void Load(const std::string &worldfile_path)
Definition: world.cc:388
virtual void UnLoad()
Definition: worldgui.cc:314
int fiducial_key
Definition: stage.hh:2050
bool grid
Definition: stage.hh:1889
int subs
Definition: stage.hh:1945
void ClearBlocks()
Definition: model.cc:421
void SetObstacleReturn(bool val)
Definition: model.cc:1298
Model * GetGround()
Definition: stage.hh:1193
Model * parent
Definition: stage.hh:1912
void AddPowerPack(PowerPack *pp)
Definition: world.cc:1149
Velocity(double x, double y, double z, double a)
Definition: stage.hh:356
usec_t quit_time
Definition: stage.hh:905
double GetPosition() const
Definition: stage.hh:3105
Waypoint()
Definition: model_position.cc:823
Blob * GetBlobs(unsigned int *count)
Definition: stage.hh:2531
void UnMap(unsigned int layer)
Definition: block.cc:231
Geom GetGeom() const
Definition: stage.hh:2378
Pose()
Definition: stage.hh:261
unsigned int scan_width
Definition: stage.hh:2517
usec_t last_update
time of last update in us
Definition: stage.hh:1906