00001 // This file is part of ff3d - http://www.freefem.org/ff3d 00002 // Copyright (C) 2001, 2002, 2003 Stéphane Del Pino 00003 00004 // This program is free software; you can redistribute it and/or modify 00005 // it under the terms of the GNU General Public License as published by 00006 // the Free Software Foundation; either version 2, or (at your option) 00007 // any later version. 00008 00009 // This program 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 00012 // GNU General Public License for more details. 00013 00014 // You should have received a copy of the GNU General Public License 00015 // along with this program; if not, write to the Free Software Foundation, 00016 // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 00017 00018 // $Id: ProblemExpression.hpp,v 1.3 2007/12/19 00:45:45 delpinux Exp $ 00019 00020 #ifndef PROBLEM_EXPRESSION_HPP 00021 #define PROBLEM_EXPRESSION_HPP 00022 00023 #include <Expression.hpp> 00024 00025 class ProblemExpression 00026 : public Expression 00027 { 00028 public: 00029 enum ProblemType { 00030 pdeSystem, 00031 variationalProblem 00032 }; 00033 00034 private: 00035 ProblemType __problemType; 00037 public: 00038 00044 virtual bool hasPOVBoundary() const = 0; 00045 00051 virtual bool hasPredefinedBoundary() const = 0; 00052 00059 ProblemExpression::ProblemType problemType() 00060 { 00061 return __problemType; 00062 } 00063 00070 ProblemExpression(ProblemExpression::ProblemType t) 00071 : Expression(Expression::problem), 00072 __problemType(t) 00073 { 00074 ; 00075 } 00076 00083 ProblemExpression(const ProblemExpression& P) 00084 : Expression(P), 00085 __problemType(P.__problemType) 00086 { 00087 ; 00088 } 00089 00094 virtual ~ProblemExpression() 00095 { 00096 ; 00097 } 00098 }; 00099 00100 #endif // PROBLEM_EXPRESSION_HPP 00101
1.5.6