#include "treibstofftank.pov"
#include "speicherbank.pov"
#include "kraftwerk.pov"

#local Z = -35;

#declare deck_04 = 
    union {
	#if (1)
	intersection {
	    union {
		difference {
		    object { huelle }
		    // Ausschnitte
		}
	    }
	    box {
		<-50, Z+5, -50>
		< 50, Z+0,  50>
	    }
	}
	#end
	difference {
	    cone {
		<0, (Z+0.2), 0> sqrt(pow(49,2)-pow((Z+0.2),2)),
		<0, (Z-0.2), 0> sqrt(pow(49,2)-pow((Z-0.2),2))
		texture { T_arkonstahl }
	    }

	    // Ausschnitt f. Landestützen
	    #local aa = 0;
	    #while (aa < 360 ) 
		union {
		    cone {
			<23, Z-0.3, 0>, 2
			<23, Z+0.3, 0>, 2
		    }
		    box {
			<23, Z-0.3, -2>
			<28, Z+0.3, +2>
		    }
		    cone {
			<28, Z-0.3, 0>, 2
			<28, Z+0.3, 0>, 2
		    }
		    texture { T_arkonstahl }
		    rotate <0, aa, 0>
		}
		#local aa = aa + 30;
	    #end

	    #if (SCHNITT_1)
	    intersection {
		torus {
		    23, 23
		}
		plane { 
		    <0, 0, -1> 0
		    rotate <0, 45, 0>
		}
		plane { 
		    <0, 0, +1> 0
		    rotate <0, -45, 0>
		}
		rotate <0, 135, 0>
		translate <0, Z, 0>
	    }
	    #end
	}

	#if (1)
	// Treibstofftanks
        #local rr = 30.5;
	#while (rr < 38.0) 
	    #local da = degrees(asin(0.5/rr))*2;
	    #local da = 360 / int(360 / da);
	    #local aa = 0;
	    #while (aa <= 360 - da) 
		#local ss = 1;
		#if (SCHNITT_1)
		    #local pp = vrotate(<rr, 0, 0>, <0, aa, 0>);
		    #if (pp.x < 0 & pp.z < 0) 
			#local ss = 0;
		    #end
		#end
		#if (ss) 
		    object {
			treibstofftank
			translate <rr, (Z+0.2), 0>
			rotate <0, aa, 0>
		    }
		#end
		#local aa = aa + da;
	    #end
	    #local rr = rr + 1.0;
	#end
	#end

    }


