@Override
	public Model getRotatedModel() {
		Model model = animation.getModel();
		if (model == null)
			return null;
		int frame = animation.sequences.frame2Ids[elapsedFrames];
		Model animatedModel = new Model(true, Animation.isNullFrame(frame),
				false, model);
		if (!transformationCompleted) {
			animatedModel.createBones();
			animatedModel.applyTransformation(frame);
			animatedModel.triangleSkin = null;
			animatedModel.vertexSkin = null;
		}
		if (animation.scaleXY != 128 || animation.scaleZ != 128)
			animatedModel.scaleT(animation.scaleXY, animation.scaleXY,
					animation.scaleZ);
		if (animation.rotation != 0) {
			if (animation.rotation == 90)
				animatedModel.rotate90Degrees();
			if (animation.rotation == 180) {
				animatedModel.rotate90Degrees();
				animatedModel.rotate90Degrees();
			}
			if (animation.rotation == 270) {
				animatedModel.rotate90Degrees();
				animatedModel.rotate90Degrees();
				animatedModel.rotate90Degrees();
			}
		}
		animatedModel.applyLighting(64 + animation.modelLightFalloff,
				850 + animation.modelLightAmbient, -30, -50, -30, true);
		return animatedModel;
	}