#debug "\nCreation du Tableau .........\n"
#declare Z_Position = Z_Piece;
#declare X_Position = X_Piece / 5;

#declare Armature =
union{
   box{<X_Position,Bas_Tableau,Z_Position>,
       <X_Position + Arm,Haut_Tableau - Arm,Z_Position - Arm>
       texture{Tex_Armature rotate <90,0,0>}
      }

   box{<X_Position,Haut_Tableau - Arm,Z_Position>,
       <X_Position + Lar_Tableau - Arm,Haut_Tableau,Z_Position - Arm>
       texture{Tex_Armature rotate <90,25,90>}
      }

   box{<X_Position + Lar_Tableau ,Bas_Tableau + Arm,Z_Position>,
       <X_Position + Lar_Tableau - Arm,Haut_Tableau,Z_Position - Arm>
       texture{Tex_Armature rotate <-90,0,0>}
      }
   box{<X_Position + Arm,Bas_Tableau,Z_Position>,
       <X_Position + Lar_Tableau,Bas_Tableau + Arm,Z_Position - Arm>
       texture{Tex_Armature rotate <-90,-25,-90>}
      }
   box{<X_Position + Lar_Tableau / 2 - Arm / 2,Bas_Tableau + Arm,Z_Position>,
       <X_Position + Lar_Tableau / 2 - Arm / 2 + Arm,Haut_Tableau - Arm,Z_Position - Arm>
       texture{Tex_Armature rotate <90,2,1>}
      }
     }


#declare Toile =
plane{z,0
   clipped_by{
      box{<0,0,1>,<1,1,-1>}
             }
   texture{Tex_Blanche}
   texture{
      pigment{
      image_map{
         tga "Tableau.tga"
         map_type 0
         once
         interpolate 2
               }
             }
          }
   scale <Lar_Tableau,Hau_Tableau,E_Tableau>
   translate <X_Position,Bas_Tableau,Z_Position - Arm - E_Tableau>
     }


#declare Moulure_Horizontale =
difference{
   union{
      difference{
         box{<-Lar_Cadre * 0.9,0,0>,<Lar_Tableau + Lar_Cadre * 0.9,Lar_Cadre,E_Cadre> texture{Tex_Foncee_Tableau}}
         union{
            box{<-Lar_Cadre * 0.9 - 0.01,-0.1,E_Cadre - Arm>,<Lar_Tableau + Lar_Cadre * 0.9 + 0.01,Lar_Cadre * 0.1,E_Cadre + 0.01> texture{Tex_Invisible}}
            box{<-Lar_Cadre * 0.9 - 0.01,-0.1,-0.01>,<Lar_Tableau + Lar_Cadre * 0.9 + 0.01,Lar_Cadre * 0.10,1.5 * Arm> texture{Tex_Invisible}}
            box{<-Lar_Cadre * 0.9 - 0.01,Lar_Cadre * 0.10,-0.1>,<Lar_Tableau + Lar_Cadre * 0.9 + 0.01,Lar_Cadre * 0.40,1.2 * Arm> texture{Tex_Invisible}}
            box{<-Lar_Cadre * 0.9 - 0.01,Lar_Cadre * 0.40,-0.1>,<Lar_Tableau + Lar_Cadre * 0.9 + 0.01,Lar_Cadre * 0.60,0.9 * Arm> texture{Tex_Invisible}}
            box{<-Lar_Cadre * 0.9 - 0.01,Lar_Cadre * 0.60,-0.1>,<Lar_Tableau + Lar_Cadre * 0.9 + 0.01,Lar_Cadre * 0.90,0.8 * Arm> texture{Tex_Invisible}}
              }
                }
      box{<-Lar_Cadre * 0.9,0,1.5 * Arm>,<Lar_Tableau + Lar_Cadre * 0.9,Lar_Cadre * 0.10,1.5 * Arm - 0.1> texture{Tex_Blanche}}
      box{<-Lar_Cadre * 0.9,Lar_Cadre * 0.10,1.2 * Arm>,<Lar_Tableau + Lar_Cadre * 0.9,Lar_Cadre * 0.50,1.2 * Arm - 0.1> texture{Tex_Claire_Tableau}}
      box{<-Lar_Cadre * 0.9,Lar_Cadre * 0.40,0.9 * Arm>,<Lar_Tableau + Lar_Cadre * 0.9,Lar_Cadre * 0.50,0.8 * Arm> texture{Tex_Foncee_Tableau}}
      cylinder{<-Lar_Cadre * 0.9,Lar_Cadre * 0.45,0.8 * Arm>,<Lar_Tableau + Lar_Cadre * 0.9,Lar_Cadre * 0.45,0.8 * Arm> Lar_Cadre * .025 texture{Tex_Foncee_Tableau}}
      box{<-Lar_Cadre * 0.9,Lar_Cadre * 0.50,0.9 * Arm>,<Lar_Tableau + Lar_Cadre * 0.9,Lar_Cadre * 0.60,0.9 * Arm - 0.1> texture{Tex_Blanche}}
      cylinder{<-Lar_Cadre * 0.9,Lar_Cadre * 0.75,0.8 * Arm>,<Lar_Tableau + Lar_Cadre * 0.9,Lar_Cadre * 0.75,0.8 * Arm> Lar_Cadre * .15 texture{Tex_Foncee_Tableau}}
      cylinder{<-Lar_Cadre * 0.9,Lar_Cadre * 0.9,0.5 * Arm>,<Lar_Tableau + Lar_Cadre * 0.9,Lar_Cadre * 0.9,0.5 * Arm> Lar_Cadre * .1 texture{Tex_Foncee_Tableau}}
      cylinder{<-Lar_Cadre * 0.9,Lar_Cadre * 0.95,0 * Arm>,<Lar_Tableau + Lar_Cadre * 0.9,Lar_Cadre * 0.95,0 * Arm> Lar_Cadre * .035 texture{Tex_Foncee_Tableau}}
     }
   union{
      box{<-Lar_Cadre,0,-1>,<Lar_Cadre,Lar_Cadre * 0.75,E_Cadre * 1.2> rotate -45 * z translate<-Lar_Cadre * 0.9,0,0> texture{Tex_Invisible}}
      box{<-Lar_Cadre,0,-1>,<Lar_Cadre,Lar_Cadre * 0.75,E_Cadre * 1.2> rotate 45 * z translate<Lar_Tableau + Lar_Cadre * 0.9,0,0> texture{Tex_Invisible}}
        }
               }

#declare Moulure_Verticale =
difference{
   object{Moulure_Horizontale}
   union{
      box{<Hau_Tableau + Lar_Cadre * 0.9,- Lar_Cadre,- E_Cadre>,<Lar_Tableau + Lar_Cadre * 0.9,Lar_Cadre *2,E_Cadre * 2> texture{Tex_Invisible}}
      box{<-Lar_Cadre,0,-1>,<Lar_Cadre,Lar_Cadre * 0.75,E_Cadre * 1.2> rotate 45 * z translate<Hau_Tableau + Lar_Cadre * 0.9,0,0> texture{Tex_Invisible}}
        }
            }

#declare Tableau=
union{
object{Armature}
object{Toile}
object{Moulure_Horizontale translate<X_Position,Haut_Tableau - Lar_Cadre * 0.1,Z_Position - E_Cadre>}
object{Moulure_Verticale rotate 90 * z translate<X_Position + Lar_Cadre * 0.1,Bas_Tableau,Z_Position - E_Cadre>}
object{Moulure_Horizontale rotate 180 * z translate<X_Position + Lar_Tableau,Bas_Tableau + Lar_Cadre * 0.1,Z_Position - E_Cadre>}
object{Moulure_Verticale rotate -90 * z translate<X_Position + Lar_Tableau - Lar_Cadre * 0.1,Haut_Tableau,Z_Position - E_Cadre>}
      }

