void setEccentricity(Point4f info) {
		/*
		 * {cx cy cz fab/c}
		 * 
		 * 1) set ecc = {cx cy cz} 2) normalize 3) add z and normalize again. This gives the vector about which a
		 * 180-degree rotation turns {0 0 1} into ecc.
		 * 
		 */
		Vector3f ecc = new Vector3f(info.x, info.y, info.z);
		float c = (scale > 0 ? scale : info.w < 0 ? 1f : ecc.length());
		float fab_c = Math.abs(info.w);
		ecc.normalize();
		Vector3f z = new Vector3f(0, 0, 1);
		ecc.add(z);
		ecc.normalize();
		if (Float.isNaN(ecc.x)) // was exactly {0 0 -1} -- just rotate about x
			ecc.set(1, 0, 0);
		eccentricityMatrix = new Matrix3f();
		eccentricityMatrix.setIdentity();
		eccentricityMatrix.set(new AxisAngle4f(ecc, (float) Math.PI));
		eccentricityMatrixInverse = new Matrix3f();
		eccentricityMatrixInverse.invert(eccentricityMatrix);
		isEccentric = isAnisotropic = true;
		eccentricityScale = c;
		eccentricityRatio = fab_c;
		if (fab_c > 1)
			eccentricityScale *= fab_c;
		anisotropy[0] = fab_c * c;
		anisotropy[1] = fab_c * c;
		anisotropy[2] = c;
		if (center.x == Float.MAX_VALUE)
			center.set(0, 0, 0);
	}