private void moveVectorBoxFace(byte face, int x, int y) {
		if (face < 0)
			return;
		if (!(selectedComponent instanceof Atom))
			return;
		Atom at = (Atom) selectedComponent;
		switch (face) {
		case 0x00: // front
		case 0x01: // rear
			Point3f p = viewer.findPointOnPlane('x', x, y, 0);
			int delta = (int) (2 * (p.z - clickPoint3D.z));
			at.setVz((originalValue + delta) / velocityScalingFactor);
			break;
		case 0x02: // top
		case 0x03: // bottom
			p = viewer.findPointOnPlane('z', x, y, 0);
			delta = (int) (2 * (p.y - clickPoint3D.y));
			at.setVy((originalValue + delta) / velocityScalingFactor);
			break;
		case 0x04: // right
		case 0x05: // left
			p = viewer.findPointOnPlane('y', x, y, 0);
			delta = (int) (2 * (p.x - clickPoint3D.x));
			at.setVx((originalValue + delta) / velocityScalingFactor);
			break;
		}
		viewer.setAtomVelocities(at.getIndex(), at.getVx(), at.getVy(), at.getVz());
		viewer.updateVectorBoxFace(face);
	}