hpp-rbprm 4.14.0
Implementation of RB-PRM planner using hpp.
Loading...
Searching...
No Matches
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/core/config-projector.hh>
23#include <hpp/core/configuration-shooter.hh>
24#include <hpp/core/path.hh>
25#include <hpp/pinocchio/device.hh>
26#include <hpp/rbprm/config.hh>
29#include <vector>
30
31namespace hpp {
32namespace rbprm {
33namespace interpolation {
35typedef shared_ptr<TimeConstraintShooter> TimeConstraintShooterPtr_t;
36
43 : public core::ConfigurationShooter {
45 public:
54 create(const core::DevicePtr_t device, const hpp::core::PathPtr_t rootPath,
55 const std::size_t pathDofRank, const T_TimeDependant& tds,
56 core::ConfigProjectorPtr_t projector, 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,
74 const hpp::core::PathPtr_t rootPath,
75 const std::size_t pathDofRank,
76 const T_TimeDependant& tds,
77 core::ConfigProjectorPtr_t projector,
78 const rbprm::T_Limb freeLimbs);
79
81
82 virtual void impl_shoot(core::Configuration_t& q) const;
83}; // class TimeConstraintShooter
85} // namespace interpolation
86} // namespace rbprm
87} // namespace hpp
88
89#endif // HPP_RBPRM_TIME_CONSTRAINT_SHOOTER_HH
Definition: time-constraint-shooter.hh:43
const std::size_t pathDofRank_
Definition: time-constraint-shooter.hh:60
T_TimeDependant tds_
Definition: time-constraint-shooter.hh:69
void init(const TimeConstraintShooterPtr_t &self)
const core::DevicePtr_t device_
Definition: time-constraint-shooter.hh:62
const rbprm::T_Limb freeLimbs_
Definition: time-constraint-shooter.hh:63
const hpp::core::PathPtr_t rootPath_
Definition: time-constraint-shooter.hh:59
core::ConfigProjectorPtr_t projector_
Definition: time-constraint-shooter.hh:70
static HPP_RBPRM_DLLAPI TimeConstraintShooterPtr_t create(const core::DevicePtr_t device, const hpp::core::PathPtr_t rootPath, const std::size_t pathDofRank, const T_TimeDependant &tds, core::ConfigProjectorPtr_t projector, const rbprm::T_Limb freeLimbs)
virtual void impl_shoot(core::Configuration_t &q) const
const std::size_t configSize_
Definition: time-constraint-shooter.hh:61
TimeConstraintShooter(const core::DevicePtr_t device, const hpp::core::PathPtr_t rootPath, const std::size_t pathDofRank, const T_TimeDependant &tds, core::ConfigProjectorPtr_t projector, const rbprm::T_Limb freeLimbs)
#define HPP_RBPRM_DLLAPI
Definition: config.hh:64
shared_ptr< TimeConstraintShooter > TimeConstraintShooterPtr_t
Definition: time-constraint-shooter.hh:35
HPP_PREDEF_CLASS(ComTrajectory)
std::vector< TimeDependant > T_TimeDependant
Definition: time-dependant.hh:73
std::map< std::string, const rbprm::RbPrmLimbPtr_t > T_Limb
Definition: rbprm-limb.hh:43
Definition: algorithm.hh:26