final float groundOriginY,
final float groundWidth,
final float groundDepth,
boolean listenToHomeUpdates,
boolean waitForLoading) {
final Ground3D ground3D = new Ground3D(this.home,
groundOriginX, groundOriginY, groundWidth, groundDepth, waitForLoading);
Transform3D translation = new Transform3D();
translation.setTranslation(new Vector3f(0, -0.2f, 0));
TransformGroup transformGroup = new TransformGroup(translation);
transformGroup.addChild(ground3D);
if (listenToHomeUpdates) {
// Add a listener on ground color and texture properties change
this.groundColorAndTextureListener = new PropertyChangeListener() {
public void propertyChange(PropertyChangeEvent ev) {
ground3D.update();
clearPrintedImageCache();
}
};
HomeEnvironment homeEnvironment = this.home.getEnvironment();
homeEnvironment.addPropertyChangeListener(