// Landing Strut in normal position:
#include "ynkelonium_texture.pov"

#declare Half_Sphere = 
        intersection {
                sphere { <0, 0, 0>, 1}
                plane { <0, -1, 0>, 0}
                bounded_by { box {<-1, 0, -1>, <1, 1, 1>}}
        }


#declare Strut = 
        union {
                object {
                        Half_Sphere
                        scale 4.5
                        translate <0, 12, 0>
                }
                cone {
                        <0, 12, 0>, 4.5
                        <0, 0, 0>, 4.5
                }
                superellipsoid {
			<1, 0.25>
			rotate <90, 0, 0>
			scale <6.2, 0.95, 6.2>
                        translate <0, -0.95, 0>
                }
		#declare Strut_Y_Off = -1.9 + 8.2 * (1 - Strut_Ext)
                cone {
                        <0, 0, 0>, 2.8,
                        <0, -4.2, 0>, 2.8
                        translate <0, Strut_Y_Off, 0>
                }
		#declare Strut_i = 0
		#while (Strut_i < 360)
		    cone {
			    <0, -4.2, 2.4>, 0.3
			    <0, -4.5, 2.4>, 0.25
			    rotate <0, Strut_i, 0>
			    translate <0, Strut_Y_Off, 0>
			    texture {pigment {color White*0.5}}
		    }
		    #declare Strut_i = Strut_i + 72
		#end
		#declare Strut_Y_Off = Strut_Y_Off - 4.2 + 1.3 * (1 - Strut_Ext)
                cone {
                        <0, 0, 0>, 2.1,
                        <0, -1.9, 0>, 2.1
                        translate <0, Strut_Y_Off, 0>
                }
		#declare Strut_Y_Off = Strut_Y_Off - 1.9
		#declare Strut_i = 0
		#while (Strut_i < 360)
		    cone {
			    <0, 1.6, 2.4>, 0.2
			    <0, 0.3, 2.4>, 0.2
			    rotate <0, Strut_i, 0>
			    translate <0, Strut_Y_Off, 0>
			    texture {pigment {color White*0.5}}
		    }
		    cone {
			    <0, 0.3, 2.4>, 0.25
			    <0, 0, 2.4>, 0.3
			    rotate <0, Strut_i, 0>
			    translate <0, Strut_Y_Off, 0>
			    texture {pigment {color White*0.5}}
		    }
		    #declare Strut_i = Strut_i + 72
		#end
                cone {
                        <0, 0, 0>, 2.7
                        <0, -1.9, 0>, 1.9
                        translate <0, Strut_Y_Off, 0>
                }
		#declare Strut_Y_Off = Strut_Y_Off - 1.9 - 1.5
                object {
                        Half_Sphere
                        scale 2.0
                        translate <0, Strut_Y_Off, 0>
			texture {pigment {color White*0.25}}
                }
		#declare Strut_i = 0
		#while (Strut_i < 360)
		    cone {
			    <-0.5, 0, 2.7>, 1.5
			    < 0.5, 0, 2.7>, 1.5
			    rotate <0, Strut_i, 0>
			    translate <0, Strut_Y_Off, 0>
			    texture {pigment {color White*0.5}}
		    }
		    #declare Strut_i = Strut_i + 90
		#end
                superellipsoid {
			<1, 0.25>
			rotate <90, 0, 0>
			scale <6.2, 1.1, 6.2>
                        translate <0, Strut_Y_Off-1.1, 0>
                }
		#declare Strut_Y_Off = Strut_Y_Off - 2.2
		#declare Strut_i = 0
		#while (Strut_i < 360)
		    superellipsoid {
			    <0.25, 0.25>
			    scale < 1.3, 0.2, 1.3>
			    translate <0, 0, 5.1>
			    rotate <0, Strut_i, 0>
			    translate <0, Strut_Y_Off, 0>
			    texture {pigment {color White}}
		    }
		    #declare Strut_i = Strut_i + 36
		#end
                texture {Ynkelonium_Texture}
        }
