19 #ifndef HPP_CONSTRAINTS_DIFFERENTIABLE_FUNCTION_SET_HH 20 # define HPP_CONSTRAINTS_DIFFERENTIABLE_FUNCTION_SET_HH 26 namespace constraints {
61 if (functions_.empty()) {
62 inputSize_ = func->inputSize();
63 inputDerivativeSize_ = func->inputDerivativeSize();
64 activeParameters_ = func->activeParameters();
65 activeDerivativeParameters_ = func->activeDerivativeParameters();
67 assert (inputSize_ == func->inputSize());
68 assert (inputDerivativeSize_ == func->inputDerivativeSize());
71 activeParameters_ || func->activeParameters();
72 activeDerivativeParameters_ =
73 activeDerivativeParameters_ || func->activeDerivativeParameters();
75 functions_.push_back(func);
77 *outputSpace_ *= func->outputSpace ();
83 const Functions_t& functions = other->functions();
84 for (Functions_t::const_iterator _f = functions.begin();
85 _f != functions.end(); ++_f)
91 std::ostream& print (std::ostream& os)
const;
110 for (Functions_t::const_iterator _f = functions_.begin();
111 _f != functions_.end(); ++_f) {
115 result_ [i].vector ();
122 for (Functions_t::const_iterator _f = functions_.begin();
123 _f != functions_.end(); ++_f) {
130 Functions_t functions_;
131 mutable std::vector <LiegroupElement> result_;
137 #endif // HPP_CONSTRAINTS_DIFFERENTIABLE_FUNCTION_SET_HH const vector_type & vector() const
DifferentiableFunctionSet()
Definition: differentiable-function-set.hh:100
size_type outputDerivativeSize() const
Get dimension of output derivative vector.
Definition: differentiable-function.hh:125
virtual void impl_compute(LiegroupElementRef result, vectorIn_t argument) const =0
User implementation of function evaluation.
size_type outputSize() const
Get dimension of output vector.
Definition: differentiable-function.hh:120
void impl_jacobian(matrixOut_t jacobian, ConfigurationIn_t arg) const
Definition: differentiable-function-set.hh:119
Definition: differentiable-function-set.hh:33
DifferentiableFunctionSet(const std::string &name)
Definition: differentiable-function-set.hh:96
static DifferentiableFunctionSetPtr_t create(const std::string &name)
Definition: differentiable-function-set.hh:42
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition: fwd.hh:88
assert(d.lhs()._blocks()==d.rhs()._blocks())
virtual ~DifferentiableFunctionSet()
Definition: differentiable-function-set.hh:48
Definition: differentiable-function.hh:50
boost::shared_ptr< DifferentiableFunction > DifferentiableFunctionPtr_t
Definition: fwd.hh:95
void add(const DifferentiableFunctionPtr_t &func)
Definition: differentiable-function-set.hh:59
pinocchio::size_type size_type
Definition: fwd.hh:35
Eigen::Ref< matrix_t > matrixOut_t
Definition: fwd.hh:44
virtual void impl_jacobian(matrixOut_t jacobian, vectorIn_t arg) const =0
std::vector< DifferentiableFunctionPtr_t > Functions_t
Definition: differentiable-function-set.hh:37
const Functions_t & functions() const
Get the stack of functions.
Definition: differentiable-function-set.hh:54
void impl_compute(LiegroupElementRef result, ConfigurationIn_t arg) const
Definition: differentiable-function-set.hh:105
boost::shared_ptr< DifferentiableFunctionSet > DifferentiableFunctionSetPtr_t
Definition: fwd.hh:97
void merge(const DifferentiableFunctionSetPtr_t &other)
The output columns selection of other is not taken into account.
Definition: differentiable-function-set.hh:81