29 #include "libmesh/function_base.h" 
   30 #include "libmesh/fem_function_base.h" 
   34   template<
typename FunctionType>
 
   44     std::vector<std::string> local_var_names = this->get_var_names();
 
   46     libMesh::UniquePtr<FunctionType>
 
   47       func = this->build_func( *(this->_input), *(this->_system),
 
   48                                local_var_names, this->_section );
 
   52     std::vector<VariableIndex> local_var_indices;
 
   53     this->build_var_indices(*(this->_system), local_var_names, local_var_indices);
 
   55     libMesh::UniquePtr<libMesh::DirichletBoundary> new_dbc =
 
   56       this->make_dirichlet_boundary( *(this->_bc_ids), *(this->_system),
 
   57                                      func, local_var_indices );
 
   66   libMesh::UniquePtr<libMesh::DirichletBoundary>
 
   68   ( 
const std::set<BoundaryID>& bc_ids,
 
   69     const libMesh::System& ,
 
   70     libMesh::UniquePtr<libMesh::FunctionBase<libMesh::Number> >& func,
 
   71     const std::vector<VariableIndex>& var_indices )
 
   73     return libMesh::UniquePtr<libMesh::DirichletBoundary>(
new libMesh::DirichletBoundary(bc_ids, var_indices, func.get()));
 
   77   libMesh::UniquePtr<libMesh::DirichletBoundary>
 
   79   ( 
const std::set<BoundaryID>& bc_ids,
 
   80     const libMesh::System& system,
 
   81     libMesh::UniquePtr<libMesh::FEMFunctionBase<libMesh::Number> >& func,
 
   82     const std::vector<VariableIndex>& var_indices )
 
   84     return libMesh::UniquePtr<libMesh::DirichletBoundary>( 
new libMesh::DirichletBoundary(bc_ids, var_indices, system, func.get()) );
 
virtual libMesh::UniquePtr< libMesh::DirichletBoundary > create()