/** is the foot in question within the switchZThreshold of the lowest foot */
  @Override
  public boolean hasFootHitGround() {
    double thisFootZ = getPointInWorld(foot.getSoleFrame()).getZ();
    double lowestFootZ = getLowestFootZInWorld();

    hitGround.set((thisFootZ - lowestFootZ) < switchZThreshold.getDoubleValue());
    soleZ.set(thisFootZ);
    ankleZ.set(getPointInWorld(foot.getFrameAfterParentJoint()).getZ());
    return hitGround.getBooleanValue();
  }