RobWorkProject
24.12.4-
|
the DynamicWorkcell class is a container class for dynamic information/data in a workcell, much like WorkCell is a container class for the kinematic information/data in a workcell More...
#include <DynamicWorkCell.hpp>
Public Types | |
enum | DWCEventType { GravityChangedEvent , ConstraintAddedEvent , BodyAddedEvent , DeviceAddedEvent , ControllerAddedEvent , SensorAddedEvent } |
Types of events a DynamicWorkCell can emit. More... | |
typedef std::vector< Body::Ptr > | BodyList |
Type for the collection of bodies. | |
typedef std::vector< Constraint::Ptr > | ConstraintList |
Type for the collection of constraints. | |
typedef std::vector< DynamicDevice::Ptr > | DeviceList |
Type for the collection of devices. | |
typedef std::vector< rwlibs::simulation::SimulatedController::Ptr > | ControllerList |
Type for the collection of simulated controllers. | |
typedef std::vector< rwlibs::simulation::SimulatedSensor::Ptr > | SensorList |
Type for the collection of simulated sensors. | |
typedef rw::core::Ptr< DynamicWorkCell > | Ptr |
Smart pointer type for DynamicWorkCell. | |
typedef rw::core::Ptr< const DynamicWorkCell > | CPtr |
Smart pointer type for const DynamicWorkCell. | |
typedef boost::function< void(DWCEventType, boost::any)> | DWCChangedListener |
Type for an event listener. | |
typedef rw::core::Event< DWCChangedListener, DWCEventType, boost::any > | DWCChangedEvent |
Type for the event. | |
Public Member Functions | |
DynamicWorkCell (rw::models::WorkCell::Ptr workcell) | |
Constructor. More... | |
DynamicWorkCell (rw::models::WorkCell::Ptr workcell, const BodyList &allbodies, const ConstraintList &constraints, const DeviceList &devices, const ControllerList &controllers) | |
Constructor. More... | |
virtual | ~DynamicWorkCell () |
destructor | |
const BodyList & | getBodies () const |
gets a list of all bodies in the dynamic workcell | |
Body::Ptr | findBody (const std::string &name) const |
find a specific body with name name More... | |
template<class T > | |
rw::core::Ptr< T > | findBody (const std::string &name) const |
find a specific body with name name and type T More... | |
template<class T > | |
std::vector< rw::core::Ptr< T > > | findBodies () const |
find all bodies with type T More... | |
void | addConstraint (Constraint::Ptr constraint) |
Add a constraint to the dynamic workcell. More... | |
const ConstraintList & | getConstraints () const |
gets a list of all constraints in the dynamic workcell | |
Constraint::Ptr | findConstraint (const std::string &name) const |
find a specific constraint with name name More... | |
const DeviceList & | getDynamicDevices () const |
gets a list of all dynamic devices in the dynamic workcell More... | |
void | addDevice (DynamicDevice::Ptr device) |
add a device to the dynamic workcell More... | |
DynamicDevice::Ptr | findDevice (const std::string &name) const |
find a dynamic device of name name More... | |
template<class T > | |
rw::core::Ptr< T > | findDevice (const std::string &name) const |
find a specific device with name name and type T More... | |
const ControllerList & | getControllers () const |
gets a list of all controllers in the dynamic workcell | |
const SensorList & | getSensors () const |
get the list of sensors | |
void | addSensor (rwlibs::simulation::SimulatedSensor::Ptr sensor) |
add a sensor to the dynamic workcell More... | |
rwlibs::simulation::SimulatedSensor::Ptr | findSensor (const std::string &name) const |
find a sensor More... | |
template<class T > | |
rw::core::Ptr< T > | findSensor (const std::string &name) const |
find a sensor of a specific type. More... | |
void | addBody (Body::Ptr body) |
adds a body to the dynamic workcell. More... | |
void | addController (rwlibs::simulation::SimulatedController::Ptr manipulator) |
adds a body controller to the dynamic workcell. More... | |
rwlibs::simulation::SimulatedController::Ptr | findController (const std::string &name) const |
Find a simulated controller. More... | |
template<class T > | |
rw::core::Ptr< T > | findController (const std::string &name) const |
Find a simulated controller. More... | |
ContactDataMap & | getContactData () |
gets the static contact data information | |
const ContactDataMap & | getContactData () const |
Get the static contact data information. More... | |
MaterialDataMap & | getMaterialData () |
gets the material data information, like friction properties | |
const MaterialDataMap & | getMaterialData () const |
Get the material data information, like friction. More... | |
Body::Ptr | getBody (rw::core::Ptr< rw::kinematics::Frame > f) |
gets the body associated with frame f if any. | |
rw::models::WorkCell::Ptr | getWorkcell () const |
gets the default kinematic workcell | |
rw::models::WorkCell::Ptr | getWorkCell () const |
gets the default kinematic workcell | |
double | getCollisionMargin () |
the collision margin describe how close | |
void | setCollisionMargin (double margin) |
Set the collision margin. More... | |
WorkCellDimension | getWorldDimension () |
Get dimensions of workspace. More... | |
bool | inDevice (rw::core::Ptr< const Body > body) const |
tests if a body is part of a device More... | |
void | setGravity (const rw::math::Vector3D<> &grav) |
Set the gravity in this dynamic workcell. More... | |
const rw::math::Vector3D & | getGravity () const |
get the gravity in this dynamic workcell More... | |
rw::core::PropertyMap & | getEngineSettings () |
get the settings and properties for the physics engine More... | |
const rw::core::PropertyMap & | getEngineSettings () const |
Get the settings and properties for the physics engine. More... | |
bool | remove (Body::Ptr body) |
Remove a body from the list of bodies. More... | |
DWCChangedEvent & | changedEvent () |
Returns StateChangeEvent needed for subscribing and firing the event. More... | |
the DynamicWorkcell class is a container class for dynamic information/data in a workcell, much like WorkCell is a container class for the kinematic information/data in a workcell
The dynamic description includes:
enum DWCEventType |
Types of events a DynamicWorkCell can emit.
DynamicWorkCell | ( | rw::models::WorkCell::Ptr | workcell | ) |
Constructor.
workcell | [in] a smart pointer to the rw::models::WorkCell |
DynamicWorkCell | ( | rw::models::WorkCell::Ptr | workcell, |
const BodyList & | allbodies, | ||
const ConstraintList & | constraints, | ||
const DeviceList & | devices, | ||
const ControllerList & | controllers | ||
) |
Constructor.
workcell | [in] a smart pointer to the rw::models::WorkCell |
allbodies | [in] a list of bodies. |
constraints | [in] a list of constraints. |
devices | [in] a list of devices. |
controllers | [in] a list of controllers. |
void addBody | ( | Body::Ptr | body | ) |
adds a body to the dynamic workcell.
Notice that this will change the length of the default State.
void addConstraint | ( | Constraint::Ptr | constraint | ) |
Add a constraint to the dynamic workcell.
constraint | [in] a smart pointer to the constraint to add. |
|
inline |
adds a body controller to the dynamic workcell.
Notice that this will change the length of the default State.
void addDevice | ( | DynamicDevice::Ptr | device | ) |
add a device to the dynamic workcell
device | [in] a device |
void addSensor | ( | rwlibs::simulation::SimulatedSensor::Ptr | sensor | ) |
add a sensor to the dynamic workcell
sensor | [in] a simulated sensor |
|
inline |
Returns StateChangeEvent needed for subscribing and firing the event.
|
inline |
find all bodies with type T
Body::Ptr findBody | ( | const std::string & | name | ) | const |
find a specific body with name name
name | [in] name of body |
|
inline |
find a specific body with name name and type T
name | [in] name of body |
Constraint::Ptr findConstraint | ( | const std::string & | name | ) | const |
find a specific constraint with name name
name | [in] name of constraint |
rwlibs::simulation::SimulatedController::Ptr findController | ( | const std::string & | name | ) | const |
Find a simulated controller.
name | [in] name of the controller. |
|
inline |
Find a simulated controller.
name | [in] name of the controller. |
DynamicDevice::Ptr findDevice | ( | const std::string & | name | ) | const |
find a dynamic device of name name
name | [in] name of device |
|
inline |
find a specific device with name name and type T
name | [in] name of body |
rwlibs::simulation::SimulatedSensor::Ptr findSensor | ( | const std::string & | name | ) | const |
find a sensor
name | [in] the sensor |
|
inline |
find a sensor of a specific type.
name | [in] name of sensor |
|
inline |
Get the static contact data information.
|
inline |
gets a list of all dynamic devices in the dynamic workcell
|
inline |
get the settings and properties for the physics engine
|
inline |
Get the settings and properties for the physics engine.
|
inline |
get the gravity in this dynamic workcell
|
inline |
Get the material data information, like friction.
|
inline |
Get dimensions of workspace.
bool inDevice | ( | rw::core::Ptr< const Body > | body | ) | const |
tests if a body is part of a device
body | [in] the body to test for. |
bool remove | ( | Body::Ptr | body | ) |
Remove a body from the list of bodies.
body | [in] the body to be removed |
|
inline |
Set the collision margin.
margin | [in] the new margin. |
|
inline |
Set the gravity in this dynamic workcell.
grav | [in] the direction and strength of gravity |