Classes |
class | Action |
| Represents an action that occurred on an object in the world. Several bits may be set indicating several things happened to the object. If the DESTROY bit is set, other bits will not be set. More...
|
struct | Object |
| A representation of an object. More...
|
class | Observer |
class | ObserverHandle |
Public Types |
enum | ActionBits {
UNINITIALIZED = 0,
CREATE = 1,
DESTROY = 2,
MOVE_SHAPE = 4,
ADD_SHAPE = 8,
REMOVE_SHAPE = 16
} |
typedef std::map< std::string,
ObjectConstPtr >
::const_iterator | const_iterator |
typedef boost::shared_ptr< Object > | ObjectConstPtr |
typedef boost::shared_ptr< Object > | ObjectPtr |
typedef boost::function< void(const
ObjectConstPtr &, Action)> | ObserverCallbackFn |
Public Member Functions |
ObserverHandle | addObserver (const ObserverCallbackFn &callback) |
| register a callback function for notification of changes. callback will be called right after any change occurs to any Object. observer is the object which is requesting the changes. It is only used for identifying the callback in removeObserver().
|
void | addToObject (const std::string &id, const std::vector< shapes::ShapeConstPtr > &shapes, const EigenSTL::vector_Affine3d &poses) |
| Add shapes to an object in the map. This function makes repeated calls to addToObjectInternal() to add the shapes one by one.
|
void | addToObject (const std::string &id, const shapes::ShapeConstPtr &shape, const Eigen::Affine3d &pose) |
| Add a shape to an object. If the object already exists, this call will add the shape to the object at the specified pose. Otherwise, the object is created and the specified shape is added. This calls addToObjectInternal().
|
const_iterator | begin () const |
void | clearObjects () |
| Clear all objects. If there are no other pointers to corresponding instances of Objects, the memory is freed.
|
const_iterator | end () const |
const_iterator | find (const std::string &id) const |
ObjectConstPtr | getObject (const std::string &id) const |
| Get a particular object.
|
std::vector< std::string > | getObjectIds () const |
| Get the list of Object ids.
|
bool | hasObject (const std::string &id) const |
| Check if a particular object exists in the collision world.
|
bool | moveShapeInObject (const std::string &id, const shapes::ShapeConstPtr &shape, const Eigen::Affine3d &pose) |
| Update the pose of a shape in an object. Shape equality is verified by comparing pointers. Returns true on success.
|
void | notifyObserverAllObjects (const ObserverHandle observer_handle, Action action) const |
bool | removeObject (const std::string &id) |
| Remove a particular object. If there are no external pointers to the corresponding instance of Object, the memory is freed. Returns true on success and false if no such object was found.
|
void | removeObserver (const ObserverHandle observer_handle) |
| remove a notifier callback
|
bool | removeShapeFromObject (const std::string &id, const shapes::ShapeConstPtr &shape) |
| Remove shape from object. Shape equality is verified by comparing pointers. Ownership of the object is renounced (i.e. object is deleted if no external references exist) if this was the last shape in the object. Returns true on success and false if the object did not exist or did not contain the shape.
|
std::size_t | size () const |
| World () |
| Constructor.
|
| World (const World &other) |
| A copy constructor. other should not be changed while the copy constructor is running This does copy on write and should be quick.
|
| ~World () |
Private Member Functions |
virtual void | addToObjectInternal (const ObjectPtr &obj, const shapes::ShapeConstPtr &shape, const Eigen::Affine3d &pose) |
void | ensureUnique (ObjectPtr &obj) |
| Make sure that the object named id is known only to this instance of the World. If the object is known outside of it, a clone is made so that it can be safely modified later on.
|
void | notify (const ObjectConstPtr &, Action) |
void | notifyAll (Action action) |
Private Attributes |
std::map< std::string, ObjectPtr > | objects_ |
std::vector< Observer * > | observers_ |
Maintain a representation of the environment.
Definition at line 53 of file world.h.