point_locator_base.C
Go to the documentation of this file.00001 // The libMesh Finite Element Library. 00002 // Copyright (C) 2002-2012 Benjamin S. Kirk, John W. Peterson, Roy H. Stogner 00003 00004 // This library is free software; you can redistribute it and/or 00005 // modify it under the terms of the GNU Lesser General Public 00006 // License as published by the Free Software Foundation; either 00007 // version 2.1 of the License, or (at your option) any later version. 00008 00009 // This library is distributed in the hope that it will be useful, 00010 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00012 // Lesser General Public License for more details. 00013 00014 // You should have received a copy of the GNU Lesser General Public 00015 // License along with this library; if not, write to the Free Software 00016 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA 00017 00018 00019 00020 // C++ includes 00021 00022 00023 // Local Includes 00024 #include "libmesh/point_locator_base.h" 00025 #include "libmesh/point_locator_tree.h" 00026 #include "libmesh/point_locator_list.h" 00027 00028 namespace libMesh 00029 { 00030 00031 00032 00033 00034 //------------------------------------------------------------------ 00035 // PointLocatorBase methods 00036 PointLocatorBase::PointLocatorBase (const MeshBase& mesh, 00037 const PointLocatorBase* master) : 00038 _master (master), 00039 _mesh (mesh), 00040 _initialized (false) 00041 { 00042 } 00043 00044 00045 00046 00047 00048 PointLocatorBase::~PointLocatorBase () 00049 { 00050 } 00051 00052 00053 00054 00055 00056 AutoPtr<PointLocatorBase> PointLocatorBase::build (const PointLocatorType t, 00057 const MeshBase& mesh, 00058 const PointLocatorBase* master) 00059 { 00060 switch (t) 00061 { 00062 case TREE: 00063 { 00064 AutoPtr<PointLocatorBase> ap(new PointLocatorTree(mesh, 00065 master)); 00066 return ap; 00067 } 00068 00069 case LIST: 00070 { 00071 AutoPtr<PointLocatorBase> ap(new PointLocatorList(mesh, 00072 master)); 00073 return ap; 00074 } 00075 00076 default: 00077 { 00078 libMesh::err << "ERROR: Bad PointLocatorType = " << t << std::endl; 00079 libmesh_error(); 00080 } 00081 } 00082 00083 libmesh_error(); 00084 AutoPtr<PointLocatorBase> ap(NULL); 00085 return ap; 00086 } 00087 00088 } // namespace libMesh 00089
Site Created By: libMesh Developers
Last modified: February 05 2013 19:54:48 UTC
Hosted By: