Base class for representing a kinematic constraint. More...
#include <kinematic_constraint.h>
Public Types  
enum  ConstraintType { UNKNOWN_CONSTRAINT, JOINT_CONSTRAINT, POSITION_CONSTRAINT, ORIENTATION_CONSTRAINT, VISIBILITY_CONSTRAINT } 
Enum for representing a constraint. More...  
Public Member Functions  
virtual void  clear ()=0 
Clear the stored constraint. More...  
virtual ConstraintEvaluationResult  decide (const robot_state::RobotState &state, bool verbose=false) const =0 
Decide whether the constraint is satisfied in the indicated state. More...  
virtual bool  enabled () const =0 
This function returns true if this constraint is configured and able to decide whether states do meet the constraint or not. If this function returns false it means that decide() will always return true – there is no constraint to be checked. More...  
virtual bool  equal (const KinematicConstraint &other, double margin) const =0 
Check if two constraints are the same. This means that the types are the same, the subject of the constraint is the same, and all values associated with the constraint are within a margin. The other constraint must also be enabled. More...  
double  getConstraintWeight () const 
The weight of a constraint is a multiplicative factor associated to the distance computed by the decide() function. More...  
const robot_model::RobotModelConstPtr &  getRobotModel () const 
ConstraintType  getType () const 
Get the type of constraint. More...  
KinematicConstraint (const robot_model::RobotModelConstPtr &model)  
Constructor. More...  
virtual void  print (std::ostream &=std::cout) const 
Print the constraint data. More...  
virtual  ~KinematicConstraint () 
Protected Attributes  
double  constraint_weight_ 
The weight of a constraint is a multiplicative factor associated to the distance computed by the decide() function. More...  
robot_model::RobotModelConstPtr  robot_model_ 
The kinematic model associated with this constraint. More...  
ConstraintType  type_ 
The type of the constraint. More...  
Base class for representing a kinematic constraint.
Definition at line 78 of file kinematic_constraint.h.
Enum for representing a constraint.
Enumerator  

UNKNOWN_CONSTRAINT  
JOINT_CONSTRAINT  
POSITION_CONSTRAINT  
ORIENTATION_CONSTRAINT  
VISIBILITY_CONSTRAINT 
Definition at line 82 of file kinematic_constraint.h.
kinematic_constraints::KinematicConstraint::KinematicConstraint  (  const robot_model::RobotModelConstPtr &  model  ) 
Constructor.
[in]  model  The kinematic model used for constraint evaluation 
Definition at line 113 of file kinematic_constraint.cpp.

virtualdefault 

pure virtual 
Clear the stored constraint.
Implemented in kinematic_constraints::VisibilityConstraint, kinematic_constraints::PositionConstraint, kinematic_constraints::OrientationConstraint, and kinematic_constraints::JointConstraint.

pure virtual 
Decide whether the constraint is satisfied in the indicated state.
[in]  state  The kinematic state used for evaluation 
[in]  verbose  Whether or not to print output 
Implemented in kinematic_constraints::VisibilityConstraint, kinematic_constraints::PositionConstraint, kinematic_constraints::OrientationConstraint, and kinematic_constraints::JointConstraint.

pure virtual 
This function returns true if this constraint is configured and able to decide whether states do meet the constraint or not. If this function returns false it means that decide() will always return true – there is no constraint to be checked.
Implemented in kinematic_constraints::VisibilityConstraint, kinematic_constraints::PositionConstraint, kinematic_constraints::OrientationConstraint, and kinematic_constraints::JointConstraint.

pure virtual 
Check if two constraints are the same. This means that the types are the same, the subject of the constraint is the same, and all values associated with the constraint are within a margin. The other constraint must also be enabled.
[in]  other  The other constraint to test 
[in]  margin  The margin to apply to all values associated with constraint 
Implemented in kinematic_constraints::VisibilityConstraint, kinematic_constraints::PositionConstraint, kinematic_constraints::OrientationConstraint, and kinematic_constraints::JointConstraint.

inline 
The weight of a constraint is a multiplicative factor associated to the distance computed by the decide() function.
Definition at line 159 of file kinematic_constraint.h.

inline 
Definition at line 170 of file kinematic_constraint.h.

inline 
Get the type of constraint.
Definition at line 138 of file kinematic_constraint.h.

inlinevirtual 
Print the constraint data.
[in]  out  The file descriptor for printing 
Reimplemented in kinematic_constraints::VisibilityConstraint, kinematic_constraints::PositionConstraint, kinematic_constraints::OrientationConstraint, and kinematic_constraints::JointConstraint.
Definition at line 148 of file kinematic_constraint.h.

protected 
The weight of a constraint is a multiplicative factor associated to the distance computed by the decide() function.
Definition at line 178 of file kinematic_constraint.h.

protected 
The kinematic model associated with this constraint.
Definition at line 177 of file kinematic_constraint.h.

protected 
The type of the constraint.
Definition at line 176 of file kinematic_constraint.h.