Class ConstraintIntersection

Inheritance Relationships

Base Type

Class Documentation

class ConstraintIntersection : public ompl::base::Constraint

Definition of a constraint composed of multiple constraints that all must be satisfied simultaneously. This class stacks the constraint functions together.

Public Functions

inline ConstraintIntersection(const unsigned int ambientDim, std::vector<ConstraintPtr> constraints)

Constructor. If constraints is empty assume it will be filled later.

inline ConstraintIntersection(const unsigned int ambientDim, std::initializer_list<ConstraintPtr> constraints)

Constructor. If constraints is empty assume it will be filled later.

inline virtual void function(const Eigen::Ref<const Eigen::VectorXd> &x, Eigen::Ref<Eigen::VectorXd> out) const override

Compute the constraint function at x. Result is returned in out, which should be allocated to size coDim.

inline virtual void jacobian(const Eigen::Ref<const Eigen::VectorXd> &x, Eigen::Ref<Eigen::MatrixXd> out) const override

Compute the Jacobian of the constraint function at x. Result is returned in out, which should be allocated to size coDim by ambientDim. Default implementation performs the differentiation numerically with a seven-point central difference stencil. It is best to provide an analytic formulation.

Protected Functions

inline void addConstraint(const ConstraintPtr &constraint)

Protected Attributes

std::vector<ConstraintPtr> constraints_

Constituent constraints.