// Last edited on DATE TIME by USER
// Processed by remove-cam-lights

background{ color rgb < 1,1,1 > }

 #declare tx_plastico =
  texture{
    pigment{ color rgb < 0.10, 0.80, 1.00 > }
    finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 }
  }
  #declare tx_borracha =
  texture{
    pigment{ color rgb < 0.21, 0.25, 0.24 > }
    finish{ diffuse 0.8 ambient 0.1 specular 0.5 roughness 0.005 }
  }
  #declare tx_espelho =
  texture{
    pigment{ color rgb < 1.00, 1, 1 > }
    finish{ diffuse 0.2 reflection 0.7*< 0.20, 0.63, 0.87 > ambient 0.1 }
  }
  #declare tx_bico =
  texture{
    pigment{ color rgb < 0.48, 0.25, 0 > }
    finish{ diffuse 0.9 ambient 0.1 }
  }
    #declare tx_roda =
  texture{
    pigment{ color rgb < 0.21, 0.25, 0.24 > }
    finish{ diffuse 0.9 ambient 0.1 }
  }

#declare tx_corpo =
  texture{
    pigment{ color rgb < 0.48,0.66,0.87 > }
    finish{ diffuse 0.9 ambient 0.1 }
  }

#declare raio = 1.000;
#include "retalho.inc"

#include "eixos.inc"
#declare estrutura =
cylinder{
                        <0,0,0>,
                        <2,0,0>,0.1
                        texture{tx_espelho}
        }
#declare roda =
cylinder{
                        <0,0,0>,
                        <0,0.3,0>,0.5
                        texture{tx_borracha}
        }

#declare encosto =
box{<0,0,0>,<3,1.4,0.3> texture{tx_plastico}}

#declare baixo_sofa_tampa =
box{<0,0,0>,<3,4.5,0.2> texture{tx_plastico}}

#macro gomo_sofa(c,m,f)
union{
#local A = array[4][4];
#local A[0][0]=<0,0,0>;
#local A[1][0]=<1,0,c*0.2>;
#local A[2][0]=<2,0,c*0.2>;
#local A[3][0]=<3,0,0>;
#local A[0][1]=<0,0.5,0>;
#local A[1][1]=<1,0.5,m*0.2>;
#local A[2][1]=<2,0.5,m*0.2>;
#local A[3][1]=<3,0.5,0>;
#local A[0][2]=<0,1,0>;
#local A[1][2]=<1,1,m*0.2>;
#local A[2][2]=<2,1,m*0.2>;
#local A[3][2]=<3,1,0>;
#local A[0][3]=<0,1.5,0>;
#local A[1][3]=<1,1.5,f*0.2>;
#local A[2][3]=<2,1.5,f*0.2>;
#local A[3][3]=<3,1.5,0>;
object{
retalho(A[0][0],A[0][1],A[0][2],A[0][3],A[1][0],A[1][1],A[1][2],A[1][3],A[2][0],A[2][1],A[2][2],A[2][3],A[3][0],A[3][1],A[3][2],A[3][3], 0.000000001 , texture {tx_bico} , texture {tx_plastico})
}
}

#end

#macro baixo_sofa(i)
union{

        object{ gomo_sofa(0,i*1,i*2) translate<0,0,0>}
        object{ gomo_sofa(i*2,i*3,i*2) translate<0,1.5,0>}
        object{ gomo_sofa(i*2,i*1,0) translate<0,3,0>}
        object{ baixo_sofa_tampa translate<0,0,-0.2>}
        }

        #end
        #declare sofa=
        union{

                        object{baixo_sofa(1) rotate<0,0,0> }

                        object{baixo_sofa(0) rotate<0,-90,180> translate<0,4.5,0> scale<0,0,0.7>}
                        object{encosto rotate<90,0,0> translate<0,0.3,0>}
                        object{encosto rotate<90,0,0> translate<0,4.5,0>}
                }
declare estrutura_completa =
union{
        object{estrutura translate<1,1.10,0.25>}
        object{estrutura translate<1,0.8,0.25>}
        object{roda translate<4.3,1.2,0.25> scale<0.7,0.7,0.7>}
        }
union{
        object{eixos(3.00)}
        object{estrutura_completa translate<0,0.2,0.1>}
        object{roda translate<0.75,0,0.25>}
        object{roda translate<0.75,1.95,0.25>}
        object{sofa translate<0,0,1> scale<0.5,0.5,0.5>}

        }
#include "camlight.inc"
#declare centro_cena = < 0.00, 0.00, 0.00 >;
#declare raio_cena = 3.0;
#declare dir_camera = < 14.00, 7.00,4.00 >;
#declare dist_camera = 16.0;
#declare intens_luz = 1.00;
camlight(centro_cena, raio_cena, dir_camera, dist_camera , z, intens_luz)