protected static PositionableShape createCube(
     float headHeight, IVector3f size, IVector3f location) {
   Position3D p3 = Position3DUtil.createAbsolutePosition();
   p3.setCenter3D(new Vector3fImpl(location.getX(), location.getY(), location.getZ()));
   p3.setSize3D(size);
   CuboidShape shape = new CuboidShape(p3, true);
   shape.setFill(true);
   shape.setOutline(true);
   return shape;
 }
        public Shape getShape3D(Object object, IFigure3D figure) {
          CompositeRenderShape shape = new CompositeRenderShape(figure, object, null);

          Position3D p3 = Position3DUtil.createAbsolutePosition();
          p3.setCenter3D(new Vector3fImpl(0.5f, 0.5f, 0.0f));
          p3.setSize3D(new Vector3fImpl(1.0f, 1.0f, 1.0f));
          CylinderShape cube = new CylinderShape(p3, 30, 1.0f, true);
          shape.addShape(cube);
          shape.setFill(true);
          shape.setOutline(true);
          return shape;
        }