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: Information.hpp,v 1.5 2006/10/28 23:27:02 delpinux Exp $ 00019 00020 #ifndef INFORMATION_HPP 00021 #define INFORMATION_HPP 00022 00023 #include <ReferenceCounting.hpp> 00024 class Mesh; 00025 class Scene; 00026 class UnknownListExpression; 00027 00028 #include <stack> 00029 #include <StaticBase.hpp> 00030 00040 class Information 00041 : public StaticBase<Information> 00042 { 00043 private: 00045 std::stack<ConstReferenceCounting<Mesh> > __mesh; 00046 00048 ConstReferenceCounting<Scene> __scene; 00049 00051 ReferenceCounting<UnknownListExpression> __unknownListExpression; 00052 00055 bool __coarseMesh; 00056 00057 public: 00063 ConstReferenceCounting<Mesh> getMesh(); 00064 00070 void setMesh(ConstReferenceCounting<Mesh> mesh); 00071 00076 void unsetMesh(); 00077 00083 bool usesMesh() const; 00084 00090 ReferenceCounting<UnknownListExpression> getUnknownList(); 00091 00097 void setUnknownList(ReferenceCounting<UnknownListExpression> ul); 00098 00103 void unsetUnknownList(); 00104 00110 bool usesUnknownList() const; 00111 00117 ConstReferenceCounting<Scene> getScene(); 00118 00124 void setScene(ConstReferenceCounting<Scene> scene); 00125 00130 void unsetScene(); 00131 00137 bool usesScene() const; 00138 00144 void setCoarseMesh(const bool& b); 00145 00151 const bool& coarseMesh() const; 00152 00157 Information(); 00158 00165 Information(const Information& I); 00166 00171 ~Information(); 00172 }; 00173 00174 #endif // INFORMATION_HPP
1.5.6