Public Member Functions | |
dpScheduleNode (dpScheduleNode *potential_parent, Joint *_last_joint, const fVec &_proc_costs, dpScheduleNode *_schedule_parent, int child_id, int _first_proc, int _last_proc, const joint_list &org_internal_joints, const p_joint_list &org_outer_joints) | |
int | FirstProc () |
Joint * | LastJoint () |
int | LastProc () |
int | ListAllInternalJoints (joint_list &all_internal) |
fVec & | ProcCosts () |
int | ScheduleDepth () |
~dpScheduleNode () | |
Protected Member Functions | |
double | calc_astar_cost (dpNode *potential_parent) |
Compute the A-star cost at the node (optional). | |
double | calc_cost () |
Compute the local cost at the node. | |
int | create_child_nodes (dpNode **&nodes) |
Create (potential) child nodes. | |
dpScheduleNode * | find_available_parent (int target_depth, int &child_id) |
dpScheduleNode * | find_available_parent_sub (dpScheduleNode *cur, int target_depth, dpNode *cur_leaf, int &child_id) |
int | is_goal () |
Check if the state is goal. | |
int | list_all_internal_joints_rev (Joint *cur, joint_list &all_internal) |
int | list_all_internal_joints_sub (Joint *cur, joint_list &all_internal) |
int | same_state (dpNode *refnode) |
Check if the node's state is the same as refnode . (to remove duplicates) | |
int | set_outer_joints (pJoint *last_pjoint, const p_joint_list &org_outer_joints, p_joint_list &new_outer_joints) |
int | split_internal_joints (Joint *_last_joint, const joint_list &org_internal_joints, joint_list &_internal_joints_0, joint_list &_internal_joints_1) |
Private Member Functions | |
double | add_to_child_side (Joint *cur, joint_list &added_joints, int *n_outer_parent_side, int *n_outer_child_side) |
double | add_to_parent_side (Joint *cur, joint_list &added_joints, int *n_outer_parent_side, int *n_outer_child_side) |
double | calc_min_subchain_cost (const p_joint_list &_outer_joints, joint_list &added_joints) |
double | calc_min_subchain_cost_sub (Joint *cur, const p_joint_list &_outer_joints, int *n_outer_parent_side, int *n_outer_child_side, joint_list &added_joints) |
double | calc_single_joint_cost (int n_dof, int n_outer) |
Private Attributes | |
int | first_proc |
joint_list | internal_joints [2] |
Joint * | last_joint |
pJoint * | last_pjoints [2] |
int | last_proc |
double | mycost |
p_joint_list | outer_joints |
fVec | proc_costs |
int | schedule_depth |
dpScheduleNode * | schedule_parent |
double | single_joint_cost |
Definition at line 35 of file schedule.cpp.
dpScheduleNode::dpScheduleNode | ( | dpScheduleNode * | potential_parent, |
Joint * | _last_joint, | ||
const fVec & | _proc_costs, | ||
dpScheduleNode * | _schedule_parent, | ||
int | child_id, | ||
int | _first_proc, | ||
int | _last_proc, | ||
const joint_list & | org_internal_joints, | ||
const p_joint_list & | org_outer_joints | ||
) | [inline] |
Definition at line 39 of file schedule.cpp.
dpScheduleNode::~dpScheduleNode | ( | ) | [inline] |
Definition at line 119 of file schedule.cpp.
double dpScheduleNode::add_to_child_side | ( | Joint * | cur, |
joint_list & | added_joints, | ||
int * | n_outer_parent_side, | ||
int * | n_outer_child_side | ||
) | [private] |
Definition at line 637 of file schedule.cpp.
double dpScheduleNode::add_to_parent_side | ( | Joint * | cur, |
joint_list & | added_joints, | ||
int * | n_outer_parent_side, | ||
int * | n_outer_child_side | ||
) | [private] |
Definition at line 655 of file schedule.cpp.
double dpScheduleNode::calc_astar_cost | ( | dpNode * | potential_parent | ) | [inline, protected, virtual] |
Compute the A-star cost at the node (optional).
Reimplemented from dpNode.
Definition at line 279 of file schedule.cpp.
double dpScheduleNode::calc_cost | ( | ) | [inline, protected, virtual] |
double dpScheduleNode::calc_min_subchain_cost | ( | const p_joint_list & | _outer_joints, |
joint_list & | added_joints | ||
) | [private] |
Definition at line 445 of file schedule.cpp.
double dpScheduleNode::calc_min_subchain_cost_sub | ( | Joint * | cur, |
const p_joint_list & | _outer_joints, | ||
int * | n_outer_parent_side, | ||
int * | n_outer_child_side, | ||
joint_list & | added_joints | ||
) | [private] |
Definition at line 527 of file schedule.cpp.
double dpScheduleNode::calc_single_joint_cost | ( | int | n_dof, |
int | n_outer | ||
) | [inline, private] |
Definition at line 356 of file schedule.cpp.
int dpScheduleNode::create_child_nodes | ( | dpNode **& | nodes | ) | [inline, protected, virtual] |
Create (potential) child nodes.
Create (potential) child nodes.
[out] | nodes | array of pointers to the child nodes |
Implements dpNode.
Definition at line 150 of file schedule.cpp.
dpScheduleNode * dpScheduleNode::find_available_parent | ( | int | target_depth, |
int & | child_id | ||
) | [protected] |
Definition at line 680 of file schedule.cpp.
dpScheduleNode * dpScheduleNode::find_available_parent_sub | ( | dpScheduleNode * | cur, |
int | target_depth, | ||
dpNode * | cur_leaf, | ||
int & | child_id | ||
) | [protected] |
Definition at line 691 of file schedule.cpp.
int dpScheduleNode::FirstProc | ( | ) | [inline] |
Definition at line 132 of file schedule.cpp.
int dpScheduleNode::is_goal | ( | ) | [inline, protected, virtual] |
Joint* dpScheduleNode::LastJoint | ( | ) | [inline] |
Definition at line 126 of file schedule.cpp.
int dpScheduleNode::LastProc | ( | ) | [inline] |
Definition at line 135 of file schedule.cpp.
int dpScheduleNode::list_all_internal_joints_rev | ( | Joint * | cur, |
joint_list & | all_internal | ||
) | [protected] |
Definition at line 409 of file schedule.cpp.
int dpScheduleNode::list_all_internal_joints_sub | ( | Joint * | cur, |
joint_list & | all_internal | ||
) | [protected] |
Definition at line 427 of file schedule.cpp.
int dpScheduleNode::ListAllInternalJoints | ( | joint_list & | all_internal | ) |
Definition at line 368 of file schedule.cpp.
fVec& dpScheduleNode::ProcCosts | ( | ) | [inline] |
Definition at line 122 of file schedule.cpp.
int dpScheduleNode::same_state | ( | dpNode * | refnode | ) | [inline, protected, virtual] |
Check if the node's state is the same as refnode
. (to remove duplicates)
Implements dpNode.
Definition at line 334 of file schedule.cpp.
int dpScheduleNode::ScheduleDepth | ( | ) | [inline] |
Definition at line 129 of file schedule.cpp.
int dpScheduleNode::set_outer_joints | ( | pJoint * | last_pjoint, |
const p_joint_list & | org_outer_joints, | ||
p_joint_list & | new_outer_joints | ||
) | [protected] |
Definition at line 875 of file schedule.cpp.
int dpScheduleNode::split_internal_joints | ( | Joint * | _last_joint, |
const joint_list & | org_internal_joints, | ||
joint_list & | _internal_joints_0, | ||
joint_list & | _internal_joints_1 | ||
) | [protected] |
Definition at line 847 of file schedule.cpp.
int dpScheduleNode::first_proc [private] |
Definition at line 354 of file schedule.cpp.
joint_list dpScheduleNode::internal_joints[2] [private] |
Definition at line 349 of file schedule.cpp.
Joint* dpScheduleNode::last_joint [private] |
Definition at line 343 of file schedule.cpp.
pJoint* dpScheduleNode::last_pjoints[2] [private] |
Definition at line 344 of file schedule.cpp.
int dpScheduleNode::last_proc [private] |
Definition at line 354 of file schedule.cpp.
double dpScheduleNode::mycost [private] |
Definition at line 352 of file schedule.cpp.
p_joint_list dpScheduleNode::outer_joints [private] |
Definition at line 348 of file schedule.cpp.
fVec dpScheduleNode::proc_costs [private] |
Definition at line 353 of file schedule.cpp.
int dpScheduleNode::schedule_depth [private] |
Definition at line 346 of file schedule.cpp.
dpScheduleNode* dpScheduleNode::schedule_parent [private] |
Definition at line 347 of file schedule.cpp.
double dpScheduleNode::single_joint_cost [private] |
Definition at line 351 of file schedule.cpp.