The TetGen class provides an interface for creating tetrahedral finite  
element meshes from PolyData solid models using the TetGen open source  
mesh generator.                                                         

The TetGen class inherits most of its methods from the Mesher base class. 

   Compute the boundary faces for the solid model. 
   This method needs to be called only for PolyData solid models that do    
   not have face information already defined (e.g. models from STL files).  
   It does not need to be called for OpenCascade or Parasolid models.       
   For PolyData models faces are distinguished using the angle of the       
   normals between adjacent triangles. If the angle is less than or equal   
   to the 'angle' argument then the triangles are considered to part of     
   the same face. 
     angle (double): The angle in degrees used to determine the boundary faces of the solid model. 

   Generate a mesh using the supplied meshing parameters. 
     options (meshing.TetGenOptions): The meshing parameters used to   
         generate a mesh. 

   Get the mesh face VTK PolyData for the given face ID.  
     face_id (int): The face ID to get the PolyData for. 
   Returns (vtkPolyData): The VTK PolyData object for the face.  

   Get the mesher kernel. 
   Returns (str): The name of the mesher kernel. 

  Get the generated volume mesh.                                             
  Returns (vtkUnstructuredGrid) The generated volume mesh.                   

  Get the mesh solid model face IDs. 
  Returns list([int]): The list of integer face IDs. 

   Get the VTK PolyData for the mesh solid model. 
   Returns (vtkPolyData): The VTK PolyData object for the mesh solid model. 

   Get the mesh surface as VTK PolyData. 
   Returns (vtkPolyData): The VTK PolyData object for the mesh surface.  

load_mesh(volume_file, surface_file=None)  
   Load a mesh from a VTK .vtu file.                                        
     volume_file (str): The name of the VTK .vtu file containing a           
         volume mesh.                                                        
     surface_file (Optionla[str]): The name of the VTK .vtp file containing a
         surface mesh. 

  Load a solid model from a file into the mesher. 
    file_name (str): Name in the solid model file. 

set_boundary_layer(number_of_layers, edge_size_fraction, layer_decreasing_ratio, 
   Set the options for boundary layer meshing. 
     number_of_layers (int): The number of boundary layers to create. 
     edge_size_fraction (float): The fraction of the edge size meshing 
         option to use as the size for the initial boundary layer. This is 
         typically set to be between 0.0 and 1.0. 
     layer_decreasing_ratio (float): The amount of the size decrease between 
         successive boundary layers. 
     constant_thickness (bool): If True then the boundary layers will have a 
         constant thickness. 

   Set the given faces to be of type wall. 
   This function must be called prior to meshing to identify model wall     
   and cap faces.                                                           
   A solid model must be loaded before calling this function. The solid     
   model must have boundary faces defined for it.                           
     face_ids (list[int]): The face IDs to set to type wall. 

   Write the generated volume mesh to a file. 
   The format of the file depends on the meshing kernel used to generate the  
      1) TetGen - A vtkUnstructuredGrid .vtu file.                            
      2) MeshSim - A MeshSim .sms file.                                       
     file_name (str): The name of the file to write the mesh to.