#include <stage.hh>
Public Member Functions | |
virtual std::string | ClockString () const |
void | DrawBoundingBoxTree () |
std::string | EnergyString (void) const |
Canvas * | GetCanvas (void) const |
virtual bool | IsGUI () const |
bool | IsTopView () |
virtual void | Load (const std::string &filename) |
usec_t | RealTimeNow (void) const |
virtual Model * | RecentlySelectedModel () const |
virtual void | Redraw (void) |
virtual void | RemoveChild (Model *mod) |
virtual bool | Save (const char *filename) |
void | Show () |
virtual void | Start () |
virtual void | Stop () |
virtual void | UnLoad () |
virtual bool | Update () |
WorldGui (int W, int H, const char *L=0) | |
~WorldGui () | |
Public Member Functions inherited from Stg::World | |
void | AddModelName (Model *mod, const std::string &name) |
void | AddPowerPack (PowerPack *pp) |
SuperRegion * | AddSuperRegion (const point_int_t &coord) |
void | AddUpdateCallback (world_callback_t cb, void *user) |
void | CancelQuit () |
void | CancelQuitAll () |
void | ClearRays () |
void | ConsumeQueue (unsigned int queue_num) |
Model * | CreateModel (Model *parent, const std::string &typestr) |
SuperRegion * | CreateSuperRegion (point_int_t origin) |
void | DestroySuperRegion (SuperRegion *sr) |
void | DisableEnergy (Model *m) |
void | EnableEnergy (Model *m) |
void | Enqueue (unsigned int queue_num, usec_t delay, Model *mod, model_callback_t cb, void *arg) |
void | Extend (point3_t pt) |
const std::set< Model * > | GetAllModels () const |
unsigned int | GetEventQueue (Model *mod) const |
const bounds3d_t & | GetExtent () const |
Model * | GetGround () |
Model * | GetModel (const std::string &name) const |
SuperRegion * | GetSuperRegion (const point_int_t &org) |
SuperRegion * | GetSuperRegionCreate (const point_int_t &org) |
uint64_t | GetUpdateCount () const |
Worldfile * | GetWorldFile () |
void | LoadBlock (Worldfile *wf, int entity) |
void | LoadBlockGroup (Worldfile *wf, int entity) |
void | LoadModel (Worldfile *wf, int entity) |
void | LoadSensor (Worldfile *wf, int entity) |
void | Log (Model *mod) |
void | MapPoly (const std::vector< point_int_t > &poly, Block *block, unsigned int layer) |
int32_t | MetersToPixels (meters_t x) const |
point_int_t | MetersToPixels (const point_t &pt) const |
void | NeedRedraw () |
bool | PastQuitTime () |
bool | Paused () const |
void | Quit () |
void | QuitAll () |
RaytraceResult | Raytrace (const Ray &ray) |
RaytraceResult | Raytrace (const Pose &pose, const meters_t range, const ray_test_func_t func, const Model *finder, const void *arg, const bool ztest) |
void | Raytrace (const Pose &pose, const meters_t range, const radians_t fov, const ray_test_func_t func, const Model *finder, const void *arg, RaytraceResult *samples, const uint32_t sample_count, const bool ztest) |
void | RecordRay (double x1, double y1, double x2, double y2) |
void | RegisterOption (Option *opt) |
Register an Option for pickup by the GUI. More... | |
virtual void | Reload () |
virtual void | RemoveModel (Model *mod) |
void | RemovePowerPack (PowerPack *pp) |
int | RemoveUpdateCallback (world_callback_t cb, void *user) |
double | Resolution () const |
void | ShowClock (bool enable) |
Control printing time to stdout. More... | |
usec_t | SimTimeNow (void) const |
bool | TestQuit () const |
virtual void | TogglePause () |
void | TryCharge (PowerPack *pp, const Pose &pose) |
uint64_t | UpdateCount () |
World (const std::string &name="MyWorld", double ppm=DEFAULT_PPM) | |
virtual | ~World () |
Public Member Functions inherited from Stg::Ancestor | |
virtual void | AddChild (Model *mod) |
Ancestor () | |
void | ForEachDescendant (model_callback_t func, void *arg) |
std::vector< Model * > & | GetChildren () |
virtual Pose | GetGlobalPose () const |
void * | GetProperty (std::string &key) |
void | SetProperty (std::string &key, void *value) |
virtual void | SetToken (const std::string &str) |
const char * | Token () const |
const std::string & | TokenStr () const |
virtual | ~Ancestor () |
Protected Member Functions | |
void | DrawOccupancy () const |
void | DrawVoxels () const |
virtual void | PopColor () |
virtual void | PushColor (Color col) |
virtual void | PushColor (double r, double g, double b, double a) |
Protected Member Functions inherited from Stg::World | |
void | CallUpdateCallbacks () |
Call all calbacks in cb_list, removing any that return true;. More... | |
Protected Member Functions inherited from Stg::Ancestor | |
Ancestor & | Load (Worldfile *wf, int section) |
void | Save (Worldfile *wf, int section) |
Private Member Functions | |
virtual void | AddModel (Model *mod) |
bool | closeWindowQuery () |
bool | saveAsDialog () |
void | SetTimeouts () |
Static Private Member Functions | |
static void | fasterCb (Fl_Widget *w, WorldGui *wg) |
static void | fasttimeCb (Fl_Widget *w, WorldGui *wg) |
static void | fileExitCb (Fl_Widget *w, WorldGui *wg) |
static void | fileLoadCb (Fl_Widget *w, WorldGui *wg) |
static void | fileSaveAsCb (Fl_Widget *w, WorldGui *wg) |
static void | fileSaveCb (Fl_Widget *w, WorldGui *wg) |
static void | helpAboutCb (Fl_Widget *w, WorldGui *wg) |
static void | moreHelptCb (Fl_Widget *w, WorldGui *wg) |
static void | onceCb (Fl_Widget *w, WorldGui *wg) |
static void | optionsDlgCb (OptionsDlg *oDlg, WorldGui *wg) |
static void | pauseCb (Fl_Widget *w, WorldGui *wg) |
static void | realtimeCb (Fl_Widget *w, WorldGui *wg) |
static void | resetViewCb (Fl_Widget *w, WorldGui *wg) |
static void | slowerCb (Fl_Widget *w, WorldGui *wg) |
static void | viewOptionsCb (OptionsDlg *oDlg, WorldGui *wg) |
static void | windowCb (Fl_Widget *w, WorldGui *wg) |
Private Attributes | |
Canvas * | canvas |
std::vector< Option * > | drawOptions |
FileManager * | fileMan |
Used to load and save worldfiles. More... | |
std::vector< usec_t > | interval_log |
Fl_Menu_Bar * | mbar |
OptionsDlg * | oDlg |
bool | pause_time |
usec_t | real_time_interval |
usec_t | real_time_now |
usec_t | real_time_recorded |
double | speedup |
uint64_t | timing_interval |
Friends | |
class | Canvas |
class | Model |
class | ModelCamera |
class | Option |
Additional Inherited Members | |
Static Public Member Functions inherited from Stg::World | |
static void | Run () |
static void * | update_thread_entry (std::pair< World *, int > *info) |
static bool | UpdateAll () |
Public Attributes inherited from Stg::World | |
std::set< Model * > | active_energy |
std::set< ModelPosition * > | active_velocity |
std::vector< std::priority_queue< Event > > | event_queues |
Model * | ground |
bool | paused |
if true, the simulation is stopped More... | |
std::vector< std::queue< Model * > > | pending_update_callbacks |
std::vector< point_int_t > | rt_candidate_cells |
std::vector< point_int_t > | rt_cells |
usec_t | sim_interval |
int | update_cb_count |
Static Public Attributes inherited from Stg::World | |
static std::vector< std::string > | args |
static std::string | ctrlargs |
static const int | DEFAULT_PPM = 50 |
Protected Attributes inherited from Stg::World | |
std::list< std::pair< world_callback_t, void * > > | cb_list |
List of callback functions and arguments. More... | |
bounds3d_t | extent |
Describes the 3D volume of the world. More... | |
bool | graphics |
true iff we have a GUI More... | |
std::set< Option * > | option_table |
GUI options (toggles) registered by models. More... | |
std::list< PowerPack * > | powerpack_list |
List of all the powerpacks attached to models in the world. More... | |
usec_t | quit_time |
std::list< float * > | ray_list |
List of rays traced for debug visualization. More... | |
usec_t | sim_time |
the current sim time in this world in microseconds More... | |
std::map< point_int_t, SuperRegion * > | superregions |
std::vector< std::vector< Model * > > | update_lists |
uint64_t | updates |
the number of simulated time steps executed so far More... | |
Worldfile * | wf |
If set, points to the worldfile used to create this world. More... | |
Protected Attributes inherited from Stg::Ancestor | |
std::map< std::string, unsigned int > | child_type_counts |
std::vector< Model * > | children |
bool | debug |
std::map< std::string, void * > | props |
std::string | token |
Extends World to implement an FLTK / OpenGL graphical user interface.
WorldGui::WorldGui | ( | int | W, |
int | H, | ||
const char * | L = 0 |
||
) |
Definition at line 187 of file worldgui.cc.
WorldGui::~WorldGui | ( | ) |
Definition at line 243 of file worldgui.cc.
|
privatevirtual |
Reimplemented from Stg::World.
Definition at line 405 of file worldgui.cc.
|
virtual |
Get human readable string that describes the current simulation time.
Reimplemented from Stg::World.
Definition at line 387 of file worldgui.cc.
|
private |
Definition at line 819 of file worldgui.cc.
void WorldGui::DrawBoundingBoxTree | ( | ) |
Definition at line 851 of file worldgui.cc.
|
protected |
Definition at line 434 of file worldgui.cc.
|
protected |
Definition at line 454 of file worldgui.cc.
std::string WorldGui::EnergyString | ( | void | ) | const |
Get human readable string that describes the current global energy state.
Definition at line 421 of file worldgui.cc.
|
staticprivate |
Definition at line 560 of file worldgui.cc.
|
staticprivate |
Definition at line 577 of file worldgui.cc.
|
staticprivate |
Definition at line 529 of file worldgui.cc.
|
staticprivate |
Definition at line 478 of file worldgui.cc.
|
staticprivate |
Definition at line 524 of file worldgui.cc.
|
staticprivate |
Definition at line 515 of file worldgui.cc.
|
staticprivate |
Definition at line 723 of file worldgui.cc.
|
inlinevirtual |
Returns true iff this World implements a GUI. The base World class returns false, but subclasses can override this behaviour.
Reimplemented from Stg::World.
bool WorldGui::IsTopView | ( | ) |
Definition at line 876 of file worldgui.cc.
|
virtual |
Open the file at the specified location, create a Worldfile object, read the file and configure the world from the contents, creating models as necessary. The created object persists, and can be retrieved later with World::GetWorldFile().
Reimplemented from Stg::World.
Definition at line 256 of file worldgui.cc.
|
staticprivate |
Definition at line 767 of file worldgui.cc.
|
staticprivate |
Definition at line 637 of file worldgui.cc.
|
staticprivate |
Definition at line 673 of file worldgui.cc.
|
staticprivate |
Definition at line 632 of file worldgui.cc.
|
protectedvirtual |
Reimplemented from Stg::World.
Definition at line 863 of file worldgui.cc.
|
protectedvirtual |
Reimplemented from Stg::World.
Definition at line 857 of file worldgui.cc.
|
protectedvirtual |
Reimplemented from Stg::World.
Definition at line 860 of file worldgui.cc.
|
staticprivate |
Definition at line 568 of file worldgui.cc.
usec_t WorldGui::RealTimeNow | ( | void | ) | const |
Definition at line 869 of file worldgui.cc.
|
virtual |
Reimplemented from Stg::World.
Definition at line 866 of file worldgui.cc.
|
virtual |
Forces the window to be redrawn, even if paused.
Reimplemented from Stg::World.
Definition at line 586 of file worldgui.cc.
|
virtual |
Reimplemented from Stg::Ancestor.
Definition at line 414 of file worldgui.cc.
|
staticprivate |
Definition at line 538 of file worldgui.cc.
|
virtual |
Save the current world state into a worldfile with the given filename.
Filename | to save as. |
Reimplemented from Stg::World.
Definition at line 319 of file worldgui.cc.
|
private |
Definition at line 793 of file worldgui.cc.
|
private |
Definition at line 605 of file worldgui.cc.
void WorldGui::Show | ( | ) |
show the window - need to call this if you don't Load().
Definition at line 251 of file worldgui.cc.
|
staticprivate |
Definition at line 549 of file worldgui.cc.
|
virtual |
Reimplemented from Stg::World.
Definition at line 592 of file worldgui.cc.
|
virtual |
Reimplemented from Stg::World.
Definition at line 619 of file worldgui.cc.
|
virtual |
Reimplemented from Stg::World.
Definition at line 314 of file worldgui.cc.
|
virtual |
Run one simulation timestep. Advances the simulation clock, executes all simulation updates due at the current time, then queues up future events.
Reimplemented from Stg::World.
Definition at line 354 of file worldgui.cc.
|
staticprivate |
Definition at line 646 of file worldgui.cc.
|
staticprivate |
Definition at line 462 of file worldgui.cc.
|
friend |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |