![]() |
RobWorkProject
25.2.11-
|
A physics engine that uses Bullet Physics as the underlying engine. More...
#include <BtSimulator.hpp>
Inherits PhysicsEngine.
Public Member Functions | |
BtSimulator () | |
Construct new simulator. | |
BtSimulator (rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > dwc) | |
Construct new simulator. More... | |
virtual | ~BtSimulator () |
Destructor. | |
void | load (rw::core::Ptr< rwsim::dynamics::DynamicWorkCell > dwc) |
adds dynamic workcell More... | |
bool | setContactDetector (rw::core::Ptr< rwsim::contacts::BaseContactDetector > detector) |
Change the contact detector used by the engine. More... | |
void | step (double dt, rw::kinematics::State &state) |
Performs a step and updates the state. More... | |
void | resetScene (rw::kinematics::State &state) |
reset velocity and acceleration of all bodies to 0. And sets the position of all bodies to that described in state More... | |
void | initPhysics (rw::kinematics::State &state) |
initialize simulator physics with state More... | |
void | exitPhysics () |
cleans up the allocated storage fo bullet physics More... | |
double | getTime () |
gets the the current simulated time More... | |
void | setEnabled (rw::core::Ptr< rwsim::dynamics::Body > body, bool enabled) |
void | setDynamicsEnabled (rw::core::Ptr< rwsim::dynamics::Body > body, bool enabled) |
disables the dynamics of a body. More... | |
rwsim::drawable::SimulatorDebugRender::Ptr | createDebugRender () |
create a debug render for the specific implementation More... | |
rw::core::PropertyMap & | getPropertyMap () |
properties of the physics engine More... | |
void | emitPropertyChanged () |
should be called when properties have been changed and one wants the physics engine to reflect the new properties. More... | |
void | addController (rw::core::Ptr< rwlibs::simulation::SimulatedController > controller) |
add a simulated controller to this simulator More... | |
void | removeController (rw::core::Ptr< rwlibs::simulation::SimulatedController > controller) |
removes a simulated controller from this simulator More... | |
void | addBody (rw::core::Ptr< rwsim::dynamics::Body > body, rw::kinematics::State &state) |
add a body to the physics engine More... | |
void | addDevice (rw::core::Ptr< rwsim::dynamics::DynamicDevice > device, rw::kinematics::State &state) |
add a dynamic device to the physics engine More... | |
void | addSensor (rwlibs::simulation::SimulatedSensor::Ptr sensor, rw::kinematics::State &state) |
add a simulated sensor to this simulator More... | |
void | removeSensor (rwlibs::simulation::SimulatedSensor::Ptr sensor) |
add a simulated sensor to this simulator More... | |
void | attach (rw::core::Ptr< rwsim::dynamics::Body > b1, rw::core::Ptr< rwsim::dynamics::Body > b2) |
creates a 6dof dynamic constraint between the two bodies b1 and b2 More... | |
void | detach (rw::core::Ptr< rwsim::dynamics::Body > b1, rw::core::Ptr< rwsim::dynamics::Body > b2) |
removes the 6dof constraint between bodies b1 and b2 if there is any More... | |
std::vector< rwlibs::simulation::SimulatedSensor::Ptr > | getSensors () |
get the list of simulated sensors More... | |
void | addConstraint (rw::core::Ptr< const rwsim::dynamics::Constraint > constraint) |
Add a Constraint between two bodies. More... | |
![]() | |
virtual | ~PhysicsEngine () |
destructor | |
virtual void | setSimulatorLog (rw::core::Ptr< rwsim::log::SimulatorLogScope > log) |
Store internal info during simulation. More... | |
virtual void | forceUpdate (rw::core::Ptr< rwsim::dynamics::Body > body, rw::kinematics::State &state) |
this will force the physics engine to update the state of the body. This can be i.e. be used to teleport a rigid body to a new position. More... | |
Additional Inherited Members | |
![]() | |
typedef rw::core::Ptr< PhysicsEngine > | Ptr |
smart pointer type of PhysicsEngine | |
A physics engine that uses Bullet Physics as the underlying engine.
Construct new simulator.
dwc | [in] the dynamic workcell. |
|
virtual |
add a body to the physics engine
body | [in] body to add |
state | [in] current state |
Implements PhysicsEngine.
void addConstraint | ( | rw::core::Ptr< const rwsim::dynamics::Constraint > | constraint | ) |
Add a Constraint between two bodies.
constraint | [in] a pointer to the RobWork constraint. |
|
virtual |
add a simulated controller to this simulator
Implements PhysicsEngine.
|
virtual |
add a dynamic device to the physics engine
device | [in] device to add |
state | [in] current state |
Implements PhysicsEngine.
|
virtual |
add a simulated sensor to this simulator
Implements PhysicsEngine.
|
virtual |
creates a 6dof dynamic constraint between the two bodies b1 and b2
b1 | |
b2 |
Implements PhysicsEngine.
|
virtual |
create a debug render for the specific implementation
Implements PhysicsEngine.
|
virtual |
removes the 6dof constraint between bodies b1 and b2 if there is any
b1 | |
b2 |
Implements PhysicsEngine.
|
virtual |
should be called when properties have been changed and one wants the physics engine to reflect the new properties.
Implements PhysicsEngine.
|
virtual |
cleans up the allocated storage fo bullet physics
Implements PhysicsEngine.
|
virtual |
properties of the physics engine
Implements PhysicsEngine.
|
virtual |
|
virtual |
gets the the current simulated time
Implements PhysicsEngine.
|
virtual |
initialize simulator physics with state
Implements PhysicsEngine.
|
virtual |
adds dynamic workcell
Implements PhysicsEngine.
|
virtual |
|
virtual |
add a simulated sensor to this simulator
Implements PhysicsEngine.
|
virtual |
reset velocity and acceleration of all bodies to 0. And sets the position of all bodies to that described in state
Implements PhysicsEngine.
|
virtual |
Change the contact detector used by the engine.
detector | [in] the contact detector to use (NULL for default contact detection) |
Implements PhysicsEngine.
|
virtual |
|
virtual |
Enables or disables a body. A body is automatically enabled if contacts or new interactions with the Body arrise
body | [in] the body to enable/disable |
enabled | [in] |
Implements PhysicsEngine.
|
virtual |
Performs a step and updates the state.
Implements PhysicsEngine.