moab
EdgeSizeEvaluator.hpp
Go to the documentation of this file.
00001 /*
00002  * MOAB, a Mesh-Oriented datABase, is a software component for creating,
00003  * storing and accessing finite element mesh data.
00004  * 
00005  * Copyright 2004 Sandia Corporation.  Under the terms of Contract
00006  * DE-AC04-94AL85000 with Sandia Coroporation, the U.S. Government
00007  * retains certain rights in this software.
00008  * 
00009  * This library is free software; you can redistribute it and/or
00010  * modify it under the terms of the GNU Lesser General Public
00011  * License as published by the Free Software Foundation; either
00012  * version 2.1 of the License, or (at your option) any later version.
00013  * 
00014  */
00015 
00026 #ifndef MOAB_EDGE_SIZE_EVALUATOR_HPP
00027 #define MOAB_EDGE_SIZE_EVALUATOR_HPP
00028 
00029 #include "RefinerTagManager.hpp"
00030 
00031 namespace moab {
00032 
00033 class MB_DLL_EXPORT EdgeSizeEvaluator
00034 {
00035 public:
00036   EdgeSizeEvaluator();
00037   virtual ~EdgeSizeEvaluator();
00038 
00039   virtual bool evaluate_edge(
00040     const double* p0, const void* t0,
00041     double* p1, void* t1,
00042     const double* p2, const void* t2 ) = 0;
00043 
00044   void set_tag_manager( RefinerTagManager* tmgr ) { this->tag_manager = tmgr; }
00045   RefinerTagManager* get_tag_manager() { return this->tag_manager; }
00046 
00047 protected:
00048   RefinerTagManager* tag_manager;
00049 };
00050 
00051 }
00052 
00053 #endif // MOAB_EDGE_SIZE_EVALUATOR_HPP
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines