public void mousePressed(MouseEvent e) {
		if (generalDestruction.getMode() == GeneralDestruction.MODE_GAME) {
			if (e.getButton() == MouseEvent.BUTTON1) {
				Bomb bomb = new Bomb();
				bomb.initialize(100, 0.25, new Vector3d(2.5, 2.5, 0),
						new Vector3d(), new Vector3d(), 0.5, 0.61, 1);
				generalDestruction.addRigidBody(bomb, new Sphere(
						(float) Bomb.radius, Primitive.GENERATE_NORMALS, 32,
						null), null);
			}
		} else if (generalDestruction.getMode() == GeneralDestruction.MODE_EDITOR) {
			if (e.getButton() == MouseEvent.BUTTON1) {
				PickInfo[] results = new PickInfo[0];
				if (e.getSource() == canvasMain) {
					pickCanvasMain.setShapeLocation(e);
					results = pickCanvasMain.pickAllSorted();
				} else if (e.getSource() == canvasOrtho1) {
					pickCanvasOrthoTop.setShapeLocation(e);
					results = pickCanvasOrthoTop.pickAllSorted();
				} else if (e.getSource() == canvasOrtho2) {
					pickCanvasOrthoFront.setShapeLocation(e);
					results = pickCanvasOrthoFront.pickAllSorted();
				} else if (e.getSource() == canvasOrtho3) {
					pickCanvasOrthoRight.setShapeLocation(e);
					results = pickCanvasOrthoRight.pickAllSorted();
				}

				if (results != null && results.length > 0) {
					Node node = results[0].getNode();
					if (node != selectedNode) {
						if (selected != null) {
							deselect();
						}

						if (node instanceof Shape3D) {
							Shape3D shape = (Shape3D) node;
							TransformGroup tg = (TransformGroup) node
									.getParent();
							selected = graphicsController.getRigidBody(tg);
							selectedNode = node;
							selectedAppearance = shape.getAppearance();
							Appearance selectionAppearance = new Appearance();
							selectionAppearance.setMaterial(selectionMaterial);
							shape.setAppearance(selectionAppearance);
						} else if (node instanceof Primitive) {
							Primitive primitive = (Primitive) node;
							TransformGroup tg = (TransformGroup) node
									.getParent();
							selected = graphicsController.getRigidBody(tg);
							selectedNode = node;
							selectedAppearance = primitive.getAppearance();
							Appearance selectionAppearance = new Appearance();
							selectionAppearance.setMaterial(selectionMaterial);
							primitive.setAppearance(selectionAppearance);
						}
					} else {
						deselect();
					}
				} else {
					// deselect
					if (selectedNode instanceof Shape3D) {
						((Shape3D) selectedNode)
								.setAppearance(selectedAppearance);
					} else if (selectedNode instanceof Primitive) {
						((Primitive) selectedNode)
								.setAppearance(selectedAppearance);
					}
					selected = null;
					selectedNode = null;
					selectedAppearance = null;
				}
			}
		}
	}