19 #ifndef HPP_RBPRM_TIMECONSTRAINT_PATH_HH 20 # define HPP_RBPRM_TIMECONSTRAINT_PATH_HH 22 # include <hpp/core/fwd.hh> 23 # include <hpp/core/config.hh> 24 # include <hpp/core/path.hh> 29 namespace interpolation {
31 typedef boost::shared_ptr <TimeConstraintPath>
54 core::ConfigurationIn_t init,
55 core::ConfigurationIn_t end,
56 core::value_type length,
57 const std::size_t pathDofRank,
73 core::ConfigurationIn_t init,
74 core::ConfigurationIn_t end,
75 core::value_type length,
76 core::ConstraintSetPtr_t constraints,
77 const std::size_t pathDofRank,
81 length, constraints, pathDofRank,tds);
116 virtual core::PathPtr_t
copy ()
const 118 return createCopy (weak_.lock ());
125 virtual core::PathPtr_t
copy (
const core::ConstraintSetPtr_t& constraints)
const 127 return createCopy (weak_.lock (), constraints);
135 virtual core::PathPtr_t extract (
const core::interval_t& subInterval)
const 136 throw (core::projection_error);
144 assert (initial.size () == initial_.size ());
145 pinocchio::value_type dof = initial_[pathDofRank_];
147 initial_[pathDofRank_] = dof;
156 assert (end.size () == end_.size ());
157 pinocchio::value_type dof = end_[pathDofRank_];
159 end_[pathDofRank_] = dof;
163 core::DevicePtr_t device ()
const;
172 core::Configuration_t
end ()
const 177 virtual void checkPath ()
const throw (core::projection_error);
180 virtual std::ostream&
print (std::ostream &os)
const 182 os <<
"TimeConstraintPath:" << std::endl;
183 os <<
"interval: [ " << timeRange ().first <<
", " 184 << timeRange ().second <<
" ]" << std::endl;
185 os <<
"initial configuration: " << initial_.transpose () << std::endl;
186 os <<
"final configuration: " << end_.transpose () << std::endl;
191 core::ConfigurationIn_t end, core::value_type length,
192 const std::size_t pathDofRank,
197 core::ConfigurationIn_t end, core::value_type length,
198 core::ConstraintSetPtr_t constraints,
const std::size_t pathDofRank,
206 const core::ConstraintSetPtr_t& constraints);
210 parent_t::init (
self);
216 parent_t::init (
self);
220 virtual bool impl_compute (core::ConfigurationOut_t result,
221 core::value_type param)
const;
224 void updateConstraints(core::ConfigurationOut_t configuration)
const;
227 core::DevicePtr_t device_;
228 core::Configuration_t initial_;
229 core::Configuration_t end_;
236 TimeConstraintPathWkPtr_t weak_;
241 #endif // HPP_RBPRM_TIMECONSTRAINT_PATH_HH 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:53
virtual ~TimeConstraintPath()
Destructor.
Definition: time-constraint-path.hh:47
void initialConfig(core::ConfigurationIn_t initial)
Definition: time-constraint-path.hh:142
Definition: time-constraint-path.hh:42
virtual void checkPath() const
Definition: algorithm.hh:27
const std::size_t pathDofRank_
Definition: time-constraint-path.hh:232
Path parent_t
Definition: time-constraint-path.hh:45
void endConfig(core::ConfigurationIn_t end)
Definition: time-constraint-path.hh:154
virtual core::PathPtr_t copy() const
Definition: time-constraint-path.hh:116
void initCopy(TimeConstraintPathPtr_t self)
Definition: time-constraint-path.hh:214
virtual core::PathPtr_t copy(const core::ConstraintSetPtr_t &constraints) const
Definition: time-constraint-path.hh:125
const T_TimeDependant tds_
Definition: time-constraint-path.hh:233
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:72
virtual std::ostream & print(std::ostream &os) const
Print path in a stream.
Definition: time-constraint-path.hh:180
void init(TimeConstraintPathPtr_t self)
Definition: time-constraint-path.hh:208
core::Configuration_t end() const
Get the final configuration.
Definition: time-constraint-path.hh:172
std::vector< TimeDependant > T_TimeDependant
Definition: time-dependant.hh:75
HPP_PREDEF_CLASS(ComTrajectory)
boost::shared_ptr< TimeConstraintPath > TimeConstraintPathPtr_t
Definition: time-constraint-path.hh:32
core::Configuration_t initial() const
Get the initial configuration.
Definition: time-constraint-path.hh:166
static TimeConstraintPathPtr_t createCopy(const TimeConstraintPathPtr_t &path)
Definition: time-constraint-path.hh:90