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

//------------------------------------------------------------------------------ /////////  
//---------------------------------------------------------------------------------
#ifndef(  Round_Bottom_Mace_1_Inc_Temp)
#include "Round_Bottom_Mace_1.inc"
#end
//---------------------------------------------------------------------------------
#macro Round_Bottom_Flask_1 (     //  A round-bottom flask  
                Glass_D, // 0.004, // 
                Neck_Fillet_R, // = 0.050, // > 0 //radius neck base fillet // Hohlkehle 
                Bowl_Radius, // = 0.100, // base bowl radius
                Neck_Radius, // = 0.030,  // neck radius
                Neck_Length, // = 0.100, // 0=non; neck linear length 
                Merge_On, // =1, //   1 for transparent materials, else: 0 
              ) //------------------------------------------------------------------
//----------------------------------------------------------------------------------
#local D = 0.001;
#if( Neck_Fillet_R < D ) 
 //---------------------------------------------------------------------------------                 
 #debug concat("neck base fillet radius set to ",str(Neck_Fillet_R,12,8),"\n",
                "should be > 0\n",
                "Set to  0.00001\n\n") 
 //---------------------------------------------------------------------------------                 
 #declare  Neck_Fillet_R = D; 
#end
//----------------------------------------------------------------------------------

#declare D = 0.000001;
#declare Glass_D = 0.004*1;
#declare Neck_Fillet =  0.050*1;
#declare Bowl_Radius = 0.100*1;
#declare Neck_Radius = 0.030*1;  
#declare Neck_Length = 0.100*1; 
//----------------------------------------------------------------------------------
//----------------------------------------------------------------------------------
// Round_Bottom_Flask_1 
#if ( Merge_On = 1) merge{ 
#else               union{
#end 

difference{ 
object{ Round_Bottom_Mace_1 (     //  A round-bottom flask  
                // declares: Total_Height_of_Flask
                Neck_Fillet_R, // > 0 // neck base fillet // Hohlkehle 
                Bowl_Radius, // base bowl radius
                Neck_Radius, // neck radius
                Neck_Length, // 0=non; neck linear length 
                1, //   1 for transparent materials, else: 0 
              ) //------------------------------------------------------------------  
        hollow
      } 
object{ Round_Bottom_Mace_1 (     //  A round-bottom flask  
                // declares: Total_Height_of_Flask
                Neck_Fillet_R+Glass_D, // > 0 // neck base fillet // Hohlkehle 
                Bowl_Radius-Glass_D, // base bowl radius
                Neck_Radius-Glass_D, // neck radius
                Neck_Length+0.001, // 0=non; neck linear length 
                0, //   1 for transparent materials, else: 0 
              ) //------------------------------------------------------------------  
        hollow
      }
 
}// end difference
 // neck brace 
 torus{Neck_Radius+Glass_D,Glass_D translate<0,Total_Height_of_Mace,0> } 

} // end of object ---------------------------------------------------------------------- 
// --------------------------------------------------------------------------------------
#end// of macro ------------------------------------------------------// end of macro




//---------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------
// sample: 
/*
//---------------------------------------------------------------------material / texture
#declare Glass_Material = 
material{ //---------------------------------------------------------------------  
          texture{ pigment{ rgbf <0.98, 0.98, 0.98, 0.95> }
                   finish { diffuse 0.1 reflection 0.1  
                            specular 0.8 roughness 0.0003 phong 1 phong_size 400}
                 } // end of texture -------------------------------------------- 
         interior{ ior 1.45   caustics 0.85
                 } // end of interior ------------------------------------------- 
      } // end of material ------------------------------------------------------ 
//-------------------------------------------------------------------------------------//
#include "Round_Bottom_Flask_1.inc" 
//-------------------------------------------------------------------------------------// 
object{ Round_Bottom_Flask_1 (     //  A round-bottom flask  
                // declares: Total_Height_of_Flask
                0.004, // Glass_D, //
                0.050, // Neck_Fillet, // > 0 //radius neck base fillet // Hohlkehle 
                0.100, // Bowl_Radius, // base bowl radius
                0.030, // Neck_Radius, // neck radius
                0.100, // Neck_Length, //  0=non; neck linear length 
                1, // Merge_On, //  1 for transparent materials, else: 0 
              ) //---------------------------------------------------------------------//
        material{ Glass_Material }
        scale <1,1,1>*1
        rotate<0,0,0> 
        translate<0.00,0.00, 0.00>}
//---------------------------------------------------------------------------------------
//---------------------------------------------------------------------------------------
*/


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

