ESYS13  Revision_
MeshAdapterFactory.h
Go to the documentation of this file.
00001 
00002 /*******************************************************
00003 *
00004 * Copyright (c) 2003-2012 by University of Queensland
00005 * Earth Systems Science Computational Center (ESSCC)
00006 * http://www.uq.edu.au/esscc
00007 *
00008 * Primary Business: Queensland, Australia
00009 * Licensed under the Open Software License version 3.0
00010 * http://www.opensource.org/licenses/osl-3.0.php
00011 *
00012 *******************************************************/
00013 
00014 
00015 #if !defined  dudley_MeshAdapterFactory_20040526_H
00016 #define dudley_MeshAdapterFactory_20040526_H
00017 #include "system_dep.h"
00018 
00019 #include "MeshAdapter.h"
00020 
00021 #include "escript/AbstractContinuousDomain.h"
00022 
00023 #include <boost/python/list.hpp>
00024 
00025 #include <sstream>
00026 
00027 namespace dudley {
00041   DUDLEY_DLL_API
00042 /*  escript::AbstractContinuousDomain* loadMesh(const std::string& fileName);*/
00043   escript::Domain_ptr loadMesh(const std::string& fileName);
00054   DUDLEY_DLL_API
00055 //   escript::AbstractContinuousDomain* readMesh(const std::string& fileName,
00056    escript::Domain_ptr readMesh(const std::string& fileName,
00057                      int integrationOrder=-1,
00058                                      int reducedIntegrationOrder=-1,
00059                                      int optimize=0);
00072   DUDLEY_DLL_API
00073 //   escript::AbstractContinuousDomain* readGmsh(const std::string& fileName,
00074   escript::Domain_ptr readGmsh(const std::string& fileName,
00075                      int numDim, 
00076                      int integrationOrder=-1,
00077                      int reducedIntegrationOrder=-1, 
00078                      int optimize=0,
00079                      int useMacroElements=0);
00098   DUDLEY_DLL_API
00099   escript::Domain_ptr brick(double n0=1,double n1=1,double n2=1,int order=1,
00100                     double l0=1.0,double l1=1.0,double l2=1.0,
00101                     int periodic0=0,int periodic1=0,
00102                     int periodic2=0,
00103                     int integrationOrder=-1,
00104                     int reducedIntegrationOrder=-1,
00105                     int useElementsOnFace=0,
00106                     int useFullElementOrder=0,
00107                     int optimize=0);
00108 
00128   DUDLEY_DLL_API
00129   escript::Domain_ptr rectangle(double n0=1,double n1=1,int order=1,
00130                                       double l0=1.0, double l1=1.0,
00131                                       int periodic0=false,int periodic1=false,
00132                                       int integrationOrder=-1,
00133                                       int reducedIntegrationOrder=-1,
00134                                       int useElementsOnFace=0,
00135                                       int useFullElementOrder=0,
00136                                       int optimize=0);
00137 
00138 //  /**
00139 //     \brief
00140 //     Merges a list of meshes into one list.
00141 //     \param meshList Input - The list of meshes.
00142 //  */
00143 //  DUDLEY_DLL_API
00144 // //   escript::AbstractContinuousDomain* meshMerge(const boost::python::list& meshList);
00145 //  escript::Domain_ptr meshMerge(const boost::python::list& meshList);
00146 
00147  
00148 } // end of namespace
00149 #endif