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

public final class Class414
{
    static Class414[] aClass414Array4644 = new Class414[0];
    static int anInt4645;
    public float aFloat4646;
    public float aFloat4647;
    public float aFloat4648;
    static int anInt4649;
    public float aFloat4650;
    
    public static void method5054(int i) {
	anInt4645 = i;
	aClass414Array4644 = new Class414[i];
	anInt4649 = 0;
    }
    
    final void method5055() {
	aFloat4646 = 0.0F;
	aFloat4648 = 0.0F;
	aFloat4647 = 0.0F;
	aFloat4650 = 1.0F;
    }
    
    public void method5056() {
	synchronized (aClass414Array4644) {
	    if (anInt4649 < anInt4645 - 1)
		aClass414Array4644[anInt4649++] = this;
	}
    }
    
    final void method5057() {
	aFloat4647 = -aFloat4647;
	aFloat4648 = -aFloat4648;
	aFloat4646 = -aFloat4646;
	aFloat4650 = -aFloat4650;
    }
    
    public Class414() {
	method5064();
    }
    
    public Class414(float f, float f_0_, float f_1_, float f_2_) {
	method5059(f, f_0_, f_1_, f_2_);
    }
    
    public Class414(Class414 class414_3_) {
	method5088(class414_3_);
    }
    
    public Class414(float f, float f_4_, float f_5_) {
	method5063(f, f_4_, f_5_);
    }
    
    public void method5058(Class487_Sub17 class487_sub17) {
	aFloat4647 = class487_sub17.method9228(276638887);
	aFloat4648 = class487_sub17.method9228(276638887);
	aFloat4646 = class487_sub17.method9228(276638887);
	aFloat4650 = class487_sub17.method9228(276638887);
    }
    
    void method5059(float f, float f_6_, float f_7_, float f_8_) {
	aFloat4647 = f;
	aFloat4648 = f_6_;
	aFloat4646 = f_7_;
	aFloat4650 = f_8_;
    }
    
    public static Class414 method5060() {
	synchronized (aClass414Array4644) {
	    if (anInt4649 == 0) {
		Class414 class414 = new Class414();
		return class414;
	    }
	    aClass414Array4644[--anInt4649].method5064();
	    Class414 class414 = aClass414Array4644[anInt4649];
	    return class414;
	}
    }
    
    public void method5061(Class396 class396, float f) {
	method5062(class396.aFloat4545, class396.aFloat4542,
		   class396.aFloat4547, f);
    }
    
    public void method5062(float f, float f_9_, float f_10_, float f_11_) {
	float f_12_ = (float) Math.sin((double) (f_11_ * 0.5F));
	float f_13_ = (float) Math.cos((double) (f_11_ * 0.5F));
	aFloat4647 = f * f_12_;
	aFloat4648 = f_9_ * f_12_;
	aFloat4646 = f_10_ * f_12_;
	aFloat4650 = f_13_;
    }
    
    public void method5063(float f, float f_14_, float f_15_) {
	method5062(0.0F, 1.0F, 0.0F, f);
	Class414 class414_16_ = method5060();
	class414_16_.method5062(1.0F, 0.0F, 0.0F, f_14_);
	method5094(class414_16_);
	class414_16_.method5062(0.0F, 0.0F, 1.0F, f_15_);
	method5094(class414_16_);
	class414_16_.method5056();
    }
    
    final void method5064() {
	aFloat4646 = 0.0F;
	aFloat4648 = 0.0F;
	aFloat4647 = 0.0F;
	aFloat4650 = 1.0F;
    }
    
    final void method5065() {
	aFloat4647 = -aFloat4647;
	aFloat4648 = -aFloat4648;
	aFloat4646 = -aFloat4646;
	aFloat4650 = -aFloat4650;
    }
    
    public final void method5066() {
	aFloat4647 = -aFloat4647;
	aFloat4648 = -aFloat4648;
	aFloat4646 = -aFloat4646;
    }
    
    public static final Class414 method5067(Class414 class414) {
	Class414 class414_17_ = method5096(class414);
	class414_17_.method5066();
	return class414_17_;
    }
    
    public final void method5068() {
	float f = 1.0F / method5087(this);
	aFloat4647 *= f;
	aFloat4648 *= f;
	aFloat4646 *= f;
	aFloat4650 *= f;
    }
    
    final void method5069(Class414 class414_18_) {
	aFloat4647 += class414_18_.aFloat4647;
	aFloat4648 += class414_18_.aFloat4648;
	aFloat4646 += class414_18_.aFloat4646;
	aFloat4650 += class414_18_.aFloat4650;
    }
    
    final float method5070(Class414 class414_19_) {
	return (aFloat4647 * class414_19_.aFloat4647
		+ aFloat4648 * class414_19_.aFloat4648
		+ aFloat4646 * class414_19_.aFloat4646
		+ aFloat4650 * class414_19_.aFloat4650);
    }
    
    final void method5071() {
	aFloat4647 = -aFloat4647;
	aFloat4648 = -aFloat4648;
	aFloat4646 = -aFloat4646;
	aFloat4650 = -aFloat4650;
    }
    
    static final Class414 method5072(Class414 class414,
				     Class414 class414_20_) {
	Class414 class414_21_ = method5096(class414);
	class414_21_.method5094(class414_20_);
	return class414_21_;
    }
    
    final void method5073(float f) {
	aFloat4647 *= f;
	aFloat4648 *= f;
	aFloat4646 *= f;
	aFloat4650 *= f;
    }
    
    public final void method5074(Class414 class414_22_, float f) {
	if (method5070(class414_22_) < 0.0F)
	    method5065();
	method5073(1.0F - f);
	Class414 class414_23_ = method5086(class414_22_, f);
	method5069(class414_23_);
	class414_23_.method5056();
	method5068();
    }
    
    public void method5075() {
	synchronized (aClass414Array4644) {
	    if (anInt4649 < anInt4645 - 1)
		aClass414Array4644[anInt4649++] = this;
	}
    }
    
    static {
	new Class414();
    }
    
    public String method5076() {
	return new StringBuilder().append(aFloat4647).append(",").append
		   (aFloat4648).append
		   (",").append
		   (aFloat4646).append
		   (",").append
		   (aFloat4650).toString();
    }
    
    public String method5077() {
	return new StringBuilder().append(aFloat4647).append(",").append
		   (aFloat4648).append
		   (",").append
		   (aFloat4646).append
		   (",").append
		   (aFloat4650).toString();
    }
    
    final void method5078() {
	aFloat4646 = 0.0F;
	aFloat4648 = 0.0F;
	aFloat4647 = 0.0F;
	aFloat4650 = 1.0F;
    }
    
    public String method5079() {
	return new StringBuilder().append(aFloat4647).append(",").append
		   (aFloat4648).append
		   (",").append
		   (aFloat4646).append
		   (",").append
		   (aFloat4650).toString();
    }
    
    static final float method5080(Class414 class414, Class414 class414_24_) {
	return class414.method5070(class414_24_);
    }
    
    public static void method5081(int i) {
	anInt4645 = i;
	aClass414Array4644 = new Class414[i];
	anInt4649 = 0;
    }
    
    public void method5082() {
	synchronized (aClass414Array4644) {
	    if (anInt4649 < anInt4645 - 1)
		aClass414Array4644[anInt4649++] = this;
	}
    }
    
    public void method5083(Class487_Sub17 class487_sub17) {
	aFloat4647 = class487_sub17.method9228(276638887);
	aFloat4648 = class487_sub17.method9228(276638887);
	aFloat4646 = class487_sub17.method9228(276638887);
	aFloat4650 = class487_sub17.method9228(276638887);
    }
    
    public void method5084(Class487_Sub17 class487_sub17) {
	aFloat4647 = class487_sub17.method9228(276638887);
	aFloat4648 = class487_sub17.method9228(276638887);
	aFloat4646 = class487_sub17.method9228(276638887);
	aFloat4650 = class487_sub17.method9228(276638887);
    }
    
    public String method5085() {
	return new StringBuilder().append(aFloat4647).append(",").append
		   (aFloat4648).append
		   (",").append
		   (aFloat4646).append
		   (",").append
		   (aFloat4650).toString();
    }
    
    static final Class414 method5086(Class414 class414, float f) {
	Class414 class414_25_ = method5096(class414);
	class414_25_.method5073(f);
	return class414_25_;
    }
    
    static final float method5087(Class414 class414) {
	return (float) Math.sqrt((double) method5080(class414, class414));
    }
    
    public void method5088(Class414 class414_26_) {
	aFloat4647 = class414_26_.aFloat4647;
	aFloat4648 = class414_26_.aFloat4648;
	aFloat4646 = class414_26_.aFloat4646;
	aFloat4650 = class414_26_.aFloat4650;
    }
    
    public static void method5089(int i) {
	anInt4645 = i;
	aClass414Array4644 = new Class414[i];
	anInt4649 = 0;
    }
    
    static Class414 method5090(float f, float f_27_, float f_28_,
			       float f_29_) {
	synchronized (aClass414Array4644) {
	    if (anInt4649 == 0) {
		Class414 class414 = new Class414(f, f_27_, f_28_, f_29_);
		return class414;
	    }
	    aClass414Array4644[--anInt4649].method5059(f, f_27_, f_28_, f_29_);
	    Class414 class414 = aClass414Array4644[anInt4649];
	    return class414;
	}
    }
    
    public final void method5091() {
	float f = 1.0F / method5087(this);
	aFloat4647 *= f;
	aFloat4648 *= f;
	aFloat4646 *= f;
	aFloat4650 *= f;
    }
    
    public final void method5092() {
	aFloat4647 = -aFloat4647;
	aFloat4648 = -aFloat4648;
	aFloat4646 = -aFloat4646;
    }
    
    final void method5093() {
	aFloat4647 = -aFloat4647;
	aFloat4648 = -aFloat4648;
	aFloat4646 = -aFloat4646;
	aFloat4650 = -aFloat4650;
    }
    
    public final void method5094(Class414 class414_30_) {
	method5059((class414_30_.aFloat4650 * aFloat4647
		    + class414_30_.aFloat4647 * aFloat4650
		    + class414_30_.aFloat4648 * aFloat4646
		    - class414_30_.aFloat4646 * aFloat4648),
		   (class414_30_.aFloat4650 * aFloat4648
		    - class414_30_.aFloat4647 * aFloat4646
		    + class414_30_.aFloat4648 * aFloat4650
		    + class414_30_.aFloat4646 * aFloat4647),
		   (class414_30_.aFloat4650 * aFloat4646
		    + class414_30_.aFloat4647 * aFloat4648
		    - class414_30_.aFloat4648 * aFloat4647
		    + class414_30_.aFloat4646 * aFloat4650),
		   (class414_30_.aFloat4650 * aFloat4650
		    - class414_30_.aFloat4647 * aFloat4647
		    - class414_30_.aFloat4648 * aFloat4648
		    - class414_30_.aFloat4646 * aFloat4646));
    }
    
    public final void method5095() {
	float f = 1.0F / method5087(this);
	aFloat4647 *= f;
	aFloat4648 *= f;
	aFloat4646 *= f;
	aFloat4650 *= f;
    }
    
    public String toString() {
	return new StringBuilder().append(aFloat4647).append(",").append
		   (aFloat4648).append
		   (",").append
		   (aFloat4646).append
		   (",").append
		   (aFloat4650).toString();
    }
    
    public static Class414 method5096(Class414 class414) {
	synchronized (aClass414Array4644) {
	    if (anInt4649 == 0) {
		Class414 class414_31_ = new Class414(class414);
		return class414_31_;
	    }
	    aClass414Array4644[--anInt4649].method5088(class414);
	    Class414 class414_32_ = aClass414Array4644[anInt4649];
	    return class414_32_;
	}
    }
}
