@SuppressWarnings("unchecked")
	Hashtable getShapeInfo() {
		Hashtable info = new Hashtable();
		StringBuffer commands = new StringBuffer();
		for (int i = 0; i < JmolConstants.SHAPE_MAX; ++i) {
			Shape shape = frame.shapes[i];
			if (shape != null) {
				String shapeType = JmolConstants.shapeClassBases[i];
				if ("Draw,Dipoles,Isosurface,LcaoOrbital,MolecularOrbital".indexOf(shapeType) >= 0) {
					Hashtable shapeinfo = new Hashtable();
					shapeinfo.put("obj", shape.getShapeDetail());
					info.put(shapeType, shapeinfo);
				}
			}
		}
		if (commands.length() > 0)
			info.put("shapeCommands", commands.toString());
		return info;
	}