//-------------------------------------------------------------------
#declare My_Test_Object =
difference{
 union{ // positiv
   sphere{ <0,0,0>, 2.75 
           texture{ pigment{ color rgb< 0.5, 1.0, 0.0>}
                    finish { phong 1 }
                  } // end of texture 
           scale<1,1,1>  rotate<0,0,0>  translate<0,0,0>  
         } // end of sphere ---------------------------- 
   torus{ 1.5,0.3 
          texture{ pigment{ color rgb<0.5,1.0,0>}
                   finish { phong 1}
                 } // end of texture
          scale <1,1,1> rotate<0,0,0> translate<0,2.5,0>
        } // end of torus ------------------------------              
 }// end of union

 sphere  { <0,0,0>, 2.15 
           texture{ pigment{ color rgb<1,0.6,0> } 
                    finish { phong 1}
                  } // end of texture  
           scale<1,1,1>  rotate<0,0,0> translate<0,0,0>  
         }  // end of sphere ----------------------------  
 cylinder{ <0,-1.5,0>,<0,3.5,0>, 1.50 
           texture{ pigment { color rgb<1,1,1>}
                    finish  { phong 0.5}
                  } // end of texture
           scale <1,1,1> rotate<0,0,0> translate<0,0,0>
         } // end of cylinder  -------------------------
  scale<1,0.6,1> rotate<0,0,0> translate<0,0,0>  
} // end of diff

//-------------------------------------------------------------------
#include "shapes3.inc"
//-------------------------------------------------------------------
object{ Segment_of_Object( My_Test_Object, -225 )   
        texture{ pigment{ color rgb<1,1,1>*1.2} 
                 finish { phong 1}
               } // end of texture 
        scale <1,1,1>*0.5 rotate<0,0,0> translate<0,0,0>
      }
//-------------------------------------------------------------------
 