hpp-rbprm  4.10.0
Implementation of RB-PRM planner using hpp.
time-constraint-shooter.hh
Go to the documentation of this file.
1 //
2 // Copyright (c) 2014 CNRS
3 // Authors: Steve Tonneau (steve.tonneau@laas.fr)
4 //
5 // This file is part of hpp-rbprm.
6 // hpp-rbprm 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-rbprm 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-core If not, see
17 // <http://www.gnu.org/licenses/>.
18 
19 #ifndef HPP_RBPRM_TIME_CONSTRAINT_SHOOTER_HH
20 # define HPP_RBPRM_TIME_CONSTRAINT_SHOOTER_HH
21 
22 # include <hpp/rbprm/config.hh>
25 # include <hpp/core/config-projector.hh>
26 # include <hpp/core/configuration-shooter.hh>
27 # include <hpp/core/path.hh>
28 # include <hpp/pinocchio/device.hh>
29 
30 # include <vector>
31 
32 
33 namespace hpp {
34  namespace rbprm {
35  namespace interpolation {
36  HPP_PREDEF_CLASS (TimeConstraintShooter);
37  typedef boost::shared_ptr <TimeConstraintShooter>
39 
45  class HPP_RBPRM_DLLAPI TimeConstraintShooter : public core::ConfigurationShooter{
47  public:
54  static HPP_RBPRM_DLLAPI TimeConstraintShooterPtr_t create ( const core::DevicePtr_t device,
55  const hpp::core::PathPtr_t rootPath,
56  const std::size_t pathDofRank,
57  const T_TimeDependant& tds,
58  core::ConfigProjectorPtr_t projector,
59  const rbprm::T_Limb freeLimbs);
60 
61  public:
62  const hpp::core::PathPtr_t rootPath_;
63  const std::size_t pathDofRank_;
64  const std::size_t configSize_;
65  const core::DevicePtr_t device_;
67 
68  private:
69  TimeConstraintShooterWkPtr_t weak_;
70 
71  public:
73  core::ConfigProjectorPtr_t projector_;
74 
75 
76  protected:
77  TimeConstraintShooter ( const core::DevicePtr_t device,
78  const hpp::core::PathPtr_t rootPath,
79  const std::size_t pathDofRank,
80  const T_TimeDependant& tds,
81  core::ConfigProjectorPtr_t projector,
82  const rbprm::T_Limb freeLimbs);
83 
84  void init (const TimeConstraintShooterPtr_t& self);
85 
86  virtual void impl_shoot (core::Configuration_t& q) const;
87  }; // class TimeConstraintShooter
89  } // namespace interpolation
90  } // namespace rbprm
91 } // namespace hpp
92 
93 #endif // HPP_RBPRM_TIME_CONSTRAINT_SHOOTER_HH
hpp::rbprm::interpolation::TimeConstraintShooter
Definition: time-constraint-shooter.hh:45
rbprm-fullbody.hh
hpp::rbprm::interpolation::TimeConstraintShooter::projector_
core::ConfigProjectorPtr_t projector_
Definition: time-constraint-shooter.hh:73
hpp::rbprm::interpolation::T_TimeDependant
std::vector< TimeDependant > T_TimeDependant
Definition: time-dependant.hh:75
hpp::rbprm::interpolation::TimeConstraintShooter::rootPath_
const hpp::core::PathPtr_t rootPath_
Definition: time-constraint-shooter.hh:62
hpp::rbprm::interpolation::TimeConstraintShooter::tds_
T_TimeDependant tds_
Definition: time-constraint-shooter.hh:72
time-dependant.hh
hpp::rbprm::T_Limb
std::map< std::string, const rbprm::RbPrmLimbPtr_t > T_Limb
Definition: rbprm-limb.hh:45
hpp
Definition: algorithm.hh:27
hpp::rbprm::interpolation::TimeConstraintShooter::device_
const core::DevicePtr_t device_
Definition: time-constraint-shooter.hh:65
hpp::rbprm::interpolation::TimeConstraintShooter::pathDofRank_
const std::size_t pathDofRank_
Definition: time-constraint-shooter.hh:63
hpp::rbprm::interpolation::TimeConstraintShooter::configSize_
const std::size_t configSize_
Definition: time-constraint-shooter.hh:64
hpp::rbprm::interpolation::TimeConstraintShooterPtr_t
boost::shared_ptr< TimeConstraintShooter > TimeConstraintShooterPtr_t
Definition: time-constraint-shooter.hh:38
hpp::rbprm::interpolation::TimeConstraintShooter::freeLimbs_
const rbprm::T_Limb freeLimbs_
Definition: time-constraint-shooter.hh:66
config.hh
hpp::rbprm::interpolation::HPP_PREDEF_CLASS
HPP_PREDEF_CLASS(ComTrajectory)
HPP_RBPRM_DLLAPI
#define HPP_RBPRM_DLLAPI
Definition: config.hh:64