hp2FEM  0.1
include/meshtopology/NodeNodeTable.h
00001 #ifndef _NODENODETABLE_H_
00002 #define _NODENODETABLE_H_
00003 // ---------------------------------------------
00004 // company   : 
00005 // user      : 
00006 // date      : 22 Mar 2015 17:25
00007 // file      : NodeNodeTable.h
00008 // markers   : Full
00009 // language  : C++
00010 // generator : Metamill 6.0
00011 // ---------------------------------------------
00012 
00013 //#UBLK-BEG-HEADERH
00014 //==============================================================
00015 // Description : 
00016 //--------------------------------------------------------------
00017 // Author      : Gilberto Luis
00018 // Created     : 18 Jul 2011
00019 //--------------------------------------------------------------
00020 // Change history : 
00021 //   18 Jul 2011 (Gilberto Luis) Initial version generated
00022 //
00023 //==============================================================
00024 //#UBLK-END-HEADERH
00025 
00026 /*=================================================================================================
00027 =                                                                                                 =
00028 =       Copyright 2010-2015  Marco Lucio Bittencourt / Fabiano Fernandes Bargos                       =
00029 =                        Gilberto Luis Valente / Jorge Luis Suzuki / Allan Patrick Cordeiro Dias  =
00030 =                                                                                                 =
00031 =       Licensed under the Apache License, Version 2.0 (the "License");                               =
00032 =       you may not use this file except in compliance with the License.                              =
00033 =       You may obtain a copy of the License at                                                       =
00034 =                                                                                                 =
00035 =               http://www.apache.org/licenses/LICENSE-2.0                                                =
00036 =                                                                                                 =
00037 =       Unless required by applicable law or agreed to in writing, software                           =
00038 =       distributed under the License is distributed on an "AS IS" BASIS,                             =
00039 =       WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.                      =
00040 =       See the License for the specific language governing permissions and                           =
00041 =       limitations under the License.                                                                =
00042 =                                                                                                 =
00043 =================================================================================================*/
00044 
00045 
00046 #include <cstdio>
00047 #include "ds/OneIndexTable.h"
00048 #include "fegroups/FEGroups.h"
00049 #include "meshtopology/NodeElementTable.h"
00050 #include "enumerations/MeshID_E.h"
00051 
00052 
00062 class NodeNodeTable
00063 {
00064 //#UBLK-BEG-CLASSDEF mm:2381a905-f742-11df-9a4b-85986e853626
00065 //#UBLK-END-CLASSDEF
00066 
00067  public:
00068 
00069    // METHOD=mm:5fd9c6be-5e44-11e0-8e9e-d80bb329630b
00070    NodeNodeTable();
00071 
00072    // METHOD=mm:8dbee622-5e44-11e0-8e9e-d80bb329630b
00073    NodeNodeTable(NodeNodeTable& Instance);
00074 
00075    // METHOD=mm:cfe746fe-5e42-11e0-8e9e-d80bb329630b
00076    ~NodeNodeTable();
00077 
00078    // METHOD=mm:e098a9b3-5e44-11e0-8e9e-d80bb329630b
00079    NodeNodeTable& operator=(NodeNodeTable& Instance);
00080 
00081    // METHOD=mm:1f5be819-c38e-11e0-9a2f-d79375ab2f00
00082    operator OneIndexTable <unsigned long>&();
00083 
00084    // METHOD=mm:0b117e05-f742-11df-9a4b-85986e853626
00085    void BuildNodeNodeTable(FEGroups& Groups, NodeElementTable& NoElemTable, unsigned long TotalNumberNodes, MeshID_E MeshID);
00086 
00087    // METHOD=mm:0b117e06-f742-11df-9a4b-85986e853626
00088    unsigned long*const GetNeighbourNodes(unsigned long NodeNumber, unsigned long& NumberNeighbourNodes);
00089 
00090    // METHOD=mm:0b117e07-f742-11df-9a4b-85986e853626
00091    unsigned long GetNumberNeighbourNodes(unsigned long NodeNumber);
00092 
00093    // METHOD=mm:0b117d76-f742-11df-9a4b-85986e853626
00094    void Print(FILE* File, char* Message = "");
00095 
00096    // METHOD=mm:0b117d77-f742-11df-9a4b-85986e853626
00097    void Save(char* Tabname, int Version, char* Filename);
00098 
00099    // METHOD=mm:498022df-5e45-11e0-8e9e-d80bb329630b
00100    void Save(FILE* File);
00101 
00102    // METHOD=mm:0b117d78-f742-11df-9a4b-85986e853626
00103    void Restore(char* Tabname, int Version, char* Filename);
00104 
00105    // METHOD=mm:7af8e9cd-5e45-11e0-8e9e-d80bb329630b
00106    void Restore(FILE* File);
00107 
00108    // METHOD=mm:0b117e04-f742-11df-9a4b-85986e853626
00109    void Free();
00110 
00111 
00112  protected:
00113 
00117    // attr=mm:0b117d74-f742-11df-9a4b-85986e853626
00118    OneIndexTable<unsigned long> NoNoTable;
00119 
00120 
00121  private:
00122 
00123 //#UBLK-BEG-CLASSMEMB mm:2381a905-f742-11df-9a4b-85986e853626
00124 //#UBLK-END-CLASSMEMB
00125 };
00126 
00127 //#UBLK-BEG-GLOBALH
00128 //*** Removed methods: 12 Aug 2011 17:31
00129 //---
00130 //uuid=mm:0b117e05-f742-11df-9a4b-85986e853626
00131 //   void BuildNodeNodeTable(unsigned long TotalNumberNodes, FEGroups& Groups, NodeElementTable& NoElemTable, MeshID_E MeshID);
00132 
00133 //*** Removed methods: 15 Aug 2011 10:22
00134 //---
00135 //uuid=mm:0b117e05-f742-11df-9a4b-85986e853626
00136 //   void BuildNodeNodeTable(unsigned long TotalNumberNodes, FEGroups& Groups, NodeElementTable& NoElemTable, MeshID_E MeshID);
00137 
00138 //*** Removed methods: 19 Dec 2011 10:38
00139 //---
00140 //uuid=mm:d7513ae3-a96f-11e0-822a-adf10d15de65
00142 
00143 //#UBLK-END-GLOBALH
00144 
00145 
00146 #endif // _NODENODETABLE_H_
 All Classes Files Functions Variables Typedefs Friends Defines