This feature retrieves a model proxy of a world so that model APIs can be used on the world, e.g., to access a world joint. More...
#include <GetEntities.hh>
Classes | |
class | Implementation |
class | World |
Additional Inherited Members | |
Public Types inherited from Feature | |
using | RequiredFeatures = void |
By default, a blank feature will not require any other features. If your feature does require some other set of features, then you should inherit the FeatureWithRequirements class, and provide it with a list of the Features that you require. More... | |
Static Public Member Functions inherited from Feature | |
template<typename SomeFeatureList , bool = false> | |
static constexpr bool | ConflictsWith () |
By default, a blank feature will not conflict with any other features. If your feature does conflict with some other set of features, then you should inherit the FeatureWithConflicts<...> class, and provide it a list of those conflicting features. More... | |
Detailed Description
This feature retrieves a model proxy of a world so that model APIs can be used on the world, e.g., to access a world joint.
Entities such as joints are only available in a Model. To support world joints, instead of creating a new type of entity, we have chosen to implement a scheme where the world behaves like a model via this feature. Given a world, w
, we can do model = w->GetWorldModel()
to get the model proxy. We can then use any of the APIs supported by the features available in the physics engine, e.g., model->GetJoint("j1")
. where "j1" is a joint directly under <world>
in the SDFormat.
Note: Certain features available on models, such as RemoveModelFromWorld
, ConstructEmptyLink
, and ConstructSdfLink
are not valid on the model proxy. Physics engine plugin implementers should ensure that calls to APIs from these features fail gracefully.
The documentation for this class was generated from the following file: