Previously, we did a relatively expensive self-collision and regrab checks on the robot in anyClone() operation, on the off-chance that it was grabbing something that could get messed up.
This moves the CheckSelfCollision() and RegrabAll() operations inside the following checks:
We are not cloning back into the same environment.
The robot is actually grabbing something.
This shaves time off nested cloning calls, which are found everywhere in our planning stack. It may also obviate the need for #272.
Previously, we did a relatively expensive self-collision and regrab checks on the robot in any
Clone()
operation, on the off-chance that it was grabbing something that could get messed up.This moves the
CheckSelfCollision()
andRegrabAll()
operations inside the following checks:This shaves time off nested cloning calls, which are found everywhere in our planning stack. It may also obviate the need for #272.