|  | RobWorkProject
    23.9.11-
    | 
Wrapper class for a bullet btRigidBody, that bridges between RobWork and Bullet. More...
#include <BtBody.hpp>
| Classes | |
| struct | BodyMetaData | 
| Data structure to attach to bullet bodies, allowing friction and restitution to be specified separately for each pair of bodies.  More... | |
| struct | GeometryMetaData | 
| Data structure to attch to bullet collision shapes.  More... | |
| Public Member Functions | |
| BtBody (rw::core::Ptr< rwsim::dynamics::Body > body, const rwsim::dynamics::MaterialDataMap *frictionMap, const rwsim::dynamics::ContactDataMap *collisionMap, btDynamicsWorld *btWorld, const rw::kinematics::State &state) | |
| Construct new bullet body for the given world.  More... | |
| virtual | ~BtBody () | 
| Destructor. | |
| rw::core::Ptr< rwsim::dynamics::Body > | getRwBody () const | 
| Get the RobWork body.  More... | |
| btRigidBody * | getBulletBody () const | 
| Get the underlying btRigidBody from Bullet.  More... | |
| void | update (double dt, rw::kinematics::State &state) const | 
| Update the position of all kinematic bodies.  More... | |
| void | postupdate (rw::kinematics::State &state) const | 
| This method updates the state with state info of the Bullet object. Which means that Bullet states are converted to rw states.  More... | |
| bool | isDynamic () const | 
| Test whether the object is dynamic (equivalent to the RigidBody type in RobWork).  More... | |
| const rw::math::Transform3D & | getBodyTcom () const | 
| Get the transform from the body frame to the center of mass frame.  More... | |
| rw::math::Transform3D | getWorldTcom () const | 
| Get the current transform of the Bullet body.  More... | |
Wrapper class for a bullet btRigidBody, that bridges between RobWork and Bullet.
| BtBody | ( | rw::core::Ptr< rwsim::dynamics::Body > | body, | 
| const rwsim::dynamics::MaterialDataMap * | frictionMap, | ||
| const rwsim::dynamics::ContactDataMap * | collisionMap, | ||
| btDynamicsWorld * | btWorld, | ||
| const rw::kinematics::State & | state | ||
| ) | 
Construct new bullet body for the given world.
| body | [in] the RobWork body to create bullet body for. | 
| frictionMap | [in] the friction map to look up in (must point to the same map for two objects in contact). | 
| collisionMap | [in] the collision map to look up in (must point to the same map for two objects in contact). | 
| btWorld | [in] the Bullet world to add the body to. | 
| state | [in] the initial state with the initial position and velocity for the body. | 
| const rw::math::Transform3D& getBodyTcom | ( | ) | const | 
Get the transform from the body frame to the center of mass frame.
| btRigidBody* getBulletBody | ( | ) | const | 
Get the underlying btRigidBody from Bullet.
| rw::core::Ptr<rwsim::dynamics::Body> getRwBody | ( | ) | const | 
Get the RobWork body.
| rw::math::Transform3D getWorldTcom | ( | ) | const | 
Get the current transform of the Bullet body.
| bool isDynamic | ( | ) | const | 
Test whether the object is dynamic (equivalent to the RigidBody type in RobWork).
| void postupdate | ( | rw::kinematics::State & | state | ) | const | 
This method updates the state with state info of the Bullet object. Which means that Bullet states are converted to rw states.
| state | [in/out] the state is updated with new positions and velocities. | 
| void update | ( | double | dt, | 
| rw::kinematics::State & | state | ||
| ) | const | 
Update the position of all kinematic bodies.
| dt | [in] the size of the timestep. | 
| state | [in/out] the state with updated position for kinematic bodies. |