I don't understand the issue. An action is applied to both the ground object and the viewpoint. Is that what you want? The shape is not being moved. You can check the shape position by adding the following code:
Code:
def printShapePosition():
print h.getPosition(viz.ABS_GLOBAL)
vizact.ontimer(1,printShapePosition)