constraint-equality.hpp
Go to the documentation of this file.
1 //
2 // Copyright (c) 2017 CNRS
3 //
4 // This file is part of tsid
5 // tsid is free software: you can redistribute it
6 // and/or modify it under the terms of the GNU Lesser General Public
7 // License as published by the Free Software Foundation, either version
8 // 3 of the License, or (at your option) any later version.
9 // tsid is distributed in the hope that it will be
10 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
11 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 // General Lesser Public License for more details. You should have
13 // received a copy of the GNU Lesser General Public License along with
14 // tsid. If not, see
15 // <http://www.gnu.org/licenses/>.
16 //
17 
18 #ifndef __invdyn_math_constraint_equality_hpp__
19 #define __invdyn_math_constraint_equality_hpp__
20 
22 
23 namespace tsid
24 {
25  namespace math
26  {
27 
29  {
30  public:
31  EIGEN_MAKE_ALIGNED_OPERATOR_NEW
32 
33  ConstraintEquality(const std::string & name);
34 
35  ConstraintEquality(const std::string & name,
36  const unsigned int rows,
37  const unsigned int cols);
38 
39  ConstraintEquality(const std::string & name,
41  ConstRefVector b);
42  virtual ~ConstraintEquality() {}
43 
44  unsigned int rows() const;
45  unsigned int cols() const;
46  void resize(const unsigned int r, const unsigned int c);
47 
48  bool isEquality() const;
49  bool isInequality() const;
50  bool isBound() const;
51 
52  const Vector & vector() const;
53  const Vector & lowerBound() const;
54  const Vector & upperBound() const;
55 
56  Vector & vector();
57  Vector & lowerBound();
58  Vector & upperBound();
59 
60  bool setVector(ConstRefVector b);
63 
64  bool checkConstraint(ConstRefVector x, double tol=1e-6) const;
65 
66  protected:
68  };
69 
70  }
71 }
72 
73 #endif // ifndef __invdyn_math_constraint_equality_hpp__
tsid::math::ConstraintEquality::isInequality
bool isInequality() const
Definition: constraint-equality.cpp:60
tsid::math::ConstraintEquality::isEquality
bool isEquality() const
Definition: constraint-equality.cpp:59
tsid::math::ConstraintEquality
Definition: constraint-equality.hpp:28
tsid::math::ConstraintBase
Abstract class representing a linear equality/inequality constraint. Equality constraints are represe...
Definition: constraint-base.hpp:36
tsid::math::ConstraintEquality::cols
unsigned int cols() const
Definition: constraint-equality.cpp:48
tsid::math::Vector
Eigen::Matrix< Scalar, Eigen::Dynamic, 1 > Vector
Definition: fwd.hpp:37
tsid::math::ConstraintEquality::upperBound
const Vector & upperBound() const
Definition: constraint-equality.cpp:65
tsid::math::ConstraintBase::name
virtual const std::string & name() const
Definition: constraint-base.cpp:39
tsid::math::ConstraintEquality::~ConstraintEquality
virtual ~ConstraintEquality()
Definition: constraint-equality.hpp:42
tsid::math::ConstraintEquality::rows
unsigned int rows() const
Definition: constraint-equality.cpp:42
tsid::math::ConstraintEquality::setUpperBound
bool setUpperBound(ConstRefVector ub)
Definition: constraint-equality.cpp:73
tsid::math::ConstraintEquality::m_b
Vector m_b
Definition: constraint-equality.hpp:67
tsid::math::ConstraintEquality::lowerBound
const Vector & lowerBound() const
Definition: constraint-equality.cpp:64
constraint-base.hpp
tsid::math::ConstraintEquality::vector
const Vector & vector() const
Definition: constraint-equality.cpp:63
tsid::math::ConstraintEquality::resize
void resize(const unsigned int r, const unsigned int c)
Definition: constraint-equality.cpp:53
tsid::math::ConstRefVector
const typedef Eigen::Ref< const Vector > ConstRefVector
Definition: fwd.hpp:50
tsid::math::ConstraintEquality::isBound
bool isBound() const
Definition: constraint-equality.cpp:61
tsid
Definition: constraint-bound.hpp:26
tsid::math::ConstraintEquality::setLowerBound
bool setLowerBound(ConstRefVector lb)
Definition: constraint-equality.cpp:72
tsid::math::ConstRefMatrix
const typedef Eigen::Ref< const Matrix > ConstRefMatrix
Definition: fwd.hpp:53
tsid::math::ConstraintEquality::setVector
bool setVector(ConstRefVector b)
Definition: constraint-equality.cpp:71
tsid::math::ConstraintEquality::checkConstraint
bool checkConstraint(ConstRefVector x, double tol=1e-6) const
Definition: constraint-equality.cpp:75
tsid::math::ConstraintEquality::ConstraintEquality
EIGEN_MAKE_ALIGNED_OPERATOR_NEW ConstraintEquality(const std::string &name)
Definition: constraint-equality.cpp:22