19 #ifndef HPP_CONSTRAINTS_IMPLICIT_CONSTRAINT_SET_HH 20 # define HPP_CONSTRAINTS_IMPLICIT_CONSTRAINT_SET_HH 27 namespace constraints {
60 functions->add (constraint->functionPtr ());
61 constraints_.push_back(constraint);
64 for (std::size_t i = 0; i < comp.size(); ++i) {
67 inequalityIndices_.push_back (comparison_.size());
71 equalityIndices_.addRow(comparison_.size(), 1);
73 comparison_.push_back (comp[i]);
75 equalityIndices_.updateRows<
true,
true,
true>();
81 return inequalityIndices_;
86 return equalityIndices_;
97 const Implicits_t& constraints = other->constraints();
98 for (Implicits_t::const_iterator constraint = constraints.begin();
99 constraint != constraints.end(); ++constraint)
105 std::ostream&
print (std::ostream& os)
const 107 function_->print (os);
130 for (Implicits_t::const_iterator constraint = constraints.begin();
131 constraint != constraints.end(); ++constraint)
136 Implicits_t constraints_;
138 std::vector<std::size_t> inequalityIndices_;
147 #endif // HPP_CONSTRAINTS_IMPLICIT_CONSTRAINT_SET_HH std::vector< ImplicitPtr_t > Implicits_t
Definition: implicit-constraint-set.hh:38
Definition: implicit-constraint-set.hh:34
ImplicitConstraintSet(const std::string &name)
Definition: implicit-constraint-set.hh:114
void merge(const ImplicitConstraintSetPtr_t &other)
The output columns selection of other is not taken into account.
Definition: implicit-constraint-set.hh:95
Definition: active-set-differentiable-function.hh:24
ImplicitConstraintSet(const ImplicitConstraintSet &o)
Definition: implicit-constraint-set.hh:125
const Eigen::RowBlockIndices & equalityIndices() const
Get indices of constraint coordinates that are equality.
Definition: implicit-constraint-set.hh:84
Definition: differentiable-function-set.hh:33
const Implicits_t & constraints() const
Get constraints.
Definition: implicit-constraint-set.hh:89
ImplicitConstraintSet()
Definition: implicit-constraint-set.hh:120
std::vector< ComparisonType > ComparisonTypes_t
Definition: fwd.hh:176
assert(d.lhs()._blocks()==d.rhs()._blocks())
boost::shared_ptr< ImplicitConstraintSet > ImplicitConstraintSetPtr_t
Definition: fwd.hh:168
static ImplicitConstraintSetPtr_t create(const std::string &name)
Definition: implicit-constraint-set.hh:43
std::ostream & print(std::ostream &os) const
Definition: implicit-constraint-set.hh:105
virtual ~ImplicitConstraintSet()
Definition: implicit-constraint-set.hh:49
void add(const ImplicitPtr_t &constraint)
Definition: implicit-constraint-set.hh:54
#define HPP_CONSTRAINTS_DLLAPI
Definition: config.hh:64
const std::vector< std::size_t > & inequalityIndices() const
Get indices of constraint coordinates that are inequality.
Definition: implicit-constraint-set.hh:79
Definition: implicit.hh:99
boost::shared_ptr< Implicit > ImplicitPtr_t
Definition: fwd.hh:163
boost::shared_ptr< DifferentiableFunctionSet > DifferentiableFunctionSetPtr_t
Definition: fwd.hh:103