/*

    Kabinenentwurf 2:

    (für Aufteilung: 15 m Zentrale, 40 m Kabinen)

    Innenradius 7.5 m, Außenradius 12.5, 
    4 Blöcke á 4 Kabinen: 17 m² pro Kabine

 */

#declare eps=1E-3;

#include "einrichtung.pov"

#declare kabine2 = 
    union {
	intersection {
	    union {
		difference {
		    cylinder {
			<0, 0, 0>
			<0, 5, 0>
			12.5
		    }
		    cylinder {
			<0, 0-eps, 0>
			<0, 5+eps, 0>
			12.4
		    }
		}
		difference {
		    cylinder {
			<0, 0, 0>
			<0, 5, 0>
			7.6
		    }
		    cylinder {
			<0, 0-eps, 0>
			<0, 5+eps, 0>
			7.5
		    }
		}
		difference {
		    cylinder {
			<0, 0, 0>
			<0, 5, 0>
			8.5
		    }
		    cylinder {
			<0, 0-eps, 0>
			<0, 5+eps, 0>
			8.49
		    }
		    texture {
			pigment {
			    color rgbf <1, 1, 1, 0.5>
			}
		    }
		}
	    }
	    box {
		<1, 0-eps, 1>
		<12.5, 5+eps, 12.5>
	    }
	}
	intersection {
	    union {
		#local A = 0;
		#while (A <= 90) 
		    union {
			box {
			    <1.0-1.05, 0, 0>
			    <1.1-1.05, 5, 12.5>
			}
			#if (A > 0) 
			    object {
				bett
				rotate <0, 90, 0>
				translate <-1, 0, 11.0>
			    }
			    object {
				kasten
				rotate <0, 90, 0>
				translate <-0.6, 0, 9.0>
			    }
			#end
			#if (A < 90) 
			    union {
				object {
				    tisch 
				}
				object {
				    stuhl
				    translate <0.5, 0, 0>
				    rotate <0, 0, 0>
				}
				object {
				    stuhl
				    translate <0.5, 0, 0>
				    rotate <0, 120, 0>
				}
				object {
				    stuhl
				    translate <0.5, 0, 0>
				    rotate <0, 240, 0>
				}
				translate <1.5, 0, 9>
			    }

			    object {
				duschwanne
				translate <0.5, 0, 6.5>
			    }

			    object {
				waschbecken
				rotate <0, -80, 0>
				translate <1.3, 0, 6.5>
			    }

			    object {
				klo
				rotate <0, -70, 0>
				translate <2.0, 0, 6.0>
			    }
			#end
			rotate <0, A, 0>
			translate <1.05, 0, 1.05>
		    }

		    #local A = A + 22.5;
		#end
	    }
	    difference {
		cylinder {
		    <0, 0+eps, 0>
		    <0, 5-eps, 0>
		    12.5
		}
		cylinder {
		    <0, 0-eps, 0>
		    <0, 5+eps, 0>
		    7.5
		}
	    }
	}
		    
	texture {
	    pigment {
		color <0.8, 1.0, 0.8>
	    }
	}
    }

