29#ifndef HPP_CONSTRAINTS_IMPLICIT_HH
30#define HPP_CONSTRAINTS_IMPLICIT_HH
36#include <hpp/pinocchio/liegroup-element.hh>
37#include <hpp/util/serialization-fwd.hh>
40namespace constraints {
125 comparison_ = other.comparison_;
127 parameterSize_ = other.parameterSize_;
128 function_ = other.function_;
129 rhsFunction_ = other.rhsFunction_;
131 activeRows_ = other.activeRows_;
132 inactiveRows_ = other.inactiveRows_;
133 inequalityIndices_ = other.inequalityIndices_;
134 equalityIndices_ = other.equalityIndices_;
143 std::vector<bool> mask = std::vector<bool>());
223 return equalityIndices_;
249 virtual std::pair<JointConstPtr_t, JointConstPtr_t>
263 std::vector<bool> mask);
274 void init(
const ImplicitWkPtr_t& weak) { weak_ = weak; }
279 void computeIndices();
280 void computeActiveRows();
286 std::vector<bool> mask_;
289 std::vector<std::size_t> inequalityIndices_;
291 ImplicitWkPtr_t weak_;
Definition differentiable-function.hh:63
Definition implicit-constraint-set.hh:45
Definition implicit.hh:119
static ImplicitPtr_t create(const DifferentiableFunctionPtr_t &func, ComparisonTypes_t comp, std::vector< bool > mask=std::vector< bool >())
bool checkRightHandSide(LiegroupElementConstRef rhs) const
void rightHandSideFromConfig(ConfigurationIn_t config, LiegroupElementRef rhs)
void setInactiveRowsToZero(vectorOut_t error) const
virtual std::pair< JointConstPtr_t, JointConstPtr_t > doesConstrainRelPoseBetween(DeviceConstPtr_t robot) const
virtual ~Implicit()
Definition implicit.hh:148
DifferentiableFunction & function() const
Return a reference to function .
Definition implicit.hh:232
const DifferentiableFunctionPtr_t & rightHandSideFunction() const
Definition implicit.hh:198
void rightHandSideFunction(const DifferentiableFunctionPtr_t &rhsF)
virtual bool isEqual(const Implicit &other, bool swapAndTest) const
bool operator==(const Implicit &other) const
Operator equality.
virtual ImplicitPtr_t copy() const
Copy object and return shared pointer to copy.
Implicit(const Implicit &other)
Copy constructor.
const DifferentiableFunctionPtr_t & functionPtr() const
Return a reference to function .
Definition implicit.hh:235
size_type parameterSize() const
const segments_t & activeRows() const
Definition implicit.hh:216
const Eigen::RowBlockIndices & equalityIndices() const
Get indices of constraint coordinates that are equality.
Definition implicit.hh:222
void comparisonType(const ComparisonTypes_t &comp)
Set the comparison type.
Implicit & operator=(const Implicit &other)
Operator assignation.
Definition implicit.hh:124
vectorIn_t rightHandSideAt(const value_type &s)
size_type rightHandSideSize() const
Implicit()
Definition implicit.hh:297
Implicit(const DifferentiableFunctionPtr_t &function, ComparisonTypes_t comp, std::vector< bool > mask)
void init(const ImplicitWkPtr_t &weak)
Definition implicit.hh:274
bool checkAllRowsActive() const
Check if all rows are active (no inactive rows)
Definition implicit.hh:219
const ComparisonTypes_t & comparisonType() const
Return the ComparisonType.
static ImplicitPtr_t createCopy(const ImplicitPtr_t &other)
Create a copy and return shared pointer.
#define HPP_CONSTRAINTS_DLLAPI
Definition config.hh:88
pinocchio::LiegroupElement LiegroupElement
Definition fwd.hh:65
std::vector< ComparisonType > ComparisonTypes_t
Definition fwd.hh:180
pinocchio::DeviceConstPtr_t DeviceConstPtr_t
Definition fwd.hh:110
shared_ptr< DifferentiableFunction > DifferentiableFunctionPtr_t
Definition fwd.hh:113
shared_ptr< Implicit > ImplicitPtr_t
Definition fwd.hh:173
pinocchio::size_type size_type
Definition fwd.hh:47
pinocchio::value_type value_type
Definition fwd.hh:48
pinocchio::vectorIn_t vectorIn_t
Definition fwd.hh:60
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition fwd.hh:106
std::vector< segment_t > segments_t
Definition fwd.hh:84
pinocchio::vectorOut_t vectorOut_t
Definition fwd.hh:61
pinocchio::vector_t vector_t
Definition fwd.hh:59
pinocchio::LiegroupElementConstRef LiegroupElementConstRef
Definition fwd.hh:67
pinocchio::LiegroupElementRef LiegroupElementRef
Definition fwd.hh:66
Definition active-set-differentiable-function.hh:36