30#ifndef HPP_CONSTRAINTS_DIFFERENTIABLE_FUNCTION_SET_HH
31#define HPP_CONSTRAINTS_DIFFERENTIABLE_FUNCTION_SET_HH
65 if (functions_.empty()) {
78 functions_.push_back(func);
86 for (Functions_t::const_iterator _f =
functions.begin();
93 std::ostream&
print(std::ostream& os)
const;
107 for (Functions_t::const_iterator _f = functions_.begin();
108 _f != functions_.end(); ++_f) {
120 for (Functions_t::const_iterator _f = functions_.begin();
121 _f != functions_.end(); ++_f) {
133 if (functions_ != castother.functions_)
return false;
134 if (result_.size() != castother.result_.size())
return false;
135 for (std::size_t i = 0; i < result_.size(); i++)
136 if (result_[i] != castother.result_[i])
return false;
142 Functions_t functions_;
143 mutable std::vector<LiegroupElement> result_;
void impl_jacobian(matrixOut_t jacobian, ConfigurationIn_t arg) const
Definition differentiable-function-set.hh:118
static DifferentiableFunctionSetPtr_t create(const std::string &name)
Definition differentiable-function-set.hh:52
DifferentiableFunctionSet()
Definition differentiable-function-set.hh:101
std::vector< DifferentiableFunctionPtr_t > Functions_t
Definition differentiable-function-set.hh:47
void add(const DifferentiableFunctionPtr_t &func)
Definition differentiable-function-set.hh:64
void impl_compute(LiegroupElementRef result, ConfigurationIn_t arg) const
Definition differentiable-function-set.hh:104
void merge(const DifferentiableFunctionSetPtr_t &other)
The output columns selection of other is not taken into account.
Definition differentiable-function-set.hh:84
virtual ~DifferentiableFunctionSet()
Definition differentiable-function-set.hh:56
DifferentiableFunctionSet(const std::string &name)
Definition differentiable-function-set.hh:98
const Functions_t & functions() const
Get the stack of functions.
Definition differentiable-function-set.hh:62
bool isEqual(const DifferentiableFunction &other) const
Definition differentiable-function-set.hh:128
std::ostream & print(std::ostream &os) const
Display object in a stream.
LiegroupSpacePtr_t outputSpace_
Dimension of output vector.
Definition differentiable-function.hh:237
size_type inputDerivativeSize_
Dimension of input derivative.
Definition differentiable-function.hh:235
virtual bool isEqual(const DifferentiableFunction &other) const
Definition differentiable-function.hh:223
const std::string & name() const
Get function name.
Definition differentiable-function.hh:122
size_type inputSize_
Dimension of input vector.
Definition differentiable-function.hh:233
size_type outputSize() const
Get dimension of output vector.
Definition differentiable-function.hh:116
virtual void impl_jacobian(matrixOut_t jacobian, vectorIn_t arg) const =0
DifferentiableFunction(size_type sizeInput, size_type sizeInputDerivative, size_type sizeOutput, std::string name=std::string())
Concrete class constructor should call this constructor.
size_type outputDerivativeSize() const
Get dimension of output derivative vector.
Definition differentiable-function.hh:118
virtual void impl_compute(LiegroupElementRef result, vectorIn_t argument) const =0
User implementation of function evaluation.
ArrayXb activeParameters_
Definition differentiable-function.hh:242
void jacobian(matrixOut_t jacobian, vectorIn_t argument) const
Definition differentiable-function.hh:88
ArrayXb activeDerivativeParameters_
Definition differentiable-function.hh:246
const vector_type & vector() const
#define HPP_CONSTRAINTS_DLLAPI
Definition config.hh:88
bool checkNormalized(const LiegroupElementConstBase< vector_type > &e1, const value_type &eps=PINOCCHIO_DEFAULT_QUATERNION_NORM_TOLERANCE_VALUE)
Definition active-set-differentiable-function.hh:37
pinocchio::LiegroupElement LiegroupElement
Definition fwd.hh:65
shared_ptr< DifferentiableFunction > DifferentiableFunctionPtr_t
Definition fwd.hh:114
shared_ptr< DifferentiableFunctionSet > DifferentiableFunctionSetPtr_t
Definition fwd.hh:115
pinocchio::size_type size_type
Definition fwd.hh:47
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition fwd.hh:107
Eigen::Ref< matrix_t > matrixOut_t
Definition fwd.hh:58
pinocchio::LiegroupElementRef LiegroupElementRef
Definition fwd.hh:66