generator.addRampReferencedAtBottomMiddle((numberOfSteps - 0.5) * stepLength, 1.0, stepHeight * numberOfSteps); generator.translate(numberOfSteps * stepLength + 0.5 * startingBlockLength, 0.0, stepHeight * numberOfSteps); generator.addRectangle(startingBlockLength + stepLength, startingBlockLength); generator.translate(numberOfSteps * stepLength + 0.5 * startingBlockLength, 0.0, -stepHeight * numberOfSteps); generator.rotate(Math.PI, Axis.Z); generator.addRampReferencedAtBottomMiddle((numberOfSteps - 0.5) * stepLength, 1.0, stepHeight * numberOfSteps); generator.translate(0.0, 1.5, 0.0); generator.rotate(0.5 * Math.PI, Axis.Z); generator.addRampReferencedAtBottomMiddle(1.0, 1.0, steppingStoneHeight); generator.translate(1.4, 0.0, 0.0); generator.addCubeReferencedAtBottomMiddle(0.8, 1.0, steppingStoneHeight); generator.translate(0.0, -(0.5 + 1.0), 0.0); generator.rotate(0.5 * Math.PI, Axis.Z); generator.addRampReferencedAtBottomMiddle(1.0, 1.2, steppingStoneHeight);