private void computePositions() {
		// Determine time for rendering
		if (fConf.getInt("fixedTime") == 0) {
			// No fixed time.
			// final long lTimePassed = System.currentTimeMillis() - fsStartTime;
			// fCurrentTime = fsStartTime + (long) (fConf.getDouble("timeWarpFactor") * lTimePassed);
			fCurrentTime = System.currentTimeMillis();
		} else {
			// Fixed time.
			fCurrentTime = fConf.getInt("fixedTime") * 1000L;
		}

		if (fConf.getBoolean("sunMovesP")) {
			fConf.setSunPos(SunPositionCalculator.getSunPositionOnEarth(fCurrentTime));
		}

		// Determine viewing position
		if (fConf.is("viewPositionType", "Fixed")) {
			fViewPos = fConf.getViewPos();
		} else if (fConf.is("viewPositionType", "Sun-relative")) {
			fViewPos = getSunRelativePosition();
		} else if (fConf.is("viewPositionType", "Orbit")) {
			fViewPos = getOrbitPosition(fCurrentTime);
		} else if (fConf.is("viewPositionType", "Random")) {
			fViewPos = getRandomPosition();
		} else if (fConf.is("viewPositionType", "Moon")) {
			fViewPos = SunPositionCalculator.getMoonPositionOnEarth(fCurrentTime);
		}

		// for ViewRotGalactic, compute appropriate viewing rotation
		if (fConf.is("viewRotationType", "Galactic")) {
			fViewRotation = (Toolkit.degsToRads(fConf.getSunPos().getLat()
					* Math.sin((fViewPos.getLong() - fConf.getSunPos().getLong()))));
		} else {
			fViewRotation = fConf.getDouble("viewRotation");
		}
	}