19 #ifndef HPP_RBPRM_POLYNOM_TRAJECTORY_HH 20 #define HPP_RBPRM_POLYNOM_TRAJECTORY_HH 22 #include <ndcurves/curve_abc.h> 24 #include <hpp/core/config.hh> 25 #include <hpp/core/fwd.hh> 26 #include <hpp/core/path.hh> 31 namespace interpolation {
34 typedef ndcurves::curve_abc<core::value_type, core::value_type,
true,
57 static PolynomTrajectoryPtr_t
create(PolynomPtr_t polynom,
58 core::value_type subSetStart = 0,
59 core::value_type subSetEnd = 1) {
62 PolynomTrajectoryPtr_t shPtr(ptr);
70 static PolynomTrajectoryPtr_t
createCopy(
const PolynomTrajectoryPtr_t& path) {
72 PolynomTrajectoryPtr_t shPtr(ptr);
82 virtual core::PathPtr_t
copy()
const {
return createCopy(weak_.lock()); }
88 virtual core::PathPtr_t extract(
const core::interval_t& subInterval)
const;
92 return polynom_->operator()(subSetStart_);
96 core::Configuration_t
end()
const {
return polynom_->operator()(subSetEnd_); }
102 virtual std::ostream&
print(std::ostream& os)
const {
103 os <<
"PolynomTrajectory:" << std::endl;
104 os <<
"interval: [ " << timeRange().first <<
", " << timeRange().second
105 <<
" ]" << std::endl;
106 os <<
"initial configuration: " << initial() << std::endl;
107 os <<
"final configuration: " << end() << std::endl;
112 core::value_type subSetEnd);
117 void init(PolynomTrajectoryPtr_t
self) {
118 parent_t::init(
self);
122 virtual bool impl_compute(core::ConfigurationOut_t result,
123 core::value_type param)
const;
125 virtual core::PathPtr_t
copy(
const core::ConstraintSetPtr_t&)
const {
throw; }
134 PolynomTrajectoryWkPtr_t weak_;
139 #endif // HPP_RBPRM_POLYNOM_TRAJECTORY_HH virtual void checkPath() const
Definition: polynom-trajectory.hh:98
Definition: polynom-trajectory.hh:47
virtual ~PolynomTrajectory()
Destructor.
Definition: polynom-trajectory.hh:51
static PolynomTrajectoryPtr_t createCopy(const PolynomTrajectoryPtr_t &path)
Definition: polynom-trajectory.hh:70
virtual core::PathPtr_t copy(const core::ConstraintSetPtr_t &) const
Definition: polynom-trajectory.hh:125
Definition: algorithm.hh:26
const core::value_type subSetEnd_
Definition: polynom-trajectory.hh:130
virtual std::ostream & print(std::ostream &os) const
Print path in a stream.
Definition: polynom-trajectory.hh:102
core::Configuration_t initial() const
Get the initial configuration.
Definition: polynom-trajectory.hh:91
const core::value_type length_
Definition: polynom-trajectory.hh:131
void init(PolynomTrajectoryPtr_t self)
Definition: polynom-trajectory.hh:117
static PolynomTrajectoryPtr_t create(PolynomPtr_t polynom, core::value_type subSetStart=0, core::value_type subSetEnd=1)
Definition: polynom-trajectory.hh:57
ndcurves::curve_abc< core::value_type, core::value_type, true, Eigen::Vector3d > Polynom
Definition: polynom-trajectory.hh:36
virtual core::PathPtr_t copy() const
Definition: polynom-trajectory.hh:82
shared_ptr< Polynom > PolynomPtr_t
Definition: polynom-trajectory.hh:37
Path parent_t
Definition: polynom-trajectory.hh:49
HPP_PREDEF_CLASS(ComTrajectory)
core::Configuration_t end() const
Get the final configuration.
Definition: polynom-trajectory.hh:96
const PolynomPtr_t polynom_
Definition: polynom-trajectory.hh:128
const core::value_type subSetStart_
Definition: polynom-trajectory.hh:129
shared_ptr< PolynomTrajectory > PolynomTrajectoryPtr_t
Definition: polynom-trajectory.hh:33