/* Class262 - Decompiled by JODE
 * Visit http://jode.sourceforge.net/
 */

public final class Class262 {
	static int anInt4108;
	static int anInt4109;
	static Class262[] aClass262Array4110 = new Class262[0];
	public float aFloat4111;
	public float aFloat4112;
	public float aFloat4113;
	public float aFloat4114;

	public void method5179() {
		synchronized (aClass262Array4110) {
			if (anInt4108 < anInt4109 - 1)
				aClass262Array4110[anInt4108++] = this;
		}
	}

	public static Class262 method5180() {
		synchronized (aClass262Array4110) {
			if (anInt4108 == 0) {
				Class262 class262 = new Class262();
				return class262;
			}
			aClass262Array4110[--anInt4108].method5199();
			Class262 class262 = aClass262Array4110[anInt4108];
			return class262;
		}
	}

	public void method5181(float f, float f_0_, float f_1_) {
		method5230(0.0F, 1.0F, 0.0F, f);
		Class262 class262_2_ = method5180();
		class262_2_.method5230(1.0F, 0.0F, 0.0F, f_0_);
		method5202(class262_2_);
		class262_2_.method5230(0.0F, 0.0F, 1.0F, f_1_);
		method5202(class262_2_);
		class262_2_.method5183();
	}

	public static Class262 method5182(Class262 class262) {
		synchronized (aClass262Array4110) {
			if (anInt4108 == 0) {
				Class262 class262_3_ = new Class262(class262);
				return class262_3_;
			}
			aClass262Array4110[--anInt4108].method5251(class262);
			Class262 class262_4_ = aClass262Array4110[anInt4108];
			return class262_4_;
		}
	}

	public void method5183() {
		synchronized (aClass262Array4110) {
			if (anInt4108 < anInt4109 - 1)
				aClass262Array4110[anInt4108++] = this;
		}
	}

	static final Class262 method5184(Class262 class262, Class262 class262_5_) {
		Class262 class262_6_ = method5182(class262);
		class262_6_.method5202(class262_5_);
		return class262_6_;
	}

	static Class262 method5185(float f, float f_7_, float f_8_, float f_9_) {
		synchronized (aClass262Array4110) {
			if (anInt4108 == 0) {
				Class262 class262 = new Class262(f, f_7_, f_8_, f_9_);
				return class262;
			}
			aClass262Array4110[--anInt4108].method5210(f, f_7_, f_8_, f_9_);
			Class262 class262 = aClass262Array4110[anInt4108];
			return class262;
		}
	}

	public Class262(Class262 class262_10_) {
		method5251(class262_10_);
	}

	public Class262(float f, float f_11_, float f_12_) {
		method5198(f, f_11_, f_12_);
	}

	public void method5186(Class587_Sub4 class587_sub4) {
		aFloat4111 = class587_sub4.method14207(-966339678);
		aFloat4112 = class587_sub4.method14207(-1072307860);
		aFloat4113 = class587_sub4.method14207(-1796724042);
		aFloat4114 = class587_sub4.method14207(-1568583649);
	}

	public Class262() {
		method5199();
	}

	static final float method5187(Class262 class262, Class262 class262_13_) {
		return class262.method5247(class262_13_);
	}

	public void method5188(Class277 class277, float f) {
		method5230(class277.aFloat4209, class277.aFloat4211, class277.aFloat4213, f);
	}

	static final float method5189(Class262 class262) {
		return (float) Math.sqrt((double) method5215(class262, class262));
	}

	final void method5190(float f) {
		aFloat4111 *= f;
		aFloat4112 *= f;
		aFloat4113 *= f;
		aFloat4114 *= f;
	}

	public void method5191(float f, float f_14_, float f_15_, float f_16_) {
		float f_17_ = (float) Math.sin((double) (f_16_ * 0.5F));
		float f_18_ = (float) Math.cos((double) (f_16_ * 0.5F));
		aFloat4111 = f * f_17_;
		aFloat4112 = f_14_ * f_17_;
		aFloat4113 = f_15_ * f_17_;
		aFloat4114 = f_18_;
	}

	final void method5192() {
		aFloat4111 = -aFloat4111;
		aFloat4112 = -aFloat4112;
		aFloat4113 = -aFloat4113;
		aFloat4114 = -aFloat4114;
	}

	public final void method5193() {
		aFloat4111 = -aFloat4111;
		aFloat4112 = -aFloat4112;
		aFloat4113 = -aFloat4113;
	}

	public static final Class262 method5194(Class262 class262) {
		Class262 class262_19_ = method5182(class262);
		class262_19_.method5193();
		return class262_19_;
	}

	final void method5195() {
		float f = 1.0F / method5189(this);
		aFloat4111 *= f;
		aFloat4112 *= f;
		aFloat4113 *= f;
		aFloat4114 *= f;
	}

	final void method5196(Class262 class262_20_) {
		aFloat4111 += class262_20_.aFloat4111;
		aFloat4112 += class262_20_.aFloat4112;
		aFloat4113 += class262_20_.aFloat4113;
		aFloat4114 += class262_20_.aFloat4114;
	}

	static Class262 method5197(float f, float f_21_, float f_22_, float f_23_) {
		synchronized (aClass262Array4110) {
			if (anInt4108 == 0) {
				Class262 class262 = new Class262(f, f_21_, f_22_, f_23_);
				return class262;
			}
			aClass262Array4110[--anInt4108].method5210(f, f_21_, f_22_, f_23_);
			Class262 class262 = aClass262Array4110[anInt4108];
			return class262;
		}
	}

	public void method5198(float f, float f_24_, float f_25_) {
		method5230(0.0F, 1.0F, 0.0F, f);
		Class262 class262_26_ = method5180();
		class262_26_.method5230(1.0F, 0.0F, 0.0F, f_24_);
		method5202(class262_26_);
		class262_26_.method5230(0.0F, 0.0F, 1.0F, f_25_);
		method5202(class262_26_);
		class262_26_.method5183();
	}

	final void method5199() {
		aFloat4113 = 0.0F;
		aFloat4112 = 0.0F;
		aFloat4111 = 0.0F;
		aFloat4114 = 1.0F;
	}

	static final Class262 method5200(Class262 class262, float f) {
		Class262 class262_27_ = method5182(class262);
		class262_27_.method5190(f);
		return class262_27_;
	}

	final void method5201() {
		aFloat4113 = 0.0F;
		aFloat4112 = 0.0F;
		aFloat4111 = 0.0F;
		aFloat4114 = 1.0F;
	}

	public final void method5202(Class262 class262_28_) {
		method5210((class262_28_.aFloat4114 * aFloat4111 + class262_28_.aFloat4111 * aFloat4114 + class262_28_.aFloat4112 * aFloat4113 - class262_28_.aFloat4113 * aFloat4112), (class262_28_.aFloat4114 * aFloat4112 - class262_28_.aFloat4111 * aFloat4113 + class262_28_.aFloat4112 * aFloat4114 + class262_28_.aFloat4113 * aFloat4111), (class262_28_.aFloat4114 * aFloat4113 + class262_28_.aFloat4111 * aFloat4112 - class262_28_.aFloat4112 * aFloat4111 + class262_28_.aFloat4113 * aFloat4114), (class262_28_.aFloat4114 * aFloat4114 - class262_28_.aFloat4111 * aFloat4111 - class262_28_.aFloat4112 * aFloat4112 - class262_28_.aFloat4113 * aFloat4113));
	}

	static final Class262 method5203(Class262 class262, float f) {
		Class262 class262_29_ = method5182(class262);
		class262_29_.method5190(f);
		return class262_29_;
	}

	public static void method5204(int i) {
		anInt4109 = i;
		aClass262Array4110 = new Class262[i];
		anInt4108 = 0;
	}

	public Class277 method5205() {
		if (aFloat4114 > 1.0F)
			aFloat4114 = 1.0F;
		else if (aFloat4114 < -1.0F)
			aFloat4114 = -1.0F;
		float f = (float) (Math.acos((double) aFloat4114) * 2.0);
		if (f == 0.0F)
			return new Class277(0.0F, 0.0F, 0.0F);
		Class277 class277 = new Class277(aFloat4111, aFloat4112, aFloat4113);
		if (aFloat4111 != 0.0F || aFloat4112 != 0.0F || aFloat4113 != 0.0F) {
			class277.method5445();
			class277.method5459(f);
		}
		return class277;
	}

	public String toString() {
		return new StringBuilder().append(aFloat4111).append(",").append(aFloat4112).append(",").append(aFloat4113).append(",").append(aFloat4114).toString();
	}

	static {
		new Class262();
	}

	public String method5206() {
		return new StringBuilder().append(aFloat4111).append(",").append(aFloat4112).append(",").append(aFloat4113).append(",").append(aFloat4114).toString();
	}

	public static void method5207(int i) {
		anInt4109 = i;
		aClass262Array4110 = new Class262[i];
		anInt4108 = 0;
	}

	public static void method5208(int i) {
		anInt4109 = i;
		aClass262Array4110 = new Class262[i];
		anInt4108 = 0;
	}

	public static void method5209(int i) {
		anInt4109 = i;
		aClass262Array4110 = new Class262[i];
		anInt4108 = 0;
	}

	void method5210(float f, float f_30_, float f_31_, float f_32_) {
		aFloat4111 = f;
		aFloat4112 = f_30_;
		aFloat4113 = f_31_;
		aFloat4114 = f_32_;
	}

	final void method5211() {
		aFloat4113 = 0.0F;
		aFloat4112 = 0.0F;
		aFloat4111 = 0.0F;
		aFloat4114 = 1.0F;
	}

	public static Class262 method5212(Class262 class262) {
		synchronized (aClass262Array4110) {
			if (anInt4108 == 0) {
				Class262 class262_33_ = new Class262(class262);
				return class262_33_;
			}
			aClass262Array4110[--anInt4108].method5251(class262);
			Class262 class262_34_ = aClass262Array4110[anInt4108];
			return class262_34_;
		}
	}

	public static Class262 method5213(Class262 class262) {
		synchronized (aClass262Array4110) {
			if (anInt4108 == 0) {
				Class262 class262_35_ = new Class262(class262);
				return class262_35_;
			}
			aClass262Array4110[--anInt4108].method5251(class262);
			Class262 class262_36_ = aClass262Array4110[anInt4108];
			return class262_36_;
		}
	}

	public static Class262 method5214(Class262 class262) {
		synchronized (aClass262Array4110) {
			if (anInt4108 == 0) {
				Class262 class262_37_ = new Class262(class262);
				return class262_37_;
			}
			aClass262Array4110[--anInt4108].method5251(class262);
			Class262 class262_38_ = aClass262Array4110[anInt4108];
			return class262_38_;
		}
	}

	static final float method5215(Class262 class262, Class262 class262_39_) {
		return class262.method5247(class262_39_);
	}

	public void method5216() {
		synchronized (aClass262Array4110) {
			if (anInt4108 < anInt4109 - 1)
				aClass262Array4110[anInt4108++] = this;
		}
	}

	public void method5217() {
		synchronized (aClass262Array4110) {
			if (anInt4108 < anInt4109 - 1)
				aClass262Array4110[anInt4108++] = this;
		}
	}

	public void method5218() {
		synchronized (aClass262Array4110) {
			if (anInt4108 < anInt4109 - 1)
				aClass262Array4110[anInt4108++] = this;
		}
	}

	public void method5219(Class587_Sub4 class587_sub4) {
		aFloat4111 = class587_sub4.method14207(-1314707898);
		aFloat4112 = class587_sub4.method14207(-1519308511);
		aFloat4113 = class587_sub4.method14207(-1278221395);
		aFloat4114 = class587_sub4.method14207(-1581127680);
	}

	public void method5220(Class587_Sub4 class587_sub4) {
		aFloat4111 = class587_sub4.method14207(-1570832446);
		aFloat4112 = class587_sub4.method14207(-1040183017);
		aFloat4113 = class587_sub4.method14207(-1539129202);
		aFloat4114 = class587_sub4.method14207(-1059554027);
	}

	void method5221(float f, float f_40_, float f_41_, float f_42_) {
		aFloat4111 = f;
		aFloat4112 = f_40_;
		aFloat4113 = f_41_;
		aFloat4114 = f_42_;
	}

	public void method5222(Class262 class262_43_) {
		aFloat4111 = class262_43_.aFloat4111;
		aFloat4112 = class262_43_.aFloat4112;
		aFloat4113 = class262_43_.aFloat4113;
		aFloat4114 = class262_43_.aFloat4114;
	}

	public void method5223(Class262 class262_44_) {
		aFloat4111 = class262_44_.aFloat4111;
		aFloat4112 = class262_44_.aFloat4112;
		aFloat4113 = class262_44_.aFloat4113;
		aFloat4114 = class262_44_.aFloat4114;
	}

	public void method5224(Class277 class277, float f) {
		method5230(class277.aFloat4209, class277.aFloat4211, class277.aFloat4213, f);
	}

	public static Class262 method5225() {
		synchronized (aClass262Array4110) {
			if (anInt4108 == 0) {
				Class262 class262 = new Class262();
				return class262;
			}
			aClass262Array4110[--anInt4108].method5199();
			Class262 class262 = aClass262Array4110[anInt4108];
			return class262;
		}
	}

	public Class277 method5226() {
		if (aFloat4114 > 1.0F)
			aFloat4114 = 1.0F;
		else if (aFloat4114 < -1.0F)
			aFloat4114 = -1.0F;
		float f = (float) (Math.acos((double) aFloat4114) * 2.0);
		if (f == 0.0F)
			return new Class277(0.0F, 0.0F, 0.0F);
		Class277 class277 = new Class277(aFloat4111, aFloat4112, aFloat4113);
		if (aFloat4111 != 0.0F || aFloat4112 != 0.0F || aFloat4113 != 0.0F) {
			class277.method5445();
			class277.method5459(f);
		}
		return class277;
	}

	public void method5227(float f, float f_45_, float f_46_, float f_47_) {
		float f_48_ = (float) Math.sin((double) (f_47_ * 0.5F));
		float f_49_ = (float) Math.cos((double) (f_47_ * 0.5F));
		aFloat4111 = f * f_48_;
		aFloat4112 = f_45_ * f_48_;
		aFloat4113 = f_46_ * f_48_;
		aFloat4114 = f_49_;
	}

	public final void method5228(Class262 class262_50_, float f) {
		if (method5247(class262_50_) < 0.0F)
			method5192();
		method5190(1.0F - f);
		Class262 class262_51_ = method5203(class262_50_, f);
		method5196(class262_51_);
		class262_51_.method5183();
		method5195();
	}

	public void method5229(float f, float f_52_, float f_53_) {
		method5230(0.0F, 1.0F, 0.0F, f);
		Class262 class262_54_ = method5180();
		class262_54_.method5230(1.0F, 0.0F, 0.0F, f_52_);
		method5202(class262_54_);
		class262_54_.method5230(0.0F, 0.0F, 1.0F, f_53_);
		method5202(class262_54_);
		class262_54_.method5183();
	}

	public void method5230(float f, float f_55_, float f_56_, float f_57_) {
		float f_58_ = (float) Math.sin((double) (f_57_ * 0.5F));
		float f_59_ = (float) Math.cos((double) (f_57_ * 0.5F));
		aFloat4111 = f * f_58_;
		aFloat4112 = f_55_ * f_58_;
		aFloat4113 = f_56_ * f_58_;
		aFloat4114 = f_59_;
	}

	static final Class262 method5231(Class262 class262, Class262 class262_60_) {
		Class262 class262_61_ = method5182(class262);
		class262_61_.method5202(class262_60_);
		return class262_61_;
	}

	final void method5232() {
		aFloat4111 = -aFloat4111;
		aFloat4112 = -aFloat4112;
		aFloat4113 = -aFloat4113;
		aFloat4114 = -aFloat4114;
	}

	final void method5233() {
		aFloat4111 = -aFloat4111;
		aFloat4112 = -aFloat4112;
		aFloat4113 = -aFloat4113;
		aFloat4114 = -aFloat4114;
	}

	public final void method5234() {
		aFloat4111 = -aFloat4111;
		aFloat4112 = -aFloat4112;
		aFloat4113 = -aFloat4113;
	}

	public final void method5235() {
		aFloat4111 = -aFloat4111;
		aFloat4112 = -aFloat4112;
		aFloat4113 = -aFloat4113;
	}

	public final void method5236() {
		aFloat4111 = -aFloat4111;
		aFloat4112 = -aFloat4112;
		aFloat4113 = -aFloat4113;
	}

	public static final Class262 method5237(Class262 class262) {
		Class262 class262_62_ = method5182(class262);
		class262_62_.method5193();
		return class262_62_;
	}

	public static final Class262 method5238(Class262 class262) {
		Class262 class262_63_ = method5182(class262);
		class262_63_.method5193();
		return class262_63_;
	}

	final void method5239(Class262 class262_64_) {
		aFloat4111 += class262_64_.aFloat4111;
		aFloat4112 += class262_64_.aFloat4112;
		aFloat4113 += class262_64_.aFloat4113;
		aFloat4114 += class262_64_.aFloat4114;
	}

	final float method5240(Class262 class262_65_) {
		return (aFloat4111 * class262_65_.aFloat4111 + aFloat4112 * class262_65_.aFloat4112 + aFloat4113 * class262_65_.aFloat4113 + aFloat4114 * class262_65_.aFloat4114);
	}

	final float method5241(Class262 class262_66_) {
		return (aFloat4111 * class262_66_.aFloat4111 + aFloat4112 * class262_66_.aFloat4112 + aFloat4113 * class262_66_.aFloat4113 + aFloat4114 * class262_66_.aFloat4114);
	}

	static final float method5242(Class262 class262, Class262 class262_67_) {
		return class262.method5247(class262_67_);
	}

	static final float method5243(Class262 class262, Class262 class262_68_) {
		return class262.method5247(class262_68_);
	}

	static final float method5244(Class262 class262, Class262 class262_69_) {
		return class262.method5247(class262_69_);
	}

	public final void method5245(Class262 class262_70_, float f) {
		if (method5247(class262_70_) < 0.0F)
			method5192();
		method5190(1.0F - f);
		Class262 class262_71_ = method5203(class262_70_, f);
		method5196(class262_71_);
		class262_71_.method5183();
		method5195();
	}

	public final void method5246(Class262 class262_72_) {
		method5210((class262_72_.aFloat4114 * aFloat4111 + class262_72_.aFloat4111 * aFloat4114 + class262_72_.aFloat4112 * aFloat4113 - class262_72_.aFloat4113 * aFloat4112), (class262_72_.aFloat4114 * aFloat4112 - class262_72_.aFloat4111 * aFloat4113 + class262_72_.aFloat4112 * aFloat4114 + class262_72_.aFloat4113 * aFloat4111), (class262_72_.aFloat4114 * aFloat4113 + class262_72_.aFloat4111 * aFloat4112 - class262_72_.aFloat4112 * aFloat4111 + class262_72_.aFloat4113 * aFloat4114), (class262_72_.aFloat4114 * aFloat4114 - class262_72_.aFloat4111 * aFloat4111 - class262_72_.aFloat4112 * aFloat4112 - class262_72_.aFloat4113 * aFloat4113));
	}

	final float method5247(Class262 class262_73_) {
		return (aFloat4111 * class262_73_.aFloat4111 + aFloat4112 * class262_73_.aFloat4112 + aFloat4113 * class262_73_.aFloat4113 + aFloat4114 * class262_73_.aFloat4114);
	}

	final void method5248(float f) {
		aFloat4111 *= f;
		aFloat4112 *= f;
		aFloat4113 *= f;
		aFloat4114 *= f;
	}

	static final Class262 method5249(Class262 class262, float f) {
		Class262 class262_74_ = method5182(class262);
		class262_74_.method5190(f);
		return class262_74_;
	}

	public Class262(float f, float f_75_, float f_76_, float f_77_) {
		method5210(f, f_75_, f_76_, f_77_);
	}

	public final void method5250(Class262 class262_78_, float f) {
		if (method5247(class262_78_) < 0.0F)
			method5192();
		method5190(1.0F - f);
		Class262 class262_79_ = method5203(class262_78_, f);
		method5196(class262_79_);
		class262_79_.method5183();
		method5195();
	}

	public void method5251(Class262 class262_80_) {
		aFloat4111 = class262_80_.aFloat4111;
		aFloat4112 = class262_80_.aFloat4112;
		aFloat4113 = class262_80_.aFloat4113;
		aFloat4114 = class262_80_.aFloat4114;
	}

	public void method5252(float f, float f_81_, float f_82_, float f_83_) {
		float f_84_ = (float) Math.sin((double) (f_83_ * 0.5F));
		float f_85_ = (float) Math.cos((double) (f_83_ * 0.5F));
		aFloat4111 = f * f_84_;
		aFloat4112 = f_81_ * f_84_;
		aFloat4113 = f_82_ * f_84_;
		aFloat4114 = f_85_;
	}
}
