Simox  2.3.49
VirtualRobot::ContactSensor Class Reference
Inheritance diagram for VirtualRobot::ContactSensor:
VirtualRobot::Sensor VirtualRobot::SceneObject

Data Structures

struct  ContactForce
struct  ContactFrame

Public Member Functions

 ContactSensor (RobotNodeWeakPtr robotNode, const std::string &name)
virtual ~ContactSensor ()
void updateSensors (const ContactSensor::ContactFrame &frame, double dt)
const ContactSensor::ContactFramegetContacts ()
bool hasContact ()
virtual void print (bool printChildren=false, bool printDecoration=true) const
virtual std::string toXML (const std::string &modelPath, int tabs)
- Public Member Functions inherited from VirtualRobot::Sensor
EIGEN_MAKE_ALIGNED_OPERATOR_NEW Sensor (RobotNodeWeakPtr robotNode, const std::string &name, VisualizationNodePtr visualization=VisualizationNodePtr(), const Eigen::Matrix4f &rnTrafo=Eigen::Matrix4f::Identity())
virtual ~Sensor ()
RobotNodePtr getRobotNode () const
virtual Eigen::Matrix4f getRobotNodeToSensorTransformation ()
virtual void setRobotNodeToSensorTransformation (const Eigen::Matrix4f &t)
virtual void setGlobalPose (const Eigen::Matrix4f &pose)
virtual SensorPtr clone (RobotNodePtr newRobotNode, float scaling=1.0f)
SceneObjectPtr clone (const std::string &, CollisionCheckerPtr=CollisionCheckerPtr(), float=1.0f) const
 Forbid cloning method from SceneObject. We need to know the new robotnode for cloning. More...
virtual void updatePose (bool updateChildren=true)
virtual bool initialize (SceneObjectPtr parent=SceneObjectPtr(), const std::vector< SceneObjectPtr > &children=std::vector< SceneObjectPtr >())
- Public Member Functions inherited from VirtualRobot::SceneObject
 SceneObject (const std::string &name, VisualizationNodePtr visualization=VisualizationNodePtr(), CollisionModelPtr collisionModel=CollisionModelPtr(), const Physics &p=Physics(), CollisionCheckerPtr colChecker=CollisionCheckerPtr())
virtual ~SceneObject ()
std::string getName () const
void setName (const std::string &name)
virtual Eigen::Matrix4f getGlobalPose () const
virtual void setGlobalPoseNoChecks (const Eigen::Matrix4f &pose)
virtual CollisionModelPtr getCollisionModel ()
virtual CollisionCheckerPtr getCollisionChecker ()
void setVisualization (VisualizationNodePtr visualization)
void setCollisionModel (CollisionModelPtr colModel)
virtual VisualizationNodePtr getVisualization (SceneObject::VisualizationType visuType=SceneObject::Full)
virtual void setUpdateVisualization (bool enable)
bool getUpdateVisualizationStatus ()
virtual void setUpdateCollisionModel (bool enable)
bool getUpdateCollisionModelStatus ()
virtual void setupVisualization (bool showVisualization, bool showAttachedVisualizations)
virtual void showCoordinateSystem (bool enable, float scaling=1.0f, std::string *text=NULL, const std::string &visualizationType="")
virtual void showPhysicsInformation (bool enableCoM, bool enableInertial, VisualizationNodePtr comModel=VisualizationNodePtr())
virtual bool showCoordinateSystemState ()
virtual void showBoundingBox (bool enable, bool wireframe=false)
virtual bool ensureVisualization (const std::string &visualizationType="")
Eigen::Matrix4f toLocalCoordinateSystem (const Eigen::Matrix4f &poseGlobal) const
Eigen::Vector3f toLocalCoordinateSystemVec (const Eigen::Vector3f &positionGlobal) const
Eigen::Matrix4f toGlobalCoordinateSystem (const Eigen::Matrix4f &poseLocal) const
Eigen::Vector3f toGlobalCoordinateSystemVec (const Eigen::Vector3f &positionLocal) const
Eigen::Matrix4f getTransformationTo (const SceneObjectPtr otherObject)
Eigen::Matrix4f getTransformationFrom (const SceneObjectPtr otherObject)
Eigen::Matrix4f transformTo (const SceneObjectPtr otherObject, const Eigen::Matrix4f &poseInOtherCoordSystem)
Eigen::Vector3f transformTo (const SceneObjectPtr otherObject, const Eigen::Vector3f &positionInOtherCoordSystem)
virtual int getNumFaces (bool collisionModel=false)
virtual Eigen::Vector3f getCoMLocal ()
virtual Eigen::Vector3f getCoMGlobal ()
float getMass () const
void setMass (float m)
Physics::SimulationType getSimulationType () const
void setSimulationType (Physics::SimulationType s)
Eigen::Matrix3f getInertiaMatrix ()
void setInertiaMatrix (const Eigen::Matrix3f &im)
SceneObject::Physics getPhysics ()
std::vector< std::string > getIgnoredCollisionModels ()
template<typename T >
boost::shared_ptr< T > getVisualization (SceneObject::VisualizationType visuType=SceneObject::Full)
void highlight (VisualizationPtr visualization, bool enable)
SceneObjectPtr clone (const std::string &name, CollisionCheckerPtr colChecker=CollisionCheckerPtr(), float scaling=1.0f) const
virtual bool attachChild (SceneObjectPtr child)
virtual void detachChild (SceneObjectPtr child)
virtual bool hasChild (SceneObjectPtr child, bool recursive=false) const
virtual bool hasChild (const std::string &childName, bool recursive=false) const
virtual bool hasParent ()
virtual SceneObjectPtr getParent () const
virtual std::vector< SceneObjectPtrgetChildren () const
virtual bool saveModelFiles (const std::string &modelPath, bool replaceFilenames)

Protected Member Functions

 ContactSensor ()
virtual SensorPtr _clone (const RobotNodePtr newRobotNode, const VisualizationNodePtr visualizationModel, float scaling)
- Protected Member Functions inherited from VirtualRobot::Sensor
virtual void updatePose (const Eigen::Matrix4f &parentPose, bool updateChildren=true)
 Sensor ()
virtual SceneObject_clone (const std::string &, CollisionCheckerPtr=CollisionCheckerPtr(), float=1.0f) const
- Protected Member Functions inherited from VirtualRobot::SceneObject
virtual void detachedFromParent ()
 Parent detached this object. More...
virtual void attached (SceneObjectPtr parent)
 Parent attached this object. More...
std::string getFilenameReplacementVisuModel (const std::string standardExtension=".wrl")
std::string getFilenameReplacementColModel (const std::string standardExtension=".wrl")
 SceneObject ()
std::string getSceneObjectXMLString (const std::string &basePath, int tabs)
 basic data, used by Obstacle and ManipulationObject More...
virtual bool initializePhysics ()

Protected Attributes

ContactFrame frame
double timestamp
- Protected Attributes inherited from VirtualRobot::Sensor
Eigen::Matrix4f rnTransformation
RobotNodeWeakPtr robotNode
- Protected Attributes inherited from VirtualRobot::SceneObject
std::string name
bool initialized
Eigen::Matrix4f globalPose
std::vector< SceneObjectPtrchildren
SceneObjectWeakPtr parent
CollisionModelPtr collisionModel
VisualizationNodePtr visualizationModel
bool updateVisualization
bool updateCollisionModel
Physics physics
CollisionCheckerPtr collisionChecker


class Robot
class RobotIO

Additional Inherited Members

- Public Types inherited from VirtualRobot::SceneObject
enum  VisualizationType { Full, Collision, CollisionData }

Detailed Description

This ia a contact sensor that reports all contact points with other objects.

Constructor & Destructor Documentation

VirtualRobot::ContactSensor::ContactSensor ( RobotNodeWeakPtr  robotNode,
const std::string &  name 

Constructor with settings.

VirtualRobot::ContactSensor::~ContactSensor ( )
VirtualRobot::ContactSensor::ContactSensor ( )

Member Function Documentation

SensorPtr VirtualRobot::ContactSensor::_clone ( const RobotNodePtr  newRobotNode,
const VisualizationNodePtr  visualizationModel,
float  scaling 

Derived classes must implement their clone method here.

Implements VirtualRobot::Sensor.

const ContactSensor::ContactFrame& VirtualRobot::ContactSensor::getContacts ( )

Returns contact frame

bool VirtualRobot::ContactSensor::hasContact ( )

Returns true of this node as contact with another object.

void VirtualRobot::ContactSensor::print ( bool  printChildren = false,
bool  printDecoration = true 
) const

Print status information.

Reimplemented from VirtualRobot::Sensor.

std::string VirtualRobot::ContactSensor::toXML ( const std::string &  modelPath,
int  tabs 

Reimplemented from VirtualRobot::Sensor.

void VirtualRobot::ContactSensor::updateSensors ( const ContactSensor::ContactFrame frame,
double  dt 

Set the new contact frame for this node.

Friends And Related Function Documentation

friend class Robot
friend class RobotIO

Field Documentation

ContactFrame VirtualRobot::ContactSensor::frame
double VirtualRobot::ContactSensor::timestamp