Model class More...
#include <stage.hh>

Classes | |
| class | cb_t |
| class | Flag |
| class | GuiState |
| class | RasterVis |
| class | TrailItem |
| class | Visibility |
Public Types | |
| enum | callback_type_t { CB_FLAGDECR, CB_FLAGINCR, CB_GEOM, CB_INIT, CB_LOAD, CB_PARENT, CB_POSE, CB_SAVE, CB_SHUTDOWN, CB_STARTUP, CB_UPDATE, CB_VELOCITY, __CB_TYPE_COUNT } |
Public Member Functions | |
| Block * | AddBlockRect (meters_t x, meters_t y, meters_t dx, meters_t dy, meters_t dz) |
| void | AddCallback (callback_type_t type, model_callback_t cb, void *user) |
| void | AddFlag (Flag *flag) |
| void | AddToPose (const Pose &pose) |
| void | AddToPose (double dx, double dy, double dz, double da) |
| void | AddVisualizer (Visualizer *custom_visual, bool on_by_default) |
| void | BecomeParentOf (Model *child) |
| int | CallCallbacks (callback_type_t type) |
| void | ClearBlocks () |
| bool | DataIsFresh () const |
| void | Disable () |
| void | Enable () |
| PowerPack * | FindPowerPack () const |
| Model * | GetChild (const std::string &name) const |
| Color | GetColor () const |
| usec_t | GetEnergyInterval () const |
| int | GetFiducialReturn () const |
| unsigned int | GetFlagCount () const |
| Geom | GetGeom () const |
| Pose | GetGlobalPose () const |
| Velocity | GetGlobalVelocity () const |
| uint32_t | GetId () const |
| usec_t | GetInterval () |
| kg_t | GetMassOfChildren () const |
| const std::string & | GetModelType () const |
| Pose | GetPose () const |
| std::string | GetSayString () |
| unsigned int | GetSubscriptionCount () const |
| kg_t | GetTotalMass () const |
| Model * | GetUnsubscribedModelOfType (const std::string &type) const |
| Model * | GetUnusedModelOfType (const std::string &type) |
| usec_t | GetUpdateInterval () const |
| World * | GetWorld () const |
| Pose | GlobalToLocal (const Pose &pose) const |
| bool | HasSubscribers () const |
| void | InitControllers () |
| bool | IsAntecedent (const Model *testmod) const |
| bool | IsDescendent (const Model *testmod) const |
| bool | IsRelated (const Model *testmod) const |
| void | Load (Worldfile *wf, int wf_entity) |
| virtual void | Load () |
| void | LoadBlock (Worldfile *wf, int entity) |
| void | LoadControllerModule (const char *lib) |
| Pose | LocalToGlobal (const Pose &pose) const |
| point_t | LocalToGlobal (const point_t &pt) const |
| std::vector< point_int_t > | LocalToPixels (const std::vector< point_t > &local) const |
| Model (World *world, Model *parent=NULL, const std::string &type="model", const std::string &name="") | |
| Model () | |
| void | NeedRedraw () |
| Model * | Parent () const |
| void | PlaceInFreeSpace (meters_t xmin, meters_t xmax, meters_t ymin, meters_t ymax) |
| virtual void | PopColor () |
| Flag * | PopFlag () |
| std::string | PoseString () |
| virtual void | Print (char *prefix) const |
| virtual const char * | PrintWithPose () const |
| virtual void | PushColor (Color col) |
| virtual void | PushColor (double r, double g, double b, double a) |
| void | PushFlag (Flag *flag) |
| void | Rasterize (uint8_t *data, unsigned int width, unsigned int height, meters_t cellwidth, meters_t cellheight) |
| void | Redraw () |
| int | RemoveCallback (callback_type_t type, model_callback_t callback) |
| void | RemoveFlag (Flag *flag) |
| void | RemoveVisualizer (Visualizer *custom_visual) |
| Model * | Root () |
| virtual void | Save () |
| void | Say (const std::string &str) |
| void | SetBlobReturn (bool val) |
| void | SetBoundary (bool val) |
| void | SetColor (Color col) |
| void | SetFiducialKey (int key) |
| void | SetFiducialReturn (int fid) |
| void | SetFriction (double friction) |
| void | SetGeom (const Geom &src) |
| void | SetGlobalPose (const Pose &gpose) |
| void | SetGlobalVelocity (const Velocity &gvel) |
| void | SetGravityReturn (bool val) |
| void | SetGripperReturn (bool val) |
| void | SetGuiGrid (bool val) |
| void | SetGuiMove (bool val) |
| void | SetGuiNose (bool val) |
| void | SetGuiOutline (bool val) |
| void | SetMapResolution (meters_t res) |
| void | SetMass (kg_t mass) |
| void | SetObstacleReturn (bool val) |
| int | SetParent (Model *newparent) |
| void | SetPose (const Pose &pose) |
| void | SetRangerReturn (double val) |
| void | SetRangerReturn (bool val) |
| void | SetStall (bool stall) |
| void | SetStickyReturn (bool val) |
| virtual void | SetToken (const std::string &str) |
| void | SetWatts (watts_t watts) |
| void | SetWorldfile (Worldfile *wf, int wf_entity) |
| bool | Stalled () const |
| void | Subscribe () |
| void | Unsubscribe () |
| virtual | ~Model () |
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 () |
| void * | GetProperty (std::string &key) |
| virtual void | RemoveChild (Model *mod) |
| void | SetProperty (std::string &key, void *value) |
| const char * | Token () const |
| const std::string & | TokenStr () const |
| virtual | ~Ancestor () |
Static Public Member Functions | |
| static Model * | LookupId (uint32_t id) |
Public Attributes | |
| class Stg::Model::Visibility | vis |
Static Public Attributes | |
| static std::map< std::string, creator_t > | name_map |
Protected Member Functions | |
| void | AppendTouchingModels (std::set< Model * > &touchers) |
| void | CallUpdateCallbacks (void) |
| void | CommitTestedPose () |
| virtual void | DataVisualize (Camera *cam) |
| void | DataVisualizeTree (Camera *cam) |
| virtual void | DrawBlocks () |
| void | DrawBlocksTree () |
| void | DrawBoundingBox () |
| void | DrawBoundingBoxTree () |
| void | DrawFlagList () |
| void | DrawGrid () |
| void | DrawImage (uint32_t texture_id, Camera *cam, float alpha, double width=1.0, double height=1.0) |
| void | DrawOrigin () |
| void | DrawOriginTree () |
| virtual void | DrawPicker () |
| void | DrawPose (Pose pose) |
| virtual void | DrawSelected (void) |
| virtual void | DrawStatus (Camera *cam) |
| void | DrawStatusTree (Camera *cam) |
| void | DrawTrailArrows () |
| void | DrawTrailBlocks () |
| void | DrawTrailFootprint () |
| void | Map (unsigned int layer) |
| void | Map () |
| void | MapFromRoot (unsigned int layer) |
| void | MapWithChildren (unsigned int layer) |
| meters_t | ModelHeight () const |
| void | PopCoords () |
| void | PushLocalCoords () |
| RaytraceResult | Raytrace (const Pose &pose, const meters_t range, const ray_test_func_t func, const void *arg, const bool ztest=true) |
| void | Raytrace (const Pose &pose, const meters_t range, const radians_t fov, const ray_test_func_t func, const void *arg, RaytraceResult *samples, const uint32_t sample_count, const bool ztest=true) |
| RaytraceResult | Raytrace (const radians_t bearing, const meters_t range, const ray_test_func_t func, const void *arg, const bool ztest=true) |
| void | Raytrace (const radians_t bearing, const meters_t range, const radians_t fov, const ray_test_func_t func, const void *arg, RaytraceResult *samples, const uint32_t sample_count, const bool ztest=true) |
| void | RegisterOption (Option *opt) |
| virtual void | Shutdown () |
| virtual void | Startup () |
| Model * | TestCollision () |
| void | UnMap (unsigned int layer) |
| void | UnMap () |
| void | UnMapFromRoot (unsigned int layer) |
| void | UnMapWithChildren (unsigned int layer) |
| virtual void | Update () |
| virtual void | UpdateCharge () |
| void | UpdateTrail () |
Protected Member Functions inherited from Stg::Ancestor | |
| Ancestor & | Load (Worldfile *wf, int section) |
| void | Save (Worldfile *wf, int section) |
Static Protected Member Functions | |
| static int | UpdateWrapper (Model *mod, void *arg) |
Protected Attributes | |
| bool | alwayson |
| BlockGroup | blockgroup |
| int | blocks_dl |
| int | boundary |
| std::vector< std::set< cb_t > > | callbacks |
| Color | color |
| std::list< Visualizer * > | cv_list |
| bool | data_fresh |
| bool | disabled |
| unsigned int | event_queue_num |
| std::list< Flag * > | flag_list |
| double | friction |
| Geom | geom |
| class Stg::Model::GuiState | gui |
| bool | has_default_block |
| uint32_t | id |
| usec_t | interval |
| time between updates in usec More... | |
| usec_t | interval_energy |
| time between updates of powerpack in usec More... | |
| usec_t | last_update |
| time of last update in us More... | |
| bool | log_state |
| iff true, model state is logged More... | |
| meters_t | map_resolution |
| kg_t | mass |
| Model * | parent |
| Pose | pose |
| PowerPack * | power_pack |
| std::list< PowerPack * > | pps_charging |
| Stg::Model::RasterVis | rastervis |
| bool | rebuild_displaylist |
| iff true, regenerate block display list before redraw More... | |
| std::string | say_string |
| if non-empty, this string is displayed in the GUI More... | |
| bool | stack_children |
| whether child models should be stacked on top of this model or not More... | |
| bool | stall |
| Set to true iff the model collided with something else. More... | |
| int | subs |
| the number of subscriptions to this model More... | |
| bool | thread_safe |
| std::vector< TrailItem > | trail |
| unsigned int | trail_index |
| const std::string | type |
| bool | used |
| TRUE iff this model has been returned by GetUnusedModelOfType() More... | |
| watts_t | watts |
| power consumed by this model More... | |
| watts_t | watts_give |
| watts_t | watts_take |
| Worldfile * | wf |
| int | wf_entity |
| World * | world |
| WorldGui * | world_gui |
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 |
Static Protected Attributes | |
| static uint64_t | trail_interval |
| static unsigned int | trail_length |
Private Member Functions | |
| const std::vector< Option * > & | getOptions () const |
| Model (const Model &original) | |
| Model & | operator= (const Model &original) |
Private Attributes | |
| std::vector< Option * > | drawOptions |
| bool | mapped |
Static Private Attributes | |
| static uint32_t | count |
| static std::map< id_t, Model * > | modelsbyid |
Friends | |
| class | Ancestor |
| class | Block |
| class | BlockGroup |
| class | Canvas |
| class | ModelFiducial |
| class | PowerPack |
| class | Ray |
| class | Region |
| class | World |
| class | World::Event |
| class | WorldGui |
|
explicitprivate |
Private copy constructor declared but not defined, to make it impossible to copy models.
|
inline |
| void Model::AddCallback | ( | callback_type_t | type, |
| model_callback_t | cb, | ||
| void * | user | ||
| ) |
Add a callback. The specified function is called whenever the indicated model method is called, and passed the user data.
| cb | Pointer the function to be called. |
| user | Pointer to arbitrary user data, passed to the callback when called. |
Definition at line 6 of file model_callbacks.cc.
| void Model::AddToPose | ( | const Pose & | pose | ) |
| void Model::AddToPose | ( | double | dx, |
| double | dy, | ||
| double | dz, | ||
| double | da | ||
| ) |
| void Model::AddVisualizer | ( | Visualizer * | custom_visual, |
| bool | on_by_default | ||
| ) |
Attach a user supplied visualization to a model.
Definition at line 322 of file model_draw.cc.
|
protected |
| int Model::CallCallbacks | ( | callback_type_t | type | ) |
Definition at line 41 of file model_callbacks.cc.
|
protected |
| void Model::ClearBlocks | ( | ) |
|
protected |
|
protectedvirtual |
Reimplemented in Stg::ModelCamera, Stg::ModelBlinkenlight, Stg::ModelFiducial, and Stg::ModelGripper.
Definition at line 627 of file model_draw.cc.
|
protected |
Definition at line 632 of file model_draw.cc.
|
inline |
|
protectedvirtual |
Reimplemented in Stg::ModelLightIndicator.
Definition at line 251 of file model_draw.cc.
|
protected |
Definition at line 228 of file model_draw.cc.
|
protected |
Definition at line 267 of file model_draw.cc.
|
protected |
Definition at line 256 of file model_draw.cc.
|
protected |
Definition at line 522 of file model_draw.cc.
|
protected |
Definition at line 655 of file model_draw.cc.
|
protected |
Draw the image stored in texture_id above the model
Definition at line 469 of file model_draw.cc.
|
protected |
|
protected |
Definition at line 219 of file model_draw.cc.
|
protectedvirtual |
Definition at line 612 of file model_draw.cc.
|
protected |
Definition at line 239 of file model_draw.cc.
|
protectedvirtual |
Definition at line 12 of file model_draw.cc.
|
protectedvirtual |
Definition at line 366 of file model_draw.cc.
|
protected |
Definition at line 357 of file model_draw.cc.
|
protected |
Definition at line 184 of file model_draw.cc.
|
protected |
Definition at line 163 of file model_draw.cc.
|
protected |
Definition at line 126 of file model_draw.cc.
|
inline |
| Model * Model::GetChild | ( | const std::string & | name | ) | const |
|
inline |
|
inline |
|
virtual |
get the pose of a model in the global CS
Reimplemented from Stg::Ancestor.
| Velocity Stg::Model::GetGlobalVelocity | ( | ) | const |
get the velocity of a model in the global CS
|
inline |
|
inline |
| kg_t Model::GetMassOfChildren | ( | ) | const |
|
inline |
|
inlineprivate |
|
inline |
|
inline |
| kg_t Model::GetTotalMass | ( | ) | const |
| Model * Model::GetUnsubscribedModelOfType | ( | const std::string & | type | ) | const |
| Model * Model::GetUnusedModelOfType | ( | const std::string & | type | ) |
|
inline |
|
inline |
| void Model::InitControllers | ( | ) |
| bool Model::IsDescendent | ( | const Model * | testmod | ) | const |
| bool Model::IsRelated | ( | const Model * | testmod | ) | const |
|
inline |
|
virtual |
configure a model by reading from the current world file
Reimplemented in Stg::ModelActuator, Stg::ModelPosition, Stg::ModelCamera, Stg::ModelBlinkenlight, Stg::ModelRanger, Stg::ModelFiducial, Stg::ModelGripper, and Stg::ModelBlobfinder.
| void Model::LoadBlock | ( | Worldfile * | wf, |
| int | entity | ||
| ) |
| void Model::LoadControllerModule | ( | const char * | lib | ) |
| std::vector< point_int_t > Model::LocalToPixels | ( | const std::vector< point_t > & | local | ) | const |
|
inlinestatic |
|
inlineprotected |
|
protected |
| void Model::NeedRedraw | ( | void | ) |
Private assignment operator declared but not defined, to make it impossible to copy models
|
inline |
|
protected |
Definition at line 317 of file model_draw.cc.
| Model::Flag * Model::PopFlag | ( | ) |
|
inline |
|
virtual |
Reimplemented in Stg::ModelRanger.
|
inlinevirtual |
|
inlinevirtual |
|
protected |
Definition at line 307 of file model_draw.cc.
|
protected |
|
protected |
raytraces multiple rays around the point and heading identified by pose, in local coords
|
protected |
|
protected |
| void Model::Redraw | ( | void | ) |
|
protected |
| int Model::RemoveCallback | ( | callback_type_t | type, |
| model_callback_t | callback | ||
| ) |
Definition at line 22 of file model_callbacks.cc.
| void Model::RemoveVisualizer | ( | Visualizer * | custom_visual | ) |
remove user supplied visualization to a model - supply the same ptr passed to AddCustomVisualizer
Definition at line 348 of file model_draw.cc.
|
inline |
|
virtual |
save the state of the model to the current world file
Reimplemented in Stg::ModelGripper.
| void Model::SetFiducialKey | ( | int | key | ) |
| void Model::SetFiducialReturn | ( | int | fid | ) |
| void Model::SetGeom | ( | const Geom & | src | ) |
| void Model::SetGlobalPose | ( | const Pose & | gpose | ) |
| void Stg::Model::SetGlobalVelocity | ( | const Velocity & | gvel | ) |
| void Stg::Model::SetGravityReturn | ( | bool | val | ) |
| int Model::SetParent | ( | Model * | newparent | ) |
| void Model::SetPose | ( | const Pose & | pose | ) |
| void Stg::Model::SetRangerReturn | ( | bool | val | ) |
| void Stg::Model::SetStickyReturn | ( | bool | val | ) |
|
inlinevirtual |
Reimplemented from Stg::Ancestor.
|
inline |
|
protectedvirtual |
Reimplemented in Stg::ModelActuator, Stg::ModelPosition, Stg::ModelRanger, Stg::ModelFiducial, and Stg::ModelBlobfinder.
|
inline |
|
protectedvirtual |
Reimplemented in Stg::ModelActuator, Stg::ModelPosition, Stg::ModelRanger, and Stg::ModelBlobfinder.
|
protected |
Check to see if the current pose will yield a collision with obstacles. Returns a pointer to the first entity we are in collision with, or NULL if no collision exists. Recursively calls TestCollision() on all descendents.
|
inlineprotected |
|
protected |
| void Model::Unsubscribe | ( | void | ) |
|
protectedvirtual |
|
protected |
|
inlinestaticprotected |
|
friend |
|
friend |
|
friend |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprivate |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
private |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
protected |
|
staticprotected |
|
staticprotected |
|
protected |
TRUE iff this model has been returned by GetUnusedModelOfType()
| class Stg::Model::Visibility Stg::Model::vis |
|
protected |
|
protected |
|
protected |