5 #ifndef CHOREO_DESCARTES_CAPSULATED_LADDER_TREE_H 6 #define CHOREO_DESCARTES_CAPSULATED_LADDER_TREE_H 37 assert(v->
dof_ == this->dof_);
40 const auto dof = this->
dof_;
41 double cost = std::numeric_limits<double>::max();
45 for(
size_t i=0; i < n_prev_end; i++)
47 const auto prev_end_index = i * dof;
49 for (
size_t j=0; j < n_this_start; j++)
51 const auto this_start_index = j * dof;
53 std::vector<double> delta_buffer;
57 for (
size_t k = 0; k < dof; k++)
60 - this->start_joint_data_[this_start_index + k]));
66 for (
size_t k = 0; k < dof; k++)
68 double axis_weight = 1.0;
75 delta_buffer.push_back(axis_weight *
77 - this->start_joint_data_[this_start_index + k]));
81 double tmp_cost = std::accumulate(delta_buffer.begin(), delta_buffer.end(), 0.0);
111 while(
NULL != ptr_prev_v)
175 #endif //DESCARTES_CAPSULATED_LADDER_TREE_H std::vector< planning_scene::PlanningScenePtr > planning_scene_
static const double EXTERNAL_AXIS_PENALIZE_COST
std::vector< CapVert * > ptr_cap_verts_
std::vector< double > end_joint_data_
CapVert * getParentVertPtr() const
std::vector< std::vector< Eigen::Matrix3d > > orientations_
std::vector< std::vector< Eigen::Vector3d > > path_pts_
std::vector< int > sub_segment_ids_
CapVert * ptr_prev_cap_vert_
std::vector< double > start_joint_data_
std::vector< planning_scene::PlanningScenePtr > planning_scene_completed_
void setParentVertPtr(CapVert *ptr_v)
std::vector< Eigen::Matrix3d > orientation_
CapVert(const double dof)
static const double ORIENTATION_PREFERENCE_WEIGHT
double distance(CapVert *v) const