hpp-rbprm  4.10.0
Implementation of RB-PRM planner using hpp.
time-dependant.hh
Go to the documentation of this file.
1 // This file is part of hpp-wholebody-step.
6 // hpp-wholebody-step-planner is free software: you can redistribute it
7 // and/or modify it under the terms of the GNU Lesser General Public
8 // License as published by the Free Software Foundation, either version
9 // 3 of the License, or (at your option) any later version.
10 //
11 // hpp-wholebody-step-planner is distributed in the hope that it will be
12 // useful, but WITHOUT ANY WARRANTY; without even the implied warranty
13 // of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 // General Lesser Public License for more details. You should have
15 // received a copy of the GNU Lesser General Public License along with
16 // hpp-wholebody-step-planner. If not, see
17 // <http://www.gnu.org/licenses/>.
18 
19 #ifndef PP_RBPRM_TIME_DEPENDANT_HH
20 # define PP_RBPRM_TIME_DEPENDANT_HH
21 
22 # include <hpp/rbprm/config.hh>
23 # include <hpp/constraints/implicit.hh>
24 # include <vector>
25 
26 namespace hpp {
27 namespace rbprm {
28 namespace interpolation {
29 
35  virtual void operator() (constraints::ImplicitPtr_t eq, const constraints::value_type& input, pinocchio::ConfigurationOut_t conf)
36  const = 0;
37  };
38  typedef boost::shared_ptr <const RightHandSideFunctor> RightHandSideFunctorPtr_t;
39 
51  {
54  void operator() (const constraints::value_type s, pinocchio::ConfigurationOut_t conf) const
55  {
56  (*rhsFunc_) (eq_, s, conf);
57  }
58 
62  TimeDependant (const constraints::ImplicitPtr_t& eq,
63  const RightHandSideFunctorPtr_t rhs):
64  eq_ (eq), rhsFunc_ (rhs)
65  {}
66 
67  TimeDependant (const TimeDependant& other) :
68  eq_ (other.eq_), rhsFunc_ (other.rhsFunc_)
69  {}
70 
71  constraints::ImplicitPtr_t eq_;
73  }; // class TimeDependant
74 
75  typedef std::vector <TimeDependant> T_TimeDependant;
76  typedef T_TimeDependant::const_iterator CIT_TimeDependant;
77  } // namespace interpolation
78  } // namespace rbprm
79 } // namespace hpp
80 #endif // PP_RBPRM_TIME_DEPENDANT_HH
hpp::rbprm::interpolation::TimeDependant::operator()
void operator()(const constraints::value_type s, pinocchio::ConfigurationOut_t conf) const
Definition: time-dependant.hh:54
hpp::rbprm::interpolation::RightHandSideFunctorPtr_t
boost::shared_ptr< const RightHandSideFunctor > RightHandSideFunctorPtr_t
Definition: time-dependant.hh:38
hpp::rbprm::interpolation::TimeDependant
Definition: time-dependant.hh:50
hpp::rbprm::interpolation::T_TimeDependant
std::vector< TimeDependant > T_TimeDependant
Definition: time-dependant.hh:75
hpp::rbprm::interpolation::TimeDependant::TimeDependant
TimeDependant(const TimeDependant &other)
Definition: time-dependant.hh:67
hpp::rbprm::interpolation::CIT_TimeDependant
T_TimeDependant::const_iterator CIT_TimeDependant
Definition: time-dependant.hh:76
hpp::rbprm::interpolation::RightHandSideFunctor
Time varying right hand side of constraint.
Definition: time-dependant.hh:31
hpp::rbprm::interpolation::TimeDependant::rhsFunc_
RightHandSideFunctorPtr_t rhsFunc_
Definition: time-dependant.hh:72
hpp::rbprm::interpolation::TimeDependant::eq_
constraints::ImplicitPtr_t eq_
Definition: time-dependant.hh:71
hpp
Definition: algorithm.hh:27
hpp::rbprm::interpolation::RightHandSideFunctor::operator()
virtual void operator()(constraints::ImplicitPtr_t eq, const constraints::value_type &input, pinocchio::ConfigurationOut_t conf) const =0
hpp::rbprm::interpolation::TimeDependant::TimeDependant
TimeDependant(const constraints::ImplicitPtr_t &eq, const RightHandSideFunctorPtr_t rhs)
Definition: time-dependant.hh:62
config.hh