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 |