Create a new LimbPlanner. LimbPlanner takes two other nodes: a LimbSolver and a Pose called PathStart .
LimbPlanner walks the thee of nodes pointed to by PathStart. It sets LimbSolver.target to the first child, then waits for LimbSolver "arrivedAtGoal" ActionEvent. LimbPlanner then moves on to the next Pose node in the tree. It scans immediate children and immediate siblings. If it reaches PathStart again, it stops and fires a "finished" ActionEvent.
LimbPlanner continues to run even if the Detail window goes away. LimbPlanner stops if it cannot find a next Pose node.
LimbPlanner could loop at the end (0 times, n times, -1 = forever).
LimbPlanner could implement more sophisticated following.
LimbPlanner could, on "arrivedAtGoal", look at the children of LimbSolver.target. It could then follow special instruction Nodes like activate tool, change LimbSolver target, etc.
Create a new
LimbPlanner
. LimbPlanner takes two other nodes: aLimbSolver
and aPose
called PathStart .LimbPlanner
walks the thee of nodes pointed to by PathStart. It setsLimbSolver.target
to the first child, then waits for LimbSolver "arrivedAtGoal" ActionEvent. LimbPlanner then moves on to the next Pose node in the tree. It scans immediate children and immediate siblings. If it reaches PathStart again, it stops and fires a "finished" ActionEvent.LimbPlanner continues to run even if the Detail window goes away. LimbPlanner stops if it cannot find a next Pose node.
LimbPlanner could loop at the end (0 times, n times, -1 = forever).
LimbPlanner could implement more sophisticated following. LimbPlanner could, on "arrivedAtGoal", look at the children of LimbSolver.target. It could then follow special instruction Nodes like activate tool, change LimbSolver target, etc.