public void update(double dt) {

		_xRotationAngle += _xRotationSpeed * dt;
		if (_xRotationAngle > 2 * Math.PI) {
			int times = (int) (_xRotationAngle / Math.PI);
			_xRotationAngle -= times * 2 * Math.PI;
		}

		_yRotationAngle += _yRotationSpeed * dt;
		if (_yRotationAngle > 2 * Math.PI) {
			int times = (int) (_yRotationAngle / Math.PI);
			_yRotationAngle -= times * 2 * Math.PI;
		}

		_zRotationAngle += _zRotationSpeed * dt;
		if (_zRotationAngle > 2 * Math.PI) {
			int times = (int) (_zRotationAngle / Math.PI);
			_zRotationAngle -= times * 2 * Math.PI;
		}
		
		_xScale += _xScaleSpeed * dt;
		if (_xScale <= 0) {
			_xScale = 0.000001;
		}
		_yScale += _yScaleSpeed * dt;
		if (_yScale <= 0) {
			_yScale = 0.000001;
		}
		_zScale += _zScaleSpeed * dt;
		if (_zScale <= 0) {
			_zScale = 0.000001;
		}

		animateModel();
		_box.updateBox(_position, _xRotationAngle, _yRotationAngle,
				_zRotationAngle);
	}