Back to index

salome-med  6.5.0
MEDSPLITTER_FaceModel.hxx
Go to the documentation of this file.
00001 // Copyright (C) 2007-2012  CEA/DEN, EDF R&D
00002 //
00003 // This library is free software; you can redistribute it and/or
00004 // modify it under the terms of the GNU Lesser General Public
00005 // License as published by the Free Software Foundation; either
00006 // version 2.1 of the License.
00007 //
00008 // This library is distributed in the hope that it will be useful,
00009 // but WITHOUT ANY WARRANTY; without even the implied warranty of
00010 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
00011 // Lesser General Public License for more details.
00012 //
00013 // You should have received a copy of the GNU Lesser General Public
00014 // License along with this library; if not, write to the Free Software
00015 // Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
00016 //
00017 // See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
00018 //
00019 
00020 #ifndef MEDSPLITTER_FACEMODEL_HXX_
00021 #define MEDSPLITTER_FACEMODEL_HXX_
00022 
00023 namespace MEDMEM
00024 {
00025   class CELLMODEL;
00026 }
00027 
00028 namespace MEDSPLITTER
00029 {
00030 
00031   class MEDSPLITTER_FaceModel
00032   {
00033   public:
00034     MEDSPLITTER_FaceModel():_conn(0){};
00035     virtual ~MEDSPLITTER_FaceModel() {if (_conn!=0) delete[] _conn;}
00036     MED_EN::medGeometryElement getType() const {return _type;}
00037     void setType(MED_EN::medGeometryElement type) {_type=type;}
00038     void setNbNodes(int nbnodes){_conn=new int[nbnodes];}
00039     int& operator[](int i){return *(_conn+i);}
00040     int getGlobal(){return _global;}
00041     void setGlobal(int i){_global=i;}
00042 
00043     // Makes face common for two given cells (implemented in MEDSPLITTER_MESHCollection.cxx)
00044     static MEDSPLITTER_FaceModel* getCommonFace(const int*               nodes1,
00045                                                 const int*               nodes1_local,
00046                                                 const MEDMEM::CELLMODEL& celltype1,
00047                                                 const int*               nodes2,
00048                                                 int                      nb_nodes2,
00049                                                 int                      global_id);
00050 
00051   private:
00052     int _nbnodes;
00053     int* _conn;
00054     MED_EN::medGeometryElement _type;
00055     int _global;
00056   };
00057 
00058 }
00059 
00060 #endif /*MEDSPLITTER_FACEMODEL_HXX_*/