hpp-rbprm  4.10.1
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 namespace hpp {
33 namespace rbprm {
34 namespace interpolation {
35 HPP_PREDEF_CLASS(TimeConstraintShooter);
36 typedef boost::shared_ptr<TimeConstraintShooter> TimeConstraintShooterPtr_t;
37 
43 class HPP_RBPRM_DLLAPI TimeConstraintShooter : public core::ConfigurationShooter {
45  public:
52  static HPP_RBPRM_DLLAPI TimeConstraintShooterPtr_t create(const core::DevicePtr_t device,
53  const hpp::core::PathPtr_t rootPath,
54  const std::size_t pathDofRank, const T_TimeDependant& tds,
55  core::ConfigProjectorPtr_t projector,
56  const rbprm::T_Limb freeLimbs);
57 
58  public:
59  const hpp::core::PathPtr_t rootPath_;
60  const std::size_t pathDofRank_;
61  const std::size_t configSize_;
62  const core::DevicePtr_t device_;
64 
65  private:
66  TimeConstraintShooterWkPtr_t weak_;
67 
68  public:
70  core::ConfigProjectorPtr_t projector_;
71 
72  protected:
73  TimeConstraintShooter(const core::DevicePtr_t device, const hpp::core::PathPtr_t rootPath,
74  const std::size_t pathDofRank, const T_TimeDependant& tds,
75  core::ConfigProjectorPtr_t projector, const rbprm::T_Limb freeLimbs);
76 
77  void init(const TimeConstraintShooterPtr_t& self);
78 
79  virtual void impl_shoot(core::Configuration_t& q) const;
80 }; // class TimeConstraintShooter
82 } // namespace interpolation
83 } // namespace rbprm
84 } // namespace hpp
85 
86 #endif // HPP_RBPRM_TIME_CONSTRAINT_SHOOTER_HH
hpp::rbprm::interpolation::TimeConstraintShooter
Definition: time-constraint-shooter.hh:43
rbprm-fullbody.hh
hpp::rbprm::interpolation::TimeConstraintShooter::projector_
core::ConfigProjectorPtr_t projector_
Definition: time-constraint-shooter.hh:70
hpp::rbprm::interpolation::T_TimeDependant
std::vector< TimeDependant > T_TimeDependant
Definition: time-dependant.hh:68
hpp::rbprm::interpolation::TimeConstraintShooter::rootPath_
const hpp::core::PathPtr_t rootPath_
Definition: time-constraint-shooter.hh:59
hpp::rbprm::interpolation::TimeConstraintShooter::tds_
T_TimeDependant tds_
Definition: time-constraint-shooter.hh:69
time-dependant.hh
hpp::rbprm::T_Limb
std::map< std::string, const rbprm::RbPrmLimbPtr_t > T_Limb
Definition: rbprm-limb.hh:43
hpp
Definition: algorithm.hh:27
hpp::rbprm::interpolation::TimeConstraintShooter::device_
const core::DevicePtr_t device_
Definition: time-constraint-shooter.hh:62
hpp::rbprm::interpolation::TimeConstraintShooter::pathDofRank_
const std::size_t pathDofRank_
Definition: time-constraint-shooter.hh:60
hpp::rbprm::interpolation::TimeConstraintShooter::configSize_
const std::size_t configSize_
Definition: time-constraint-shooter.hh:61
hpp::rbprm::interpolation::TimeConstraintShooterPtr_t
boost::shared_ptr< TimeConstraintShooter > TimeConstraintShooterPtr_t
Definition: time-constraint-shooter.hh:36
hpp::rbprm::interpolation::TimeConstraintShooter::freeLimbs_
const rbprm::T_Limb freeLimbs_
Definition: time-constraint-shooter.hh:63
config.hh
hpp::rbprm::interpolation::HPP_PREDEF_CLASS
HPP_PREDEF_CLASS(ComTrajectory)
HPP_RBPRM_DLLAPI
#define HPP_RBPRM_DLLAPI
Definition: config.hh:64