hp2FEM
0.1
|
00001 #ifndef _NODEELEMENTTABLE_H_ 00002 #define _NODEELEMENTTABLE_H_ 00003 // --------------------------------------------- 00004 // company : 00005 // user : 00006 // date : 22 Mar 2015 17:25 00007 // file : NodeElementTable.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 <iostream> 00047 #include <cstdio> 00048 #include <cstdlib> 00049 #include "acdp/acdp.h" 00050 #include "ds/BuiltInArray.h" 00051 #include "fegroups/FEGroups.h" 00052 #include "enumerations/MeshID_E.h" 00053 00054 00064 class NodeElementTable 00065 { 00066 //#UBLK-BEG-CLASSDEF mm:2381a904-f742-11df-9a4b-85986e853626 00067 //#UBLK-END-CLASSDEF 00068 00069 public: 00070 00071 // METHOD=mm:0b117cd3-f742-11df-9a4b-85986e853626 00072 NodeElementTable(); 00073 00074 // METHOD=mm:31c75649-5cb8-11e0-82fc-b6dff0bcd154 00075 NodeElementTable(NodeElementTable& Instance); 00076 00077 // METHOD=mm:23795103-5cb8-11e0-82fc-b6dff0bcd154 00078 ~NodeElementTable(); 00079 00080 // METHOD=mm:5e7b82a3-5cb8-11e0-82fc-b6dff0bcd154 00081 NodeElementTable& operator=(NodeElementTable& Instance); 00082 00083 // METHOD=mm:0b117cd8-f742-11df-9a4b-85986e853626 00084 void BuildNodeElementTable(FEGroups& Groups, unsigned long TotalNumberNodes, MeshID_E MeshID); 00085 00086 // METHOD=mm:480d0bdd-a736-11e0-8ea7-8465994a5919 00087 void BuildNodeElementTable(unsigned long GroupNumber, unsigned long TotalNumberNodes, FEGroups& Groups, MeshID_E MeshID); 00088 00089 // METHOD=mm:0b117d70-f742-11df-9a4b-85986e853626 00090 unsigned long*const GetNeighbourElements(unsigned long NodeNumber, unsigned long& NumberNeighbourElements); 00091 00092 // METHOD=mm:0b117d71-f742-11df-9a4b-85986e853626 00093 unsigned long GetNumberNeighbourElements(unsigned long NodeNumber); 00094 00095 // METHOD=mm:1784afa6-b20d-11e0-9937-b90c2ede2270 00096 unsigned long* GetNodeElementTable(unsigned long& SizeNoElemTable); 00097 00098 // METHOD=mm:ff1aa7a6-0d24-42b2-820d-6a1c93e9125f 00099 unsigned long GetNoElemTabIndexSize(); 00100 00101 // METHOD=mm:0b117cd4-f742-11df-9a4b-85986e853626 00102 void Print(FILE* File, char* Message = ""); 00103 00104 // METHOD=mm:0b117cd5-f742-11df-9a4b-85986e853626 00105 void Save(char* Tabname, int Version, char* Filename); 00106 00107 // METHOD=mm:06915693-5cb9-11e0-82fc-b6dff0bcd154 00108 void Save(FILE* File); 00109 00110 // METHOD=mm:1e68c0fd-5cb9-11e0-82fc-b6dff0bcd154 00111 void Restore(char* Tabname, int Version, char* Filename); 00112 00113 // METHOD=mm:0b117cd6-f742-11df-9a4b-85986e853626 00114 void Restore(FILE* File); 00115 00116 // METHOD=mm:c9ed4ba1-5e3a-11e0-8e9e-d80bb329630b 00117 void Free(); 00118 00119 00120 protected: 00121 00125 // attr=mm:0b117cd2-f742-11df-9a4b-85986e853626 00126 OneIndexTable<unsigned long> NoElemTable; 00127 00128 00129 private: 00130 00131 //#UBLK-BEG-CLASSMEMB mm:2381a904-f742-11df-9a4b-85986e853626 00132 //#UBLK-END-CLASSMEMB 00133 }; 00134 00135 //#UBLK-BEG-GLOBALH 00136 //*** Removed methods: 19 Jul 2011 16:09 00137 //--- 00138 //uuid=mm:dc7668eb-a734-11e0-8ea7-8465994a5919 00139 // int Compare(const void * a, const void * b); 00140 00141 //#UBLK-END-GLOBALH 00142 00143 00144 #endif // _NODEELEMENTTABLE_H_