19 #ifndef HPP_RBPRM_TIMECONSTRAINT_PATH_HH
20 #define HPP_RBPRM_TIMECONSTRAINT_PATH_HH
22 #include <hpp/core/config.hh>
23 #include <hpp/core/fwd.hh>
24 #include <hpp/core/path.hh>
29 namespace interpolation {
52 core::ConfigurationIn_t init,
53 core::ConfigurationIn_t end,
54 core::value_type length,
55 const std::size_t pathDofRank,
71 core::ConfigurationIn_t init,
72 core::ConfigurationIn_t end,
73 core::value_type length,
74 core::ConstraintSetPtr_t constraints,
75 const std::size_t pathDofRank,
78 device, init, end, length, constraints, pathDofRank, tds);
101 const core::ConstraintSetPtr_t& constraints) {
113 virtual core::PathPtr_t
copy()
const {
return createCopy(weak_.lock()); }
120 const core::ConstraintSetPtr_t& constraints)
const {
121 return createCopy(weak_.lock(), constraints);
128 virtual core::PathPtr_t
extract(
const core::interval_t& subInterval)
const;
135 assert(initial.size() == initial_.size());
136 pinocchio::value_type dof = initial_[pathDofRank_];
138 initial_[pathDofRank_] = dof;
146 assert(end.size() == end_.size());
147 pinocchio::value_type dof = end_[pathDofRank_];
149 end_[pathDofRank_] = dof;
156 core::Configuration_t
initial()
const {
return initial_; }
159 core::Configuration_t
end()
const {
return end_; }
165 virtual std::ostream&
print(std::ostream& os)
const {
166 os <<
"TimeConstraintPath:" << std::endl;
167 os <<
"interval: [ " << timeRange().first <<
", " << timeRange().second
168 <<
" ]" << std::endl;
169 os <<
"initial configuration: " << initial_.transpose() << std::endl;
170 os <<
"final configuration: " << end_.transpose() << std::endl;
175 core::ConfigurationIn_t init, core::ConfigurationIn_t end,
176 core::value_type length,
const std::size_t pathDofRank,
181 core::ConfigurationIn_t init, core::ConfigurationIn_t end,
182 core::value_type length,
183 core::ConstraintSetPtr_t constraints,
191 const core::ConstraintSetPtr_t& constraints);
194 parent_t::init(
self);
199 parent_t::init(
self);
204 core::value_type param)
const;
207 void updateConstraints(core::ConfigurationOut_t configuration)
const;
210 core::DevicePtr_t device_;
211 core::Configuration_t initial_;
212 core::Configuration_t end_;
219 TimeConstraintPathWkPtr_t weak_;
Definition: time-constraint-path.hh:41
static TimeConstraintPathPtr_t create(const core::DevicePtr_t &device, core::ConfigurationIn_t init, core::ConfigurationIn_t end, core::value_type length, const std::size_t pathDofRank, const T_TimeDependant &tds)
Definition: time-constraint-path.hh:51
core::DevicePtr_t device() const
Return the internal robot.
const std::size_t pathDofRank_
Definition: time-constraint-path.hh:215
TimeConstraintPath(const TimeConstraintPath &path, const core::ConstraintSetPtr_t &constraints)
Copy constructor with constraints.
virtual ~TimeConstraintPath()
Destructor.
Definition: time-constraint-path.hh:45
const T_TimeDependant tds_
Definition: time-constraint-path.hh:216
static TimeConstraintPathPtr_t createCopy(const TimeConstraintPathPtr_t &path)
Definition: time-constraint-path.hh:87
static TimeConstraintPathPtr_t create(const core::DevicePtr_t &device, core::ConfigurationIn_t init, core::ConfigurationIn_t end, core::value_type length, core::ConstraintSetPtr_t constraints, const std::size_t pathDofRank, const T_TimeDependant &tds)
Definition: time-constraint-path.hh:70
void init(TimeConstraintPathPtr_t self)
Definition: time-constraint-path.hh:193
virtual core::PathPtr_t copy(const core::ConstraintSetPtr_t &constraints) const
Definition: time-constraint-path.hh:119
TimeConstraintPath(const TimeConstraintPath &path)
Copy constructor.
virtual std::ostream & print(std::ostream &os) const
Print path in a stream.
Definition: time-constraint-path.hh:165
core::Configuration_t initial() const
Get the initial configuration.
Definition: time-constraint-path.hh:156
virtual core::PathPtr_t copy() const
Definition: time-constraint-path.hh:113
virtual core::PathPtr_t extract(const core::interval_t &subInterval) const
void initialConfig(core::ConfigurationIn_t initial)
Definition: time-constraint-path.hh:134
void endConfig(core::ConfigurationIn_t end)
Definition: time-constraint-path.hh:145
Path parent_t
Definition: time-constraint-path.hh:43
virtual void checkPath() const
virtual bool impl_compute(core::ConfigurationOut_t result, core::value_type param) const
TimeConstraintPath(const core::DevicePtr_t &robot, core::ConfigurationIn_t init, core::ConfigurationIn_t end, core::value_type length, const std::size_t pathDofRank, const T_TimeDependant &tds)
Constructor.
TimeConstraintPath(const core::DevicePtr_t &robot, core::ConfigurationIn_t init, core::ConfigurationIn_t end, core::value_type length, core::ConstraintSetPtr_t constraints, const std::size_t pathDofRank, const T_TimeDependant &tds)
Constructor with constraints.
core::Configuration_t end() const
Get the final configuration.
Definition: time-constraint-path.hh:159
static TimeConstraintPathPtr_t createCopy(const TimeConstraintPathPtr_t &path, const core::ConstraintSetPtr_t &constraints)
Definition: time-constraint-path.hh:99
void initCopy(TimeConstraintPathPtr_t self)
Definition: time-constraint-path.hh:198
HPP_PREDEF_CLASS(ComTrajectory)
shared_ptr< TimeConstraintPath > TimeConstraintPathPtr_t
Definition: time-constraint-path.hh:31
std::vector< TimeDependant > T_TimeDependant
Definition: time-dependant.hh:73
Definition: algorithm.hh:26