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>
40 namespace 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
const DifferentiableFunctionPtr_t & functionPtr() const
Return a reference to function .
Definition: implicit.hh:235
void rightHandSideFromConfig(ConfigurationIn_t config, LiegroupElementRef rhs)
virtual std::pair< JointConstPtr_t, JointConstPtr_t > doesConstrainRelPoseBetween(DeviceConstPtr_t robot) const
void setInactiveRowsToZero(vectorOut_t error) const
virtual ~Implicit()
Definition: implicit.hh:148
void rightHandSideFunction(const DifferentiableFunctionPtr_t &rhsF)
const ComparisonTypes_t & comparisonType() const
Return the ComparisonType.
virtual bool isEqual(const Implicit &other, bool swapAndTest) const
Implicit & operator=(const Implicit &other)
Operator assignation.
Definition: implicit.hh:124
bool operator==(const Implicit &other) const
Operator equality.
virtual ImplicitPtr_t copy() const
Copy object and return shared pointer to copy.
const DifferentiableFunctionPtr_t & rightHandSideFunction() const
Definition: implicit.hh:198
const Eigen::RowBlockIndices & equalityIndices() const
Get indices of constraint coordinates that are equality.
Definition: implicit.hh:222
Implicit(const Implicit &other)
Copy constructor.
size_type parameterSize() const
void comparisonType(const ComparisonTypes_t &comp)
Set the comparison type.
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 segments_t & activeRows() const
Definition: implicit.hh:216
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