escript  Revision_
MeshAdapterFactory.h
Go to the documentation of this file.
00001 
00002 /*****************************************************************************
00003 *
00004 * Copyright (c) 2003-2014 by University of Queensland
00005 * http://www.uq.edu.au
00006 *
00007 * Primary Business: Queensland, Australia
00008 * Licensed under the Open Software License version 3.0
00009 * http://www.opensource.org/licenses/osl-3.0.php
00010 *
00011 * Development until 2012 by Earth Systems Science Computational Center (ESSCC)
00012 * Development 2012-2013 by School of Earth Sciences
00013 * Development from 2014 by Centre for Geoscience Computing (GeoComp)
00014 *
00015 *****************************************************************************/
00016 
00017 
00018 #if !defined  dudley_MeshAdapterFactory_20040526_H
00019 #define dudley_MeshAdapterFactory_20040526_H
00020 #include "system_dep.h"
00021 
00022 #include "MeshAdapter.h"
00023 
00024 #include "escript/AbstractContinuousDomain.h"
00025 
00026 #include <boost/python/list.hpp>
00027 
00028 #include <sstream>
00029 
00030 namespace dudley {
00044   DUDLEY_DLL_API
00045 /*  escript::AbstractContinuousDomain* loadMesh(const std::string& fileName);*/
00046   escript::Domain_ptr loadMesh(const std::string& fileName);
00057   DUDLEY_DLL_API
00058 //   escript::AbstractContinuousDomain* readMesh(const std::string& fileName,
00059    escript::Domain_ptr readMesh(const std::string& fileName,
00060                      int integrationOrder=-1,
00061                                      int reducedIntegrationOrder=-1,
00062                                      int optimize=0);
00075   DUDLEY_DLL_API
00076 //   escript::AbstractContinuousDomain* readGmsh(const std::string& fileName,
00077   escript::Domain_ptr readGmsh(const std::string& fileName,
00078                      int numDim, 
00079                      int integrationOrder=-1,
00080                      int reducedIntegrationOrder=-1, 
00081                      int optimize=0,
00082                      int useMacroElements=0);
00101   DUDLEY_DLL_API
00102   escript::Domain_ptr brick(double n0=1,double n1=1,double n2=1,int order=1,
00103                     double l0=1.0,double l1=1.0,double l2=1.0,
00104                     int periodic0=0,int periodic1=0,
00105                     int periodic2=0,
00106                     int integrationOrder=-1,
00107                     int reducedIntegrationOrder=-1,
00108                     int useElementsOnFace=0,
00109                     int useFullElementOrder=0,
00110                     int optimize=0);
00111 
00131   DUDLEY_DLL_API
00132   escript::Domain_ptr rectangle(double n0=1,double n1=1,int order=1,
00133                                       double l0=1.0, double l1=1.0,
00134                                       int periodic0=false,int periodic1=false,
00135                                       int integrationOrder=-1,
00136                                       int reducedIntegrationOrder=-1,
00137                                       int useElementsOnFace=0,
00138                                       int useFullElementOrder=0,
00139                                       int optimize=0);
00140 
00141 //  /**
00142 //     \brief
00143 //     Merges a list of meshes into one list.
00144 //     \param meshList Input - The list of meshes.
00145 //  */
00146 //  DUDLEY_DLL_API
00147 // //   escript::AbstractContinuousDomain* meshMerge(const boost::python::list& meshList);
00148 //  escript::Domain_ptr meshMerge(const boost::python::list& meshList);
00149 
00150  
00151 } // end of namespace
00152 #endif