// Persistence of Vision Ray Tracer Scene Description File
// File: Sink.pov
// Vers: 3.1
// Desc: Object Descriptions
// Date: July 15, 2001 
// Auth: Michael Koopman - mkoopman@hotmail.com
//  URL: http://www.geocities.com/ronfar.geo

#include "colors.inc"
#include "textures.inc"
#include "metals.inc"
#include "glass.inc"
#include "stones.inc"
#include "Sink Objects.inc"


default {
   pigment { White }
}

/*
camera {
   location <-3, -3, -2.5>
   look_at <0, -3, -15>
//   orthographic
}
*/


camera {
   location <-4.25, 3, -10>
   look_at <-0.25, 1, 0>
}



/*
camera {
   location <-10, 5, -10>
   look_at <0, 0, 0>
}
*/


/*
camera {
   location <-10, 0, -1.5>
   look_at < -8, 0.0001, -1.5>
   orthographic
}
*/



/*

light_source {
   <-10, 9, -12>
   Gray40
}


light_source {
   <-10, 9, -10>
   Gray20
}

light_source {
   <-10, 9, -8>
   Gray10
}




light_source {
   <-2, 7.5, 1>
   Gray20
}

light_source {
   <-1, 7.5, 1>
   Gray20
}

light_source {
   < 0, 7.5, 1>
   Gray20
}

light_source {
   < 1, 7.5, 1>
   Gray20
}

light_source {
   < 2, 7.5, 1>
   Gray20
}

*/







light_source {
   <-10, 9, -12>
   Gray40
   area_light <0, 1, 0>, <0, 0, 1>, 2, 2
   adaptive 1
   jitter
}


light_source {
   <-10, 9, -10>
   Gray20
   area_light <0, 1, 0>, <0, 0, 1>, 2, 2
   adaptive 1
   jitter
}

light_source {
   <-10, 9, -8>
   Gray10
   area_light <0, 1, 0>, <0, 0, 1>, 2, 2
   adaptive 1
   jitter
}




light_source {
   <-2, 7.5, 1>
   Gray20
   area_light <1, 0, 0>, <0, 0, 1>, 2, 2
   adaptive 1
   jitter
}

light_source {
   <-1, 7.5, 1>
   Gray20
   area_light <1, 0, 0>, <0, 0, 1>, 2, 2
   adaptive 1
   jitter
}

light_source {
   < 0, 7.5, 1>
   Gray20
   area_light <1, 0, 0>, <0, 0, 1>, 2, 2
   adaptive 1
   jitter
}

light_source {
   < 1, 7.5, 1>
   Gray20
   area_light <1, 0, 0>, <0, 0, 1>, 2, 2
   adaptive 1
   jitter
}

light_source {
   < 2, 7.5, 1>
   Gray20
   area_light <1, 0, 0>, <0, 0, 1>, 2, 2
   adaptive 1
   jitter
}











//***** GLASS OF WATER *****//

difference {
   cylinder {
      <0, 0, 0>,
      <0, 1.3, 0>,
      0.4
      translate <3, 0, 1>
      texture { T_Glass2 }
      interior { I_Glass }
   }

   cylinder {
      <0, 0, 0>,
      <0, 1.3, 0>,
      0.4
      scale <0.9, 1.1, 0.9>
      translate <3, 0, 1>
      texture { T_Glass1 }
      interior { I_Glass }
   }
}

//***** END GLASS OF WATER *****//



difference {
object {
   CounterTop
   finish { phong 1 }
}

object {
   CounterTop
   scale 1.1
   translate y*-0.5
   finish { phong 1 }
}
}

box {
   <-4, 0, 2.35>,
   < 4, 0.95, 2.5>
   finish { phong 1 }
}

box {
   <-4, 0, 2.4>,
   < 4, 1, 2.5>
   finish { phong 1 }
} 

cylinder {
   <-4, 0.95, 2.4>,
   < 4, 0.95, 2.4>,
   0.05
   finish { phong 1 }
}


//***** WATER *****//

box {
   <-2.5, -2, -2>,
   < 2.5, -0.4 2>
   texture { T_Glass1 }
   interior { I_Glass }
   normal { ripples frequency 3 }
}

//***** END WATER *****//



object {
   Faucet
   translate z*2
}



object {
   AC_Outlet
   translate <-4, 1.75, 2.5>
}





//***** MIRROR *****//

box {
   <-3.25, 1.75, 2.3>,
   < 3.25, 6.25, 2.4>
   pigment { Silver }
   finish { reflection 0.1 phong 1 }
}

box {
   <-3, 2.00, 2.4>,
   < 3, 6.00, 2.5>
   pigment { Black }
}
   

//***** END MIRROR *****//





object {
   TrashCan
   translate <-4.75, -3.6, 0.5>
}


object {
   FinishedBrush
   scale 0.0625
   rotate y*-4
   translate <-3, 0.025, -1.5>
}

//====================================================================================//


#declare PictureFrame =
union {

   box {
      <-0.1, -0.1, 0.05>,
      < 4.1,  3.1, 0.2>
      rotate y*180
      translate z*-15.25
      pigment { Gray20 }
   }

   box {
      < 0, 0, 0.0>,
      < 4, 3, 0.1>
      rotate y*180
      translate z*-15.25
      pigment {
         image_map { tga "c:\windows\desktop\pebble2.tga" once interpolate 2 }
         scale <4, 3, 1>
         rotate y*180
      }
   }
}

object {
   PictureFrame
   translate <3, 3, 0>
}


//***** SHELF *****//

cylinder {
   <0, -10, 0>,
   <0,   1.75, 0>,
   0.1
   translate <3.5, 0, -15>
   pigment { Gray20 }
   finish { phong 0.75 }
}

cylinder {
   <0, -10, 0>,
   <0,   1.75, 0>,
   0.1
   translate <3.5, 0, -14>
   pigment { Gray20 }
   finish { phong 0.75 }
}

cylinder {
   <0, -10, 0>,
   <0,   1.75, 0>,
   0.1
   translate <-1.5, 0, -15>
   pigment { Gray20 }
   finish { phong 0.75 }
}

cylinder {
   <0, -10, 0>,
   <0,   1.75, 0>,
   0.1
   translate <-1.5, 0, -14>
   pigment { Gray20 }
   finish { phong 0.75 }
}

box {
   <-2.7, 0, -0.7>,
   < 2.7, 0.1, 0.7>
   translate <1, 1.5, -14.5>
   texture { T_Glass1 }
   interior { I_Glass }
}

box {
   <-2.7, 0, -0.7>,
   < 2.7, 0.1, 0.7>
   translate <1, 0.5, -14.5>
   texture { T_Glass1 }
   interior { I_Glass }
}

box {
   <-2.7, 0, -0.7>,
   < 2.7, 0.1, 0.7>
   translate <1, -0.5, -14.5>
   texture { T_Glass1 }
   interior { I_Glass }
}

box {
   <-2.7, 0, -0.7>,
   < 2.7, 0.1, 0.7>
   translate <1, -1.5, -14.5>
   texture { T_Glass1 }
   interior { I_Glass }
}

box {
   <-2.7, 0, -0.7>,
   < 2.7, 0.1, 0.7>
   translate <1, -2.5, -14.5>
   texture { T_Glass1 }
   interior { I_Glass }
}

box {
   <-2.7, 0, -0.7>,
   < 2.7, 0.1, 0.7>
   translate <1, -3.5, -14.5>
   texture { T_Glass1 }
   interior { I_Glass }
}

box {
   <-2.7, 0, -0.7>,
   < 2.7, 0.1, 0.7>
   translate <1, -4.5, -14.5>
   texture { T_Glass1 }
   interior { I_Glass }
}

box {
   <-2.7, 0, -0.7>,
   < 2.7, 0.1, 0.7>
   translate <1, -5.5, -14.5>
   texture { T_Glass1 }
   interior { I_Glass }
}



//***** END SHELF *****//







//***** WALLS *****//


object {
   PatchTileWall
   translate z*2.55

}

object {
   PatchTileWall
   rotate y*90
   translate z*-5.2
   translate x*4.35
}

object {
   PatchTileWall
   rotate y*180
   translate z*-15.5
   translate x*0.5
}




/*
object {
   PatchTileWall
   scale 2
   rotate x*90
   translate <-0.2, -5.5, 0.45>
}
*/




box {
   <-10, 10, -20>,
   < 10, 11,  5>
}


/*
box {
   <-10, -10, 2.55>,
   < 10,  10, 2.6>
}

box {
   <4.35, -10, -10>,
   <4.36, 10, 5>
}


box {
   <-10, -6, -10>,
   < 10, -5.5,  10>
   pigment { White }
}
*/


//***** END WALLS *****//


//====================================================================================//


//***** WOOD SINK CABINET *****//

box {
   <-3.9, -10, -2.4>,
   < 3.9, -0.5, -2>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 translate z*1 }
   finish { phong 0.2 }
}


box {
   <-3.9, -10, -2.4>,
   <-3.8, -0.5, 2.5>
   pigment { DMFWood4 rotate <90, 90, 0> scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}


//***** DOORS *****//

difference {
   box {
      <-3.15, -5.9, -2.5>,
      <-0.35, -1.1, -2.4>
      pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
      finish { phong 0.2 }
   }

   box {
      <-2.65, -5.4, -2.6>,
      <-0.85, -1.6, -2.475>
      pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 translate <1, 0, 0.5> }
      finish { phong 0.2 }
   }
}

difference {
   box {
      < 0.35, -5.9, -2.5>,
      < 3.15, -1.1, -2.4>
      pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
      finish { phong 0.2 }
   }

   box {
      < 2.65, -5.4, -2.6>,
      < 0.85, -1.6, -2.475>
      pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 translate z*0.5 }
      finish { phong 0.2 }
   }
}







cylinder {
   <0, 0, 0>,
   <0, 0, -0.25>,
   0.1
   scale <1, 0.5, 1>
   translate <-0.6, -2.0, -2.5>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

cylinder {
   <0, 0, 0>,
   <0, 0, -0.25>,
   0.1
   scale <1, 0.5, 1>
   translate <-0.6, -3.0, -2.5>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

sphere {
   0, 0.1
   scale <1, 0.5, 1>
   translate <-0.6, -2.0, -2.75>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

sphere {
   0, 0.1
   scale <1, 0.5, 1>
   translate <-0.6, -3.0, -2.75>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

cylinder {
   <0, 0, 0>,
   <0, 1, 0>,
   0.1
   translate <-0.6, -3.0, -2.75>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}




cylinder {
   <0, 0, 0>,
   <0, 0, -0.25>,
   0.1
   scale <1, 0.5, 1>
   translate < 0.6, -2.0, -2.5>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

cylinder {
   <0, 0, 0>,
   <0, 0, -0.25>,
   0.1
   scale <1, 0.5, 1>
   translate < 0.6, -3.0, -2.5>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

sphere {
   0, 0.1
   scale <1, 0.5, 1>
   translate < 0.6, -2.0, -2.75>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

sphere {
   0, 0.1
   scale <1, 0.5, 1>
   translate < 0.6, -3.0, -2.75>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}


cylinder {
   <0, 0, 0>,
   <0, 1, 0>,
   0.1
   translate < 0.6, -3.0, -2.75>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}





/*
torus {
   0.5, 0.1
   rotate z*90
   scale <1, 1, 0.25>
   translate <-0.6, -3.5, -2.5>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

torus {
   0.5, 0.1
   rotate z*90
   scale <1, 1, 0.25>
   translate < 0.6, -3.5, -2.5>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}
*/


cylinder {
   <-3.15, -1.1, -2.4>,
   <-0.35, -1.1, -2.4>,
   0.1
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

cylinder {
   <-3.15, -5.9, -2.4>,
   <-3.15, -1.1, -2.4>,
   0.1
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

cylinder {
   <-0.35, -5.9, -2.4>,
   <-0.35, -1.1, -2.4>,
   0.1
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

cylinder {
   < 0.35, -1.1, -2.4>,
   < 3.15, -1.1, -2.4>,
   0.1
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

cylinder {
   < 3.15, -5.9, -2.4>,
   < 3.15, -1.1, -2.4>,
   0.1
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

cylinder {
   < 0.35, -5.9, -2.4>,
   < 0.35, -1.1, -2.4>,
   0.1
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

sphere {
   0, 1
   scale 0.1
   translate <-3.15, -1.1, -2.4>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

sphere {
   0, 1
   scale 0.1
   translate <-0.35, -1.1, -2.4>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

sphere {
   0, 1
   scale 0.1
   translate < 0.35, -1.1, -2.4>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}

sphere {
   0, 1
   scale 0.1
   translate < 3.15, -1.1, -2.4>
   pigment { DMFWood4 rotate x*90 scale 4 turbulence 0.2 }
   finish { phong 0.2 }
}





//***** END DOORS *****//


/*
box {
   <-3.5, -2, -2.5>,
   < 3.5, -0.75, -2.4>
   pigment { DMFWood4 rotate x*90 scale 5 turbulence 0.2 }
}

cylinder {
   <-3.5, -0.75, -2.4>,
   < 3.5, -0.75, -2.4>,
   0.1
   pigment { DMFWood4 rotate x*90 scale 5 turbulence 0.2 }
}
*/

//***** END WOOD SINK CABINET *****//

    Source: geocities.com/ronfar.geo