#include "colors.inc"
#include "shapes.inc"
#include "textures.inc"
#include "metals.inc"
#include "glass.inc"
#include "ynkelonium_texture.pov"
#include "T_BlackMetal.pov"
#include "Triebwerk.pov"

#declare Zylinder = 
    union {
	cone {
	    <0,-750,0>, 750
	    <0,750,0>, 750
	}
	difference {
	    cone {
		<0,750,0>, 750
		<0,870,0>, 630
	    }
	    sphere {
		<0, 1250+750, 0> 1250
	    }
	}
	difference {
	    cone {
		<0,-750,0>, 750
		<0,-870,0>, 630
	    }
	    sphere {
		<0, -(1250+750), 0> 1250
	    }
	}
	texture {
	    Ynkelonium_Texture
	}
    }

#declare R1 = 750;
#declare R2 =  400;
#include "ringwulst.pov"

#declare Landestuetzen =
    union {
	#declare i = 15;
	#while (i < 360)
	    union {
		union {
		    sphere {
			<0, 240, 0>, 50
		    }
		    cone {
			<0, 240, 0>, 53
			<0, 200, 0>, 53
		    }
		    box {
			<-80, 200, -53>
			<- 0, 240, 53>
			rotate <0, 30, 0>
		    }
		    box {
			<-80, 200, -53>
			<- 0, 240, 53>
			rotate <0, -30, 0>
		    }
		    cone {
			<0, 240, 0>, 50
			<0, 0, 0>, 50
		    }
		    cone {
			<0, 100, 0>, 30
			<0, 0, 0>, 30
		    }
		    union {
			cone {
			    <0, 100, 0>, 20
			    <0, 0, 0>, 20
			}
			sphere {
			    <0, 45, 0>, 27
			}
			cone {
			    <0, 45, 0>, 42
			    <0, 10, 0>, 66
			}
			cone {
			    <0, 10, 0>, 100
			    <0, 0, 0>, 100
			    texture {
				pigment { color rgb <0.7, 0.5, 0.7> }
				finish {
				    ambient 0.2
				    diffuse 0.35
				    specular 0.55
				    roughness 0.1
				    reflection 0.25
				    brilliance 1.0
				}
			    }
			}
			translate <0, -70, 0>
		    }
		    translate <0, -10, 0>
		    texture {
			Ynkelonium_Texture
		    }
		}
		translate <800, -750, 0>
		rotate <0, i, 0>
	    }
	    #declare i = i + 30;
	#end
    }

#declare Mittelstueck = 
union {
    object {
	Zylinder
    }
    object {
	Ringwulst
    }
    object {
	Landestuetzen
    }
}

// vim:sw=4

