30 #ifndef HPP_MANIPULATION_STEERING_METHOD_CROSS_STATE_OPTIMIZATION_HH
31 #define HPP_MANIPULATION_STEERING_METHOD_CROSS_STATE_OPTIMIZATION_HH
33 #include <hpp/core/config-projector.hh>
34 #include <hpp/core/steering-method.hh>
42 namespace manipulation {
43 namespace steeringMethod {
101 struct OptimizationData;
109 template <
typename T>
118 gatherGraphConstraints();
123 constraints_(other.constraints_),
124 index_(other.index_),
125 sameRightHandSide_(other.sameRightHandSide_),
131 void init(CrossStateOptimizationWkPtr_t weak) {
137 typedef constraints::solver::BySubstitution Solver_t;
138 struct GraphSearchData;
141 void gatherGraphConstraints();
145 bool findTransitions(GraphSearchData& data)
const;
149 const std::size_t& i)
const;
152 bool buildOptimizationProblem(OptimizationData& d,
156 bool solveOptimizationProblem(OptimizationData& d)
const;
158 bool checkConstantRightHandSide(OptimizationData& d,
size_type index)
const;
160 core::PathVectorPtr_t buildPath(OptimizationData& d,
163 bool contains(
const Solver_t& solver,
const ImplicitPtr_t& c)
const;
168 std::map<std::string, std::size_t> index_;
172 std::map<ImplicitPtr_t, ImplicitPtr_t> sameRightHandSide_;
175 CrossStateOptimizationWkPtr_t weak_;
179 template <
typename T>
183 gsm->innerSteeringMethod(T::create(problem));
void init(SteeringMethodWkPtr_t weak)
Definition: graph.hh:60
Definition: cross-state-optimization.hh:99
static CrossStateOptimizationPtr_t create(const ProblemConstPtr_t &problem)
core::PathPtr_t impl_compute(ConfigurationIn_t q1, ConfigurationIn_t q2) const
void init(CrossStateOptimizationWkPtr_t weak)
Definition: cross-state-optimization.hh:131
core::SteeringMethodPtr_t copy() const
static CrossStateOptimizationPtr_t create(const core::ProblemConstPtr_t &problem)
CrossStateOptimization(const ProblemConstPtr_t &problem)
Definition: cross-state-optimization.hh:116
CrossStateOptimization(const CrossStateOptimization &other)
Definition: cross-state-optimization.hh:121
#define HPP_MANIPULATION_DLLAPI
Definition: config.hh:88
std::vector< EdgePtr_t > Edges_t
Definition: fwd.hh:57
shared_ptr< CrossStateOptimization > CrossStateOptimizationPtr_t
Definition: fwd.hh:43
core::NumericalConstraints_t NumericalConstraints_t
Definition: fwd.hh:143
shared_ptr< const Problem > ProblemConstPtr_t
Definition: fwd.hh:66
constraints::ImplicitPtr_t ImplicitPtr_t
Definition: fwd.hh:131
core::size_type size_type
Definition: fwd.hh:90
pinocchio::ConfigurationIn_t ConfigurationIn_t
Definition: fwd.hh:49
shared_ptr< SteeringMethod > SteeringMethodPtr_t
Definition: fwd.hh:112