Stg::Model Class Reference
Model class More...
#include <stage.hh>
Inherits Stg::Ancestor.
Inherited by Stg::ModelActuator, Stg::ModelBlinkenlight, Stg::ModelBlobfinder, Stg::ModelCamera, Stg::ModelFiducial, Stg::ModelGripper, Stg::ModelLaser, Stg::ModelLightIndicator, Stg::ModelPosition, and Stg::ModelRanger.
Classes | |
class | CallbackHooks |
class | Flag |
class | GuiState |
class | RasterVis |
class | stg_cb_t |
class | TrailItem |
class | Visibility |
Public Member Functions | |
Block * | AddBlockRect (stg_meters_t x, stg_meters_t y, stg_meters_t dx, stg_meters_t dy, stg_meters_t dz) |
void | AddCallback (void *address, stg_model_callback_t cb, void *user) |
void | AddFlag (Flag *flag) |
void | AddFlagDecrCallback (stg_model_callback_t cb, void *user) |
void | AddFlagIncrCallback (stg_model_callback_t cb, void *user) |
void | AddLoadCallback (stg_model_callback_t cb, void *user) |
void | AddSaveCallback (stg_model_callback_t cb, void *user) |
void | AddShutdownCallback (stg_model_callback_t cb, void *user) |
void | AddStartupCallback (stg_model_callback_t cb, void *user) |
void | AddToPose (double dx, double dy, double dz, double da) |
void | AddToPose (const Pose &pose) |
void | AddUpdateCallback (stg_model_callback_t cb, void *user) |
void | AddVisualizer (Visualizer *custom_visual, bool on_by_default) |
void | BecomeParentOf (Model *child) |
int | CallCallbacks (void *address) |
void | ClearBlocks () |
bool | DataIsFresh () const |
void | Disable () |
void | Enable () |
PowerPack * | FindPowerPack () const |
Model * | GetChild (const std::string &name) const |
Color | GetColor () const |
stg_usec_t | GetEnergyInterval () |
int | GetFiducialReturn () const |
int | GetFlagCount () const |
Geom | GetGeom () const |
Pose | GetGlobalPose () const |
Velocity | GetGlobalVelocity () const |
uint32_t | GetId () const |
stg_kg_t | GetMassOfChildren () |
const std::string & | GetModelType () const |
Pose | GetPose () const |
stg_usec_t | GetPoseInterval () |
const void * | GetProperty (const char *key) const |
bool | GetPropertyFloat (const char *key, float *f, float defaultval) const |
bool | GetPropertyInt (const char *key, int *i, int defaultval) const |
bool | GetPropertyStr (const char *key, char **c, char *defaultval) const |
std::string | GetSayString () |
unsigned int | GetSubscriptionCount () const |
stg_kg_t | GetTotalMass () |
Model * | GetUnsubscribedModelOfType (const std::string &type) const |
Model * | GetUnusedModelOfType (const std::string &type) |
stg_usec_t | GetUpdateInterval () |
Velocity | GetVelocity () 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 |
virtual void | Load () |
void | Load (Worldfile *wf, int wf_entity) |
void | LoadBlock (Worldfile *wf, int entity) |
void | LoadControllerModule (const char *lib) |
stg_point_t | LocalToGlobal (const stg_point_t &pt) const |
Pose | LocalToGlobal (const Pose &pose) const |
void | LocalToPixels (const std::vector< stg_point_t > &local, std::vector< stg_point_int_t > &pixels) const |
Model (World *world, Model *parent=NULL, const std::string &type="model") | |
void | NeedRedraw () |
Model * | Parent () const |
void | PlaceInFreeSpace (stg_meters_t xmin, stg_meters_t xmax, stg_meters_t ymin, stg_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 (double r, double g, double b, double a) |
virtual void | PushColor (Color col) |
void | PushFlag (Flag *flag) |
void | Rasterize (uint8_t *data, unsigned int width, unsigned int height, stg_meters_t cellwidth, stg_meters_t cellheight) |
int | RemoveCallback (void *member, stg_model_callback_t callback) |
void | RemoveFlag (Flag *flag) |
void | RemoveFlagDecrCallback (stg_model_callback_t cb) |
void | RemoveFlagIncrCallback (stg_model_callback_t cb) |
void | RemoveLoadCallback (stg_model_callback_t cb) |
void | RemoveSaveCallback (stg_model_callback_t cb) |
void | RemoveShutdownCallback (stg_model_callback_t cb) |
void | RemoveStartupCallback (stg_model_callback_t cb) |
void | RemoveUpdateCallback (stg_model_callback_t cb) |
void | RemoveVisualizer (Visualizer *custom_visual) |
Model * | Root () |
virtual void | Save () |
void | Say (const std::string &str) |
void | SetBlobReturn (int val) |
void | SetBoundary (int 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 (int val) |
void | SetGripperReturn (int val) |
void | SetGuiGrid (int val) |
void | SetGuiMove (int val) |
void | SetGuiNose (int val) |
void | SetGuiOutline (int val) |
void | SetLaserReturn (stg_laser_return_t val) |
void | SetMapResolution (stg_meters_t res) |
void | SetMass (stg_kg_t mass) |
void | SetObstacleReturn (int val) |
int | SetParent (Model *newparent) |
void | SetPose (const Pose &pose) |
int | SetProperty (const char *key, const void *data) |
Set a named property of a Stage model. | |
void | SetPropertyFloat (const char *key, float f) |
void | SetPropertyInt (const char *key, int i) |
void | SetPropertyStr (const char *key, const char *str) |
void | SetRangerReturn (int val) |
void | SetStall (stg_bool_t stall) |
void | SetStickyReturn (int val) |
void | SetVelocity (const Velocity &vel) |
void | SetWatts (stg_watts_t watts) |
void | SetWorldfile (Worldfile *wf, int wf_entity) |
bool | Stalled () const |
void | Subscribe () |
void | UnsetProperty (const char *key) |
void | Unsubscribe () |
void | VelocityDisable () |
void | VelocityEnable () |
virtual | ~Model () |
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 (ModelPtrSet &touchers) |
void | CommitTestedPose () |
Model * | ConditionalMove (const Pose &newpose) |
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 | GPoseDirtyTree () |
void | LoadDataBaseEntries (Worldfile *wf, int entity) |
void | Map () |
void | MapFromRoot () |
void | MapWithChildren () |
stg_meters_t | ModelHeight () const |
void | PopCoords () |
void | PushLocalCoords () |
void | Raytrace (const stg_radians_t bearing, const stg_meters_t range, const stg_radians_t fov, const stg_ray_test_func_t func, const void *arg, stg_raytrace_result_t *samples, const uint32_t sample_count, const bool ztest=true) |
stg_raytrace_result_t | Raytrace (const stg_radians_t bearing, const stg_meters_t range, const stg_ray_test_func_t func, const void *arg, const bool ztest=true) |
void | Raytrace (const Pose &pose, const stg_meters_t range, const stg_radians_t fov, const stg_ray_test_func_t func, const void *arg, stg_raytrace_result_t *samples, const uint32_t sample_count, const bool ztest=true) |
stg_raytrace_result_t | Raytrace (const Pose &pose, const stg_meters_t range, const stg_ray_test_func_t func, const void *arg, const bool ztest=true) |
void | RegisterOption (Option *opt) |
virtual void | Shutdown () |
virtual void | Startup () |
Model * | TestCollision () |
Model * | TestCollisionTree () |
void | UnMap () |
void | UnMapFromRoot () |
void | UnMapWithChildren () |
virtual void | Update () |
virtual void | UpdateCharge () |
virtual void | UpdatePose () |
void | UpdateTrail () |
Protected Attributes | |
pthread_mutex_t | access_mutex |
Used by Lock() and Unlock() to prevent parallel access to this model. | |
bool | alwayson |
BlockGroup | blockgroup |
int | blocks_dl |
int | boundary |
Color | color |
std::list< Visualizer * > | cv_list |
bool | data_fresh |
stg_bool_t | disabled |
if non-zero, the model is disabled | |
unsigned int | event_queue_num |
std::list< Flag * > | flag_list |
double | friction |
Geom | geom |
class Stg::Model::GuiState | gui |
bool | has_default_block |
class Stg::Model::CallbackHooks | hooks |
uint32_t | id |
stg_usec_t | interval |
time between updates in usec | |
stg_usec_t | interval_energy |
time between updates of powerpack in usec | |
stg_usec_t | interval_pose |
time between updates of pose due to velocity in usec | |
stg_usec_t | last_update |
time of last update in us | |
bool | log_state |
iff true, model state is logged | |
stg_meters_t | map_resolution |
stg_kg_t | mass |
Model * | parent |
Pose | pose |
PowerPack * | power_pack |
std::list< PowerPack * > | pps_charging |
std::map< std::string, const void * > | props |
Stg::Model::RasterVis | rastervis |
bool | rebuild_displaylist |
iff true, regenerate block display list before redraw | |
std::string | say_string |
if non-null, this string is displayed in the GUI | |
stg_bool_t | stall |
int | subs |
the number of subscriptions to this model | |
bool | thread_safe |
std::list< TrailItem > | trail |
const std::string | type |
bool | used |
TRUE iff this model has been returned by GetUnusedModelOfType(). | |
Velocity | velocity |
bool | velocity_enable |
stg_watts_t | watts |
power consumed by this model | |
stg_watts_t | watts_give |
stg_watts_t | watts_take |
Worldfile * | wf |
int | wf_entity |
World * | world |
WorldGui * | world_gui |
Static Protected Attributes | |
static std::map< void *, std::set< stg_cb_t > > | callbacks |
static uint64_t | trail_interval = 5 |
static unsigned int | trail_length = 50 |
Detailed Description
Model class
Constructor & Destructor Documentation
Constructor
Model::~Model | ( | void | ) | [virtual] |
Destructor
Member Function Documentation
Block * Model::AddBlockRect | ( | stg_meters_t | x, | |
stg_meters_t | y, | |||
stg_meters_t | dx, | |||
stg_meters_t | dy, | |||
stg_meters_t | dz | |||
) |
Add a block to this model centered at [x,y] with extent [dx, dy, dz]
void Model::AddCallback | ( | void * | address, | |
stg_model_callback_t | cb, | |||
void * | user | |||
) |
void Model::AddFlag | ( | Flag * | flag | ) |
void Stg::Model::AddFlagDecrCallback | ( | stg_model_callback_t | cb, | |
void * | user | |||
) | [inline] |
void Stg::Model::AddFlagIncrCallback | ( | stg_model_callback_t | cb, | |
void * | user | |||
) | [inline] |
void Stg::Model::AddLoadCallback | ( | stg_model_callback_t | cb, | |
void * | user | |||
) | [inline] |
void Stg::Model::AddSaveCallback | ( | stg_model_callback_t | cb, | |
void * | user | |||
) | [inline] |
void Stg::Model::AddShutdownCallback | ( | stg_model_callback_t | cb, | |
void * | user | |||
) | [inline] |
void Stg::Model::AddStartupCallback | ( | stg_model_callback_t | cb, | |
void * | user | |||
) | [inline] |
void Model::AddToPose | ( | double | dx, | |
double | dy, | |||
double | dz, | |||
double | da | |||
) |
add values to a model's pose in its parent's coordinate system
void Model::AddToPose | ( | const Pose & | pose | ) |
add values to a model's pose in its parent's coordinate system
void Stg::Model::AddUpdateCallback | ( | stg_model_callback_t | cb, | |
void * | user | |||
) | [inline] |
void Model::AddVisualizer | ( | Visualizer * | custom_visual, | |
bool | on_by_default | |||
) |
Attach a user supplied visualization to a model.
void Model::AppendTouchingModels | ( | ModelPtrSet & | touchers | ) | [protected] |
void Model::BecomeParentOf | ( | Model * | child | ) |
int Model::CallCallbacks | ( | void * | address | ) |
void Model::ClearBlocks | ( | void | ) |
remove all blocks from this model, freeing their memory
void Model::CommitTestedPose | ( | ) | [protected] |
bool Stg::Model::DataIsFresh | ( | ) | const [inline] |
void Model::DataVisualize | ( | Camera * | cam | ) | [protected, virtual] |
Reimplemented in Stg::ModelRanger, Stg::ModelBlinkenlight, and Stg::ModelCamera.
void Model::DataVisualizeTree | ( | Camera * | cam | ) | [protected] |
void Stg::Model::Disable | ( | ) | [inline] |
Add a pointer to a blinkenlight to the model. Clear all blinkenlights from the model. Does not destroy the blinkenlight objects. Disable the model. Its pose will not change due to velocity until re-enabled using Enable(). This is used for example when dragging a model with the mouse pointer. The model is enabled by default.
void Model::DrawBlocks | ( | ) | [protected, virtual] |
Reimplemented in Stg::ModelLightIndicator.
void Model::DrawBlocksTree | ( | ) | [protected] |
void Model::DrawBoundingBox | ( | ) | [protected] |
void Model::DrawBoundingBoxTree | ( | ) | [protected] |
void Model::DrawFlagList | ( | void | ) | [protected] |
void Model::DrawGrid | ( | void | ) | [protected] |
void Model::DrawImage | ( | uint32_t | texture_id, | |
Camera * | cam, | |||
float | alpha, | |||
double | width = 1.0 , |
|||
double | height = 1.0 | |||
) | [protected] |
Draw the image stored in texture_id above the model
void Stg::Model::DrawOrigin | ( | ) | [protected] |
void Model::DrawOriginTree | ( | ) | [protected] |
void Model::DrawPicker | ( | void | ) | [protected, virtual] |
void Model::DrawPose | ( | Pose | pose | ) | [protected] |
void Model::DrawSelected | ( | void | ) | [protected, virtual] |
void Model::DrawStatus | ( | Camera * | cam | ) | [protected, virtual] |
void Model::DrawStatusTree | ( | Camera * | cam | ) | [protected] |
void Model::DrawTrailArrows | ( | ) | [protected] |
void Model::DrawTrailBlocks | ( | ) | [protected] |
void Model::DrawTrailFootprint | ( | ) | [protected] |
void Stg::Model::Enable | ( | ) | [inline] |
Enable the model, so that non-zero velocities will change the model's pose. Models are enabled by default.
PowerPack * Model::FindPowerPack | ( | ) | const |
Model * Model::GetChild | ( | const std::string & | name | ) | const |
Returns a pointer to the model identified by name, or NULL if it doesn't exist in this model.
Color Stg::Model::GetColor | ( | ) | const [inline] |
stg_usec_t Stg::Model::GetEnergyInterval | ( | ) | [inline] |
int Stg::Model::GetFiducialReturn | ( | ) | const [inline] |
Get a model's fiducial return value.
int Stg::Model::GetFlagCount | ( | ) | const [inline] |
Geom Stg::Model::GetGeom | ( | ) | const [inline] |
Get (a copy of) the model's geometry - it's size and local pose (offset from origin in local coords).
Pose Model::GetGlobalPose | ( | ) | const |
get the pose of a model in the global CS
Velocity Model::GetGlobalVelocity | ( | ) | const |
get the velocity of a model in the global CS
uint32_t Stg::Model::GetId | ( | ) | const [inline] |
return a model's unique process-wide identifier
stg_kg_t Model::GetMassOfChildren | ( | ) |
Get the mass of this model's children recursively.
const std::string& Stg::Model::GetModelType | ( | ) | const [inline] |
Pose Stg::Model::GetPose | ( | ) | const [inline] |
Get (a copy of) the pose of a model in its parent's coordinate system.
stg_usec_t Stg::Model::GetPoseInterval | ( | ) | [inline] |
const void * Model::GetProperty | ( | const char * | key | ) | const |
named-property interface
bool Model::GetPropertyFloat | ( | const char * | key, | |
float * | f, | |||
float | defaultval | |||
) | const |
bool Model::GetPropertyInt | ( | const char * | key, | |
int * | i, | |||
int | defaultval | |||
) | const |
bool Model::GetPropertyStr | ( | const char * | key, | |
char ** | c, | |||
char * | defaultval | |||
) | const |
std::string Stg::Model::GetSayString | ( | ) | [inline] |
unsigned int Stg::Model::GetSubscriptionCount | ( | ) | const [inline] |
Returns the current number of subscriptions. If alwayson, this is never less than 1.
stg_kg_t Model::GetTotalMass | ( | ) |
Get the total mass of a model and it's children recursively
Model * Model::GetUnsubscribedModelOfType | ( | const std::string & | type | ) | const |
returns the first descendent of this model that is unsubscribed and has the type indicated by the string
Model * Model::GetUnusedModelOfType | ( | const std::string & | type | ) |
returns the first descendent of this model that is unused and has the type indicated by the string. This model is tagged as used.
stg_usec_t Stg::Model::GetUpdateInterval | ( | ) | [inline] |
Velocity Stg::Model::GetVelocity | ( | ) | const [inline] |
Get (a copy of) the model's velocity in its local reference frame.
World* Stg::Model::GetWorld | ( | ) | const [inline] |
Returns a pointer to the world that contains this model
Given a global pose, returns that pose in the model's local coordinate system.
void Stg::Model::GPoseDirtyTree | ( | ) | [protected] |
Causes this model and its children to recompute their global position instead of using a cached pose in Model::GetGlobalPose()..
bool Stg::Model::HasSubscribers | ( | ) | const [inline] |
Returns true if the model has one or more subscribers, else false.
void Model::InitControllers | ( | ) |
Call Init() for all attached controllers.
bool Model::IsAntecedent | ( | const Model * | testmod | ) | const |
bool Model::IsDescendent | ( | const Model * | testmod | ) | const |
returns true if model [testmod] is a descendent of this model
bool Model::IsRelated | ( | const Model * | testmod | ) | const |
returns true if model [testmod] is a descendent or antecedent of this model
void Model::Load | ( | void | ) | [virtual] |
configure a model by reading from the current world file
Reimplemented in Stg::ModelBlobfinder, Stg::ModelLaser, Stg::ModelGripper, Stg::ModelFiducial, Stg::ModelRanger, Stg::ModelBlinkenlight, Stg::ModelCamera, Stg::ModelPosition, and Stg::ModelActuator.
void Stg::Model::Load | ( | Worldfile * | wf, | |
int | wf_entity | |||
) | [inline] |
Set the worldfile and worldfile entity ID - must be called before Load()
Reimplemented from Stg::Ancestor.
void Model::LoadBlock | ( | Worldfile * | wf, | |
int | entity | |||
) |
Add a block to this model by loading it from a worldfile entity
void Model::LoadControllerModule | ( | const char * | lib | ) |
Load a control program for this model from an external library
void Model::LoadDataBaseEntries | ( | Worldfile * | wf, | |
int | entity | |||
) | [protected] |
stg_point_t Model::LocalToGlobal | ( | const stg_point_t & | pt | ) | const |
Return the 2d point in world coordinates of a 2d point specified in the model's local coordinate system
Return the global pose (i.e. pose in world coordinates) of a pose specified in the model's local coordinate system
void Model::LocalToPixels | ( | const std::vector< stg_point_t > & | local, | |
std::vector< stg_point_int_t > & | pixels | |||
) | const |
Fill an array of global pixels from an array of local points.
static Model* Stg::Model::LookupId | ( | uint32_t | id | ) | [inline, static] |
Look up a model pointer by a unique model ID
void Model::Map | ( | ) | [protected] |
void Model::MapFromRoot | ( | ) | [protected] |
void Model::MapWithChildren | ( | ) | [protected] |
stg_meters_t Model::ModelHeight | ( | ) | const [protected] |
void Model::NeedRedraw | ( | void | ) |
Sets the redraw flag, so this model will be redrawn at the earliest opportunity
Model* Stg::Model::Parent | ( | ) | const [inline] |
Returns a pointer to this model's parent model, or NULL if this model has no parent
void Model::PlaceInFreeSpace | ( | stg_meters_t | xmin, | |
stg_meters_t | xmax, | |||
stg_meters_t | ymin, | |||
stg_meters_t | ymax | |||
) |
virtual void Stg::Model::PopColor | ( | ) | [inline, virtual] |
void Model::PopCoords | ( | ) | [protected] |
Model::Flag * Model::PopFlag | ( | ) |
std::string Stg::Model::PoseString | ( | ) | [inline] |
Return a human-readable string describing the model's pose
void Model::Print | ( | char * | prefix | ) | const [virtual] |
const char * Model::PrintWithPose | ( | ) | const [virtual] |
virtual void Stg::Model::PushColor | ( | double | r, | |
double | g, | |||
double | b, | |||
double | a | |||
) | [inline, virtual] |
virtual void Stg::Model::PushColor | ( | Color | col | ) | [inline, virtual] |
void Model::PushFlag | ( | Flag * | flag | ) |
void Model::PushLocalCoords | ( | ) | [protected] |
void Model::Rasterize | ( | uint8_t * | data, | |
unsigned int | width, | |||
unsigned int | height, | |||
stg_meters_t | cellwidth, | |||
stg_meters_t | cellheight | |||
) |
Render the model's blocks as an occupancy grid into the preallocated array of width by height pixels
void Model::Raytrace | ( | const stg_radians_t | bearing, | |
const stg_meters_t | range, | |||
const stg_radians_t | fov, | |||
const stg_ray_test_func_t | func, | |||
const void * | arg, | |||
stg_raytrace_result_t * | samples, | |||
const uint32_t | sample_count, | |||
const bool | ztest = true | |||
) | [protected] |
stg_raytrace_result_t Model::Raytrace | ( | const stg_radians_t | bearing, | |
const stg_meters_t | range, | |||
const stg_ray_test_func_t | func, | |||
const void * | arg, | |||
const bool | ztest = true | |||
) | [protected] |
void Stg::Model::Raytrace | ( | const Pose & | pose, | |
const stg_meters_t | range, | |||
const stg_radians_t | fov, | |||
const stg_ray_test_func_t | func, | |||
const void * | arg, | |||
stg_raytrace_result_t * | samples, | |||
const uint32_t | sample_count, | |||
const bool | ztest = true | |||
) | [protected] |
raytraces multiple rays around the point and heading identified by pose, in local coords
stg_raytrace_result_t Model::Raytrace | ( | const Pose & | pose, | |
const stg_meters_t | range, | |||
const stg_ray_test_func_t | func, | |||
const void * | arg, | |||
const bool | ztest = true | |||
) | [protected] |
raytraces a single ray from the point and heading identified by pose, in local coords
int Model::RemoveCallback | ( | void * | member, | |
stg_model_callback_t | callback | |||
) |
void Model::RemoveFlag | ( | Flag * | flag | ) |
void Stg::Model::RemoveFlagDecrCallback | ( | stg_model_callback_t | cb | ) | [inline] |
void Stg::Model::RemoveFlagIncrCallback | ( | stg_model_callback_t | cb | ) | [inline] |
void Stg::Model::RemoveLoadCallback | ( | stg_model_callback_t | cb | ) | [inline] |
void Stg::Model::RemoveSaveCallback | ( | stg_model_callback_t | cb | ) | [inline] |
void Stg::Model::RemoveShutdownCallback | ( | stg_model_callback_t | cb | ) | [inline] |
void Stg::Model::RemoveStartupCallback | ( | stg_model_callback_t | cb | ) | [inline] |
void Stg::Model::RemoveUpdateCallback | ( | stg_model_callback_t | cb | ) | [inline] |
void Model::RemoveVisualizer | ( | Visualizer * | custom_visual | ) |
remove user supplied visualization to a model - supply the same ptr passed to AddCustomVisualizer
Model* Stg::Model::Root | ( | ) | [inline] |
return the root model of the tree containing this model
void Model::Save | ( | void | ) | [virtual] |
save the state of the model to the current world file
Reimplemented in Stg::ModelGripper.
void Model::Say | ( | const std::string & | str | ) |
void Model::SetBlobReturn | ( | int | val | ) |
void Model::SetBoundary | ( | int | val | ) |
void Model::SetColor | ( | Color | col | ) |
void Model::SetFiducialKey | ( | int | key | ) |
set a model's fiducial key: only fiducial finders with a matching key can detect this model as a fiducial.
void Model::SetFiducialReturn | ( | int | fid | ) |
Set a model's fiducial return value. Values less than zero are not detected by the fiducial sensor.
void Model::SetFriction | ( | double | friction | ) |
void Model::SetGeom | ( | const Geom & | src | ) |
set a model's geometry (size and center offsets)
void Model::SetGlobalPose | ( | const Pose & | gpose | ) |
set the pose of model in global coordinates
void Model::SetGlobalVelocity | ( | const Velocity & | gvel | ) |
void Stg::Model::SetGravityReturn | ( | int | val | ) |
void Model::SetGripperReturn | ( | int | val | ) |
void Model::SetGuiGrid | ( | int | val | ) |
void Model::SetGuiMove | ( | int | val | ) |
void Model::SetGuiNose | ( | int | val | ) |
void Model::SetGuiOutline | ( | int | val | ) |
void Model::SetLaserReturn | ( | stg_laser_return_t | val | ) |
void Model::SetMapResolution | ( | stg_meters_t | res | ) |
void Model::SetMass | ( | stg_kg_t | mass | ) |
void Model::SetObstacleReturn | ( | int | val | ) |
int Model::SetParent | ( | Model * | newparent | ) |
Change a model's parent - experimental
void Model::SetPose | ( | const Pose & | pose | ) |
set a model's pose in its parent's coordinate system
int Model::SetProperty | ( | const char * | key, | |
const void * | data | |||
) |
Set a named property of a Stage model.
Set a property of a Stage model.
This function can set both predefined and user-defined properties of a model. Predefined properties are intrinsic to every model, such as pose and color. Every supported predefined properties has its identifying string defined as a preprocessor macro in stage.h. Users should use the macro instead of a hard-coded string, so that the compiler can help you to avoid mis-naming properties.
User-defined properties allow the user to attach arbitrary data pointers to a model. User-defined property data is not copied, so the original pointer must remain valid. User-defined property names are simple strings. Names beginning with an underscore ('_') are reserved for internal libstage use: users should not use names beginning with underscore (at risk of causing very weird behaviour).
Any callbacks registered for the named property will be called.
Returns 0 on success, or a positive error code on failure.
CAUTION* The caller is responsible for making sure the pointer points to data of the correct type for the property, so use carefully. Check the docs or the equivalent stg_model_set_<property>() function definition to see the type of data required for each property.
void Model::SetPropertyFloat | ( | const char * | key, | |
float | f | |||
) |
void Model::SetPropertyInt | ( | const char * | key, | |
int | i | |||
) |
void Model::SetPropertyStr | ( | const char * | key, | |
const char * | str | |||
) |
void Model::SetRangerReturn | ( | int | val | ) |
void Model::SetStall | ( | stg_bool_t | stall | ) |
void Stg::Model::SetStickyReturn | ( | int | val | ) |
void Model::SetVelocity | ( | const Velocity & | vel | ) |
set a model's velocity in its parent's coordinate system
void Model::SetWatts | ( | stg_watts_t | watts | ) |
void Stg::Model::SetWorldfile | ( | Worldfile * | wf, | |
int | wf_entity | |||
) | [inline] |
Set the worldfile and worldfile entity ID
void Model::Shutdown | ( | void | ) | [protected, virtual] |
Reimplemented in Stg::ModelBlobfinder, Stg::ModelLaser, Stg::ModelFiducial, Stg::ModelRanger, Stg::ModelPosition, and Stg::ModelActuator.
bool Stg::Model::Stalled | ( | ) | const [inline] |
Returns the value of the model's stall boolean, which is true iff the model has crashed into another model
void Model::Startup | ( | void | ) | [protected, virtual] |
Reimplemented in Stg::ModelBlobfinder, Stg::ModelLaser, Stg::ModelRanger, Stg::ModelPosition, and Stg::ModelActuator.
void Model::Subscribe | ( | void | ) |
subscribe to a model's data
Model * Model::TestCollision | ( | ) | [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.
Model * Model::TestCollisionTree | ( | ) | [protected] |
Recursively call TestCollision() on this model and all its descendents
void Model::UnMap | ( | ) | [protected] |
void Model::UnMapFromRoot | ( | ) | [protected] |
void Model::UnMapWithChildren | ( | ) | [protected] |
void Model::UnsetProperty | ( | const char * | key | ) |
void Model::Unsubscribe | ( | void | ) |
unsubscribe from a model's data
void Model::Update | ( | void | ) | [protected, virtual] |
Reimplemented in Stg::ModelBlobfinder, Stg::ModelLaser, Stg::ModelRanger, Stg::ModelBlinkenlight, Stg::ModelCamera, Stg::ModelPosition, and Stg::ModelActuator.
void Model::UpdateCharge | ( | ) | [protected, virtual] |
void Model::UpdatePose | ( | void | ) | [protected, virtual] |
void Model::UpdateTrail | ( | ) | [protected] |
Record the current pose in our trail. Delete the trail head if it is full.
void Model::VelocityDisable | ( | ) |
Disable update of model pose according to velocity state
void Model::VelocityEnable | ( | ) |
Enable update of model pose according to velocity state
Member Data Documentation
pthread_mutex_t Stg::Model::access_mutex [protected] |
Used by Lock() and Unlock() to prevent parallel access to this model.
Reimplemented from Stg::Ancestor.
bool Stg::Model::alwayson [protected] |
If true, the model always has at least one subscription, so always runs. Defaults to false.
BlockGroup Stg::Model::blockgroup [protected] |
int Stg::Model::blocks_dl [protected] |
OpenGL display list identifier for the blockgroup
int Stg::Model::boundary [protected] |
Iff true, 4 thin blocks are automatically added to the model, forming a solid boundary around the bounding box of the model.
std::map< void *, std::set< Model::stg_cb_t > > Model::callbacks [static, protected] |
A list of callback functions can be attached to any address. When Model::CallCallbacks( void*) is called, the callbacks are called.
Color Stg::Model::color [protected] |
Default color of the model's blocks.
std::list<Visualizer*> Stg::Model::cv_list [protected] |
bool Stg::Model::data_fresh [protected] |
This can be set to indicate that the model has new data that may be of interest to users. This allows polling the model instead of adding a data callback.
stg_bool_t Stg::Model::disabled [protected] |
if non-zero, the model is disabled
unsigned int Stg::Model::event_queue_num [protected] |
The index into the world's vector of event queues. Initially -1, to indicate that it is not on a list yet.
std::list<Flag*> Stg::Model::flag_list [protected] |
double Stg::Model::friction [protected] |
Geom Stg::Model::geom [protected] |
class Stg::Model::GuiState Stg::Model::gui [protected] |
Records model state and functionality in the GUI, if used
bool Stg::Model::has_default_block [protected] |
class Stg::Model::CallbackHooks Stg::Model::hooks [protected] |
uint32_t Stg::Model::id [protected] |
unique process-wide identifier for this model
stg_usec_t Stg::Model::interval [protected] |
time between updates in usec
stg_usec_t Stg::Model::interval_energy [protected] |
time between updates of powerpack in usec
stg_usec_t Stg::Model::interval_pose [protected] |
time between updates of pose due to velocity in usec
stg_usec_t Stg::Model::last_update [protected] |
time of last update in us
bool Stg::Model::log_state [protected] |
iff true, model state is logged
stg_meters_t Stg::Model::map_resolution [protected] |
stg_kg_t Stg::Model::mass [protected] |
std::map< std::string, creator_t > Model::name_map [static] |
Model* Stg::Model::parent [protected] |
Pointer to the parent of this model, possibly NULL.
Pose Stg::Model::pose [protected] |
The pose of the model in it's parents coordinate frame, or the global coordinate frame is the parent is NULL.
PowerPack* Stg::Model::power_pack [protected] |
Optional attached PowerPack, defaults to NULL
std::list<PowerPack*> Stg::Model::pps_charging [protected] |
list of powerpacks that this model is currently charging, initially NULL.
std::map<std::string,const void*> Stg::Model::props [protected] |
Props map can contain arbitrary named data items. Can be used by derived model types to store properties, and for user code to associate arbitrary items with a model.
Stg::Model::RasterVis Stg::Model::rastervis [protected] |
Visualize the most recent rasterization operation performed by this model
bool Stg::Model::rebuild_displaylist [protected] |
iff true, regenerate block display list before redraw
std::string Stg::Model::say_string [protected] |
if non-null, this string is displayed in the GUI
stg_bool_t Stg::Model::stall [protected] |
int Stg::Model::subs [protected] |
the number of subscriptions to this model
bool Stg::Model::thread_safe [protected] |
Thread safety flag. Iff true, Update() may be called in parallel with other models. Defaults to false for safety
std::list<TrailItem> Stg::Model::trail [protected] |
uint64_t Model::trail_interval = 5 [static, protected] |
Number of world updates between trail records.
uint32_t Model::trail_length = 50 [static, protected] |
The maxiumum length of the trail drawn. Default is 20, but can be set in the world file using the tail_length model property.
const std::string Stg::Model::type [protected] |
bool Stg::Model::used [protected] |
TRUE iff this model has been returned by GetUnusedModelOfType().
Velocity Stg::Model::velocity [protected] |
bool Stg::Model::velocity_enable [protected] |
respond to velocity state by changing position. Initially false, set to true by subclass, worldfile, or explcicit call to Model::VelocityEnable().
Reimplemented in Stg::ModelBlobfinder.
stg_watts_t Stg::Model::watts [protected] |
power consumed by this model
stg_watts_t Stg::Model::watts_give [protected] |
If >0, this model can transfer energy to models that have watts_take >0
stg_watts_t Stg::Model::watts_take [protected] |
If >0, this model can transfer energy from models that have watts_give >0
Worldfile* Stg::Model::wf [protected] |
int Stg::Model::wf_entity [protected] |
World* Stg::Model::world [protected] |
WorldGui* Stg::Model::world_gui [protected] |
The documentation for this class was generated from the following files:
Generated on Tue Oct 20 15:42:06 2009 for Stage by 1.6.1