RobWorkProject  23.9.11-
Public Types | Public Member Functions | List of all members
FixedLink Class Reference

Inherits Body.

Public Types

typedef rw::core::Ptr< FixedLink > Ptr
 Smart pointer type for a FixedLink.
 
- Public Types inherited from Body
enum  BodyEventType { MassChangedEvent }
 Types of events a body can emit. More...
 
typedef rw::core::Ptr< Body > Ptr
 Smart pointer type for a Body.
 
typedef boost::function< void(BodyEventType)> BodyChangedListener
 Defines a state changed listener. More...
 
typedef rw::core::Event< BodyChangedListener, BodyEventType > BodyChangedEvent
 Type for body events.
 
- Public Types inherited from Stateless
typedef rw::core::Ptr< Stateless > Ptr
 Smart pointer type for Stateless.
 

Public Member Functions

 FixedLink (const BodyInfo &info, rw::core::Ptr< rw::kinematics::Frame > base, std::vector< FixedLink * > parents, rw::models::Device &dev, rw::models::Joint &j, const std::vector< rw::kinematics::Frame * > &frames, rw::kinematics::State &state)
 
virtual void saveState (double h, rw::kinematics::State &state)
 
virtual void rollBack (rw::kinematics::State &state)
 
virtual void updateVelocity (double h, rw::kinematics::State &state)
 
virtual void updatePosition (double h, rw::kinematics::State &state)
 
virtual void updateImpulse ()
 
rw::math::Vector3D getPointVelW (const rw::math::Vector3D<> &wPp)
 
rw::math::InertiaMatrix getEffectiveMassW (const rw::math::Vector3D<> &wPc)
 
void resetState (rw::kinematics::State &state)
 
virtual void reset ()
 
void calcAuxVarialbles (rw::kinematics::State &state)
 
double calcEnergy ()
 
rw::math::InertiaMatrix getEffectiveMass ()
 
void addQd (double vel)
 
void addTorque (double t)
 
double getQd ()
 
void setAcc (double acc)
 
const std::string & getMaterial ()
 
virtual void addForce (const rw::math::Vector3D<> &force)
 Adds a force described in parent frame to the center of mass of this body.
 
virtual void addForceW (const rw::math::Vector3D<> &force)
 Adds a force described in world frame to the center of mass of this body.
 
virtual void addForceToPos (const rw::math::Vector3D<> &force, const rw::math::Vector3D<> &pos)
 Adds a force described in parent frame to this body which is working on a specific position pos that is described relative to this body.
 
virtual void addForceWToPosW (const rw::math::Vector3D<> &force, const rw::math::Vector3D<> &pos)
 Adds a force described in world frame to this body which is worked on a specific position pos that is described relative to world.
 
virtual void addImpulseToPos (const rw::math::Vector3D<> &impulse, const rw::math::Vector3D<> &pos)
 Adds a impulse described in parent frame to this body which is working on a specific position pos that is described relative to this body.
 
virtual void addImpulseWToPosW (const rw::math::Vector3D<> &impulse, const rw::math::Vector3D<> &pos)
 Adds a impulse described in world frame to this body which is worked on a specific position pos that is described relative to world.
 
virtual void addGravitation (const rw::math::Vector3D<> &grav)
 adds gravitation to the body where the gravitation is described in body frame
 
virtual void addGravitationW (const rw::math::Vector3D<> &grav)
 adds gravitation to the body where the gravitation is described in world frame
 
void addChild (FixedLink *child)
 
rw::math::InertiaMatrix getInertia ()
 get the body inertia of the link
 
void setTargetVel (double vel)
 
rw::models::Joint * getJoint ()
 
- Public Member Functions inherited from Body
virtual ~Body ()
 Destructor.
 
const std::string & getName () const
 name of body which is the name of the BodyFrame More...
 
rw::kinematics::Frame * getBodyFrame () const
 Returns the frame that the bodies dynamic variables are described relative to. More...
 
const std::vector< rw::geometry::Geometry::Ptr > & getGeometry (const rw::kinematics::State &state)
 Get all geometry associated with this body. More...
 
const std::vector< rw::geometry::Geometry::Ptr > & getGeometry ()
 Get all geometry associated with this body. More...
 
const std::vector< rw::kinematics::Frame * > & getFrames ()
 gets all frames that is staticly connected to this Body More...
 
const BodyInfo & getInfo () const
 get the body info More...
 
BodyInfo & getInfo ()
 retrieve body information More...
 
const std::string & getMaterialID () const
 Material identifier of this object. More...
 
const rw::math::InertiaMatrix & getInertia () const
 get the inertia matrix of this body. The inertia is described around the center of mass and relative to the parent frame. More...
 
BodyChangedEvent & changedEvent ()
 Returns StateChangeEvent needed for subscribing and firing the event. More...
 
void setMass (double m)
 Set the mass of the body. More...
 
void setMass (double m, const rw::math::InertiaMatrix<> &inertia)
 Set the mass and inertia of the body. More...
 
void setMass (double m, const rw::math::InertiaMatrix<> &inertia, const rw::math::Vector3D<> &com)
 Set the mass, inertia and center of mass of the body. More...
 
void setObject (rw::models::Object::Ptr obj)
 Replaces object belonging to the body. More...
 
virtual rw::math::Vector3D getPointVelW (const rw::math::Vector3D<> &p, const rw::kinematics::State &state) const
 calculates the relative velocity of a point p on the body described in world frames.
 
virtual rw::math::VelocityScrew6D getVelocity (const rw::kinematics::State &state) const =0
 gets the velocity of this body relative to the parent frame More...
 
virtual rw::math::Vector3D getLinVel (const rw::kinematics::State &state) const
 returns the linear velocity described in parent frame
 
virtual rw::math::Vector3D getAngVel (const rw::kinematics::State &state) const
 returns the angular velocity described in parent frame
 
rw::math::Vector3D getLinVelW (const rw::kinematics::State &state) const
 returns the linear velocity described in world frame
 
rw::math::Vector3D getAngVelW (const rw::kinematics::State &state) const
 returns the angular velocity described in world frame
 
virtual void reset (rw::kinematics::State &state)=0
 reset the state variables of this body
 
virtual double calcEnergy (const rw::kinematics::State &state, const rw::math::Vector3D<> &gravity=rw::math::Vector3D<>::zero(), const rw::math::Vector3D<> &potZero=rw::math::Vector3D<>::zero()) const =0
 Calculates the total energy of the body. More...
 
virtual void setForce (const rw::math::Vector3D<> &f, rw::kinematics::State &state)=0
 Sets the force described in parent frame acting on the center mass of this body.
 
virtual rw::math::Vector3D getForce (const rw::kinematics::State &state) const =0
 Gets the force described in parent frame acting on the center mass of this body.
 
virtual void addForce (const rw::math::Vector3D<> &force, rw::kinematics::State &state)=0
 Adds a force described in parent frame to the center of mass of this body.
 
virtual void setTorque (const rw::math::Vector3D<> &t, rw::kinematics::State &state)=0
 set the torque of this body with torque t, where t is described in body frame
 
virtual void addTorque (const rw::math::Vector3D<> &t, rw::kinematics::State &state)=0
 Adds a force described in parent frame to the center of mass of this body.
 
virtual rw::math::Vector3D getTorque (const rw::kinematics::State &state) const =0
 returns torque described in body frame
 
virtual rw::kinematics::Frame * getParentFrame (const rw::kinematics::State &state) const
 Get the parent frame of this body. More...
 
virtual void setForceW (const rw::math::Vector3D<> &f, rw::kinematics::State &state)
 Sets the force described in world frame acting on the center mass of this body. More...
 
virtual rw::math::Vector3D getForceW (const rw::kinematics::State &state) const
 Gets the force described in world frame acting on the center mass of this body.
 
virtual void addForceW (const rw::math::Vector3D<> &force, rw::kinematics::State &state)
 Adds a force described in world frame to the center of mass of this body.
 
void addForceToPos (const rw::math::Vector3D<> &force, const rw::math::Vector3D<> &pos, rw::kinematics::State &state)
 Adds a force described in parent frame to this body which is working on a specific position pos that is described relative to this body.
 
virtual void addForceWToPosW (const rw::math::Vector3D<> &force, const rw::math::Vector3D<> &pos, rw::kinematics::State &state)
 Adds a force described in world frame to this body which is worked on a specific position pos that is described relative to world.
 
virtual void setTorqueW (const rw::math::Vector3D<> &t, rw::kinematics::State &state)
 set the torque of this body with torque t, where t is described in world frame
 
virtual void addTorqueW (const rw::math::Vector3D<> &t, rw::kinematics::State &state)
 Add a torque to the body. More...
 
virtual rw::math::Vector3D getTorqueW (const rw::kinematics::State &state) const
 returns torque described in world frame
 
virtual rw::math::Transform3D getTransformW (const rw::kinematics::State &state) const
 Get the current position and orientation of the body frame relative to world frame. More...
 
rw::math::Transform3D pTbf (const rw::kinematics::State &state) const
 Get the current position and orientation of the body frame relative to the body parent frame. More...
 
rw::math::Transform3D pTcom (const rw::kinematics::State &state) const
 Get the current position of the body center of mass relative to the body parent frame. More...
 
rw::math::Transform3D wTbf (const rw::kinematics::State &state) const
 Get the current position and orientation of the body frame relative to world frame. More...
 
rw::math::Transform3D wTcom (const rw::kinematics::State &state) const
 Get the current position of the body center of mass relative to the world frame. More...
 
rw::models::Object::Ptr getObject () const
 Get the geometry information for the body. More...
 
- Public Member Functions inherited from Stateless
virtual ~Stateless ()
 destructor
 
virtual void registerIn (State &state)
 initialize this stateless data to a specific state More...
 
virtual void registerIn (StateStructure::Ptr state)
 register this stateless object in a statestructure.
 
virtual void unregister ()
 unregisters all state data of this stateless object
 
StateStructure::Ptr getStateStructure ()
 Get the state structure. More...
 
const StateStructure::Ptr getStateStructure () const
 Get the state structure. More...
 
bool isRegistered ()
 Check if object has registered its state. More...
 

Additional Inherited Members

- Public Attributes inherited from Body
BodyChangedEvent _bodyChangedEvent
 The event where listeners can be registered.
 
- Protected Member Functions inherited from Body
 Body (const BodyInfo &info, rw::models::Object::Ptr obj)
 Construct a new dynamic body. More...
 
- Protected Member Functions inherited from Stateless
 Stateless ()
 constructor
 
template<class T >
void add (StatelessData< T > &data)
 implementations of sensor should add all their stateless data on initialization
 
void add (StateData *data)
 Add data. More...
 
void add (rw::core::Ptr< StateData > data)
 implementations of sensor should add all their state data on initialization
 
- Protected Attributes inherited from Body
BodyInfo _info
 The dynamic parameters for the body.
 
- Protected Attributes inherited from Stateless
bool _registered
 True if object has registered its state.
 
std::vector< rw::core::Ptr< StateData > > _datas
 Data.
 
StateStructure::Ptr _stateStruct
 The state structure.
 

The documentation for this class was generated from the following file: