Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | List of all members
dpScheduleNode Class Reference
Inheritance diagram for dpScheduleNode:
Inheritance graph
[legend]

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 ()
 
JointLastJoint ()
 
int LastProc ()
 
int ListAllInternalJoints (joint_list &all_internal)
 
fVecProcCosts ()
 
int ScheduleDepth ()
 
 ~dpScheduleNode ()
 
- Public Member Functions inherited from dpNode
double AstarCost ()
 
dpNodeBrother ()
 
dpNodeChild ()
 
double Cost ()
 
int Depth (dpNode *target_p=0)
 
 dpNode ()
 
dpNodeGetParent (int id)
 
int ID ()
 
dpNodeParent ()
 
dpQueueQueue ()
 
double TotalAstarCost ()
 
double TotalCost ()
 
virtual ~dpNode ()
 

Protected Member Functions

double calc_astar_cost (dpNode *potential_parent)
 Compute the A-star cost at the node (optional). More...
 
double calc_cost ()
 Compute the local cost at the node. More...
 
int create_child_nodes (dpNode **&nodes)
 Create (potential) child nodes. More...
 
dpScheduleNodefind_available_parent (int target_depth, int &child_id)
 
dpScheduleNodefind_available_parent_sub (dpScheduleNode *cur, int target_depth, dpNode *cur_leaf, int &child_id)
 
int is_goal ()
 Check if the state is goal. More...
 
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) More...
 
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)
 
- Protected Member Functions inherited from dpNode
void add_child (dpNode *n)
 
virtual void dump (ostream &ost)
 
void dump_all (ostream &ost)
 
void dump_trajectory (ostream &ost)
 
dpNodenext_breadth (dpNode *refnode)
 
dpNodenext_depth (dpNode *first_child=0)
 
int open (int _max_nodes, int _max_goals)
 
void remove ()
 
void remove_single ()
 

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]
 
Jointlast_joint
 
pJointlast_pjoints [2]
 
int last_proc
 
double mycost
 
p_joint_list outer_joints
 
fVec proc_costs
 
int schedule_depth
 
dpScheduleNodeschedule_parent
 
double single_joint_cost
 

Additional Inherited Members

- Protected Attributes inherited from dpNode
int active
 
double astar_cost
 
dpNodebrother
 
dpNodechild
 
double cost
 
int depth
 
dpMaindp_main
 
int id
 
dpNodeparent
 
dpQueuequeue
 
double total_astar_cost
 
double total_cost
 

Detailed Description

Definition at line 35 of file schedule.cpp.

Constructor & Destructor Documentation

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.

Member Function Documentation

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)
inlineprotectedvirtual

Compute the A-star cost at the node (optional).

Reimplemented from dpNode.

Definition at line 279 of file schedule.cpp.

double dpScheduleNode::calc_cost ( )
inlineprotectedvirtual

Compute the local cost at the node.

Implements dpNode.

Definition at line 275 of file schedule.cpp.

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 
)
inlineprivate

Definition at line 356 of file schedule.cpp.

int dpScheduleNode::create_child_nodes ( dpNode **&  nodes)
inlineprotectedvirtual

Create (potential) child nodes.

Create (potential) child nodes.

Parameters
[out]nodesarray 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 ( )
inlineprotectedvirtual

Check if the state is goal.

Implements dpNode.

Definition at line 338 of file schedule.cpp.

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)
inlineprotectedvirtual

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.

Member Data Documentation

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.


The documentation for this class was generated from the following file:


openhrp3
Author(s): AIST, General Robotix Inc., Nakamura Lab of Dept. of Mechano Informatics at University of Tokyo
autogenerated on Sat May 8 2021 02:42:42