// POV-Ray 3.6 / 3.7 include file "Erlenmeyer_Flask_1.inc" 
// author: Friedrich A, Lohmueller, Feb-2010
// homepage: www.f-lohmueller.de/
//------------------------------------------------------------------------
#ifndef( Erlenmeyer_Flask_1_Inc_Temp)
#declare Erlenmeyer_Flask_1_Inc_Temp = version;
#version 3.6;

//---------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------
#ifndef(  Erlenmeyer_Shape_1_Inc_Temp)
#include "Erlenmeyer_Shape_1.inc" 
#end
//---------------------------------------------------------------------------------------
//----------------------------------------------------------------------------- /////////  
#macro Erlenmeyer_Flask_1 ( Glass_D_,  // ~ 0.003, //                              
                            Base_Height_,  // ~ 0.25, // 
                            Base_Half_Width_, // 0.12; 
                            Neck_Length_    , // 0.05;
                            Neck_Radius_    , // 0.03;
                            Fillet_Radius_  , // 0.10;
                            Base_Border_Radius_, // 0.025;
                            Merge_On_, // 1 for transparent materials 
                          ) //----------------------------------------------------------- 
//--------------------------------------------------------------------------------------- 
//--------------------------------------------------------------------------------------- 
#if ( Merge_On_ = 1) merge{ 
#else               union{
#end 

difference{ //---------------------------------------------------------------------------
 object{ Erlenmeyer_Shape_1( Base_Height_, // Base_H, // 
                             Base_Half_Width_, // Base_Half_Width, //
                             Neck_Length_, // Neck_Len, // 
                             
                             Neck_Radius_, // Neck_R, // 
                             Fillet_Radius_, // Fillet_R, // 
                             Base_Border_Radius_, // Base_Border_R, //
                             
                             Merge_On_, // Merge_On, // 
                          ) //-------------------------
       }
 object{ Erlenmeyer_Shape_1( Base_Height_-Glass_D_*1.5, // Base_H, // 
                             Base_Half_Width_-Glass_D_, // Base_Half_Width, //
                             Neck_Length_+0.01, // Neck_Len, // 
                             
                             Neck_Radius_-Glass_D_, // Neck_R, // 
                             Fillet_Radius_+Glass_D_, // Fillet_R, // 
                             Base_Border_Radius_-Glass_D_, // Base_Border_R, //
                             
                             Merge_On_, // Merge_On, // 
                          ) //-------------------------
         
         translate<0,Glass_D_,0> 
       } 
 } // end of differnce ------------------------------------------------------------------

// neck brace 
torus{Neck_Radius_+Glass_D_, Glass_D_ translate<0,Base_Height_+Neck_Length_,0>} 

} // end of union  ---------------------------------------------------------------------- 
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
#end// of macro ------------------------------------------------------// end of macro




//---------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------
// sample: 
/*
//----------------------------------------------------------------------------- textures
#declare Xxx_Texture = 
   texture { //Chrome_Metal}  
             pigment{ color rgb<1,1,1> } 
             finish { phong 0.1} 
           } // end of texture
//---------------------------------------------------------------------------------------
#include "Erlenmeyer_Flask_1.inc" 
//-------------------------------------------------------------------------------------// 
object{ Erlenmeyer_Flask_1(     , // sample of VAL
 
                   ) //----------------------------------------------------------------//
        texture { Xyz_Texture }
        scale <1,1,1>*1
        rotate<0,0,0> 
        translate<0.00,0.00, 0.00>}
//---------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------
*/


#version Erlenmeyer_Flask_1_Inc_Temp;
#end
//------------------------------------- end of include file

