hp2FEM
0.1
|
00001 #ifndef _GEOMETRYMESH_H_ 00002 #define _GEOMETRYMESH_H_ 00003 // --------------------------------------------- 00004 // company : 00005 // user : 00006 // date : 22 Mar 2015 17:22 00007 // file : GeometryMesh.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 "acdp/acdp.h" 00048 #include "enumerations/ElementShape_E.h" 00049 #include "enumerations/Entity_E.h" 00050 #include "geometrymesh/GMEntity.h" 00051 00052 00066 class GeometryMesh 00067 { 00068 //#UBLK-BEG-CLASSDEF mm:334ed871-a0e1-11e0-9437-8771ee26db66 00069 //#UBLK-END-CLASSDEF 00070 00071 public: 00072 00073 // METHOD=mm:334ed8a5-a0e1-11e0-9437-8771ee26db66 00074 GeometryMesh(); 00075 00076 // METHOD=mm:334ed8aa-a0e1-11e0-9437-8771ee26db66 00077 GeometryMesh(GeometryMesh& Instance); 00078 00079 // METHOD=mm:334ed8ab-a0e1-11e0-9437-8771ee26db66 00080 ~GeometryMesh(); 00081 00082 // METHOD=mm:334ed8ac-a0e1-11e0-9437-8771ee26db66 00083 GeometryMesh& operator=(GeometryMesh& Instance); 00084 00085 // METHOD=mm:019545fb-c09f-11e0-999c-937e2fe3c782 00086 GMEntity& GetGMEntity(Entity_E EntityType); 00087 00088 // METHOD=mm:86794d41-a0ea-11e0-9437-8771ee26db66 00089 unsigned long GetNumberKeypoints(); 00090 00091 // METHOD=mm:3b654ae7-a0f6-11e0-9437-8771ee26db66 00092 unsigned long GetNumberLines(); 00093 00094 // METHOD=mm:3bfdc94d-a0f6-11e0-9437-8771ee26db66 00095 unsigned long GetNumberSurfaces(); 00096 00097 // METHOD=mm:3bfdd0e1-a0f6-11e0-9437-8771ee26db66 00098 unsigned long GetNumberVolumes(); 00099 00100 // METHOD=mm:ae1edb8b-a0ef-11e0-9437-8771ee26db66 00101 unsigned long GetNode(unsigned long KeypointNumber); 00102 00103 // METHOD=mm:64d395bb-a0f9-11e0-9437-8771ee26db66 00104 unsigned long GetNumberElementEdges(unsigned long LineNumber); 00105 00106 // METHOD=mm:8f255def-a0f9-11e0-9437-8771ee26db66 00107 unsigned long GetNumberElementFaces(unsigned long SurfaceNumber); 00108 00109 // METHOD=mm:d6601fa6-a0fa-11e0-9437-8771ee26db66 00110 unsigned long* const GetElementEdges(unsigned long LineNumber, unsigned long& NumberEdges); 00111 00112 // METHOD=mm:5ebaa1ea-2a1a-4886-a95e-4f9afee0c254 00113 unsigned long* const GetElementNumber(unsigned long LineNumber, GMEntity &GM, unsigned long& NumberElements); 00114 00115 // METHOD=mm:13c49b38-a0fb-11e0-9437-8771ee26db66 00116 unsigned long * const GetElementFaces(unsigned long SurfaceNumber, unsigned long& NumberFaces); 00117 00118 // METHOD=mm:d3185e8f-a0f9-11e0-9437-8771ee26db66 00119 unsigned long * const GetElementsLines(unsigned long LineNumber, unsigned long& NumberElements); 00120 00121 // METHOD=mm:078c1ffd-a0fa-11e0-9437-8771ee26db66 00122 unsigned long * const GetElementsSurfaces(unsigned long SurfaceNumber, unsigned long& NumberElements); 00123 00124 // METHOD=mm:60f45980-a0fa-11e0-9437-8771ee26db66 00125 unsigned long * const GetElementsVolumes(unsigned long VolumeNumber, unsigned long& NumberElements); 00126 00127 // METHOD=mm:9c8f18e0-a0fa-11e0-9437-8771ee26db66 00128 unsigned long GetNumberElementsVolumes(unsigned long VolumeNumber); 00129 00130 // METHOD=mm:6272495f-a0fb-11e0-9437-8771ee26db66 00131 void SetNumberKeypoints(unsigned long NumberKeypoints); 00132 00133 // METHOD=mm:63a372b3-a0fb-11e0-9437-8771ee26db66 00134 void SetNumberLines(unsigned long NumberLines); 00135 00136 // METHOD=mm:64d49cf7-a0fb-11e0-9437-8771ee26db66 00137 void SetNumberSurfaces(unsigned long NumberSurfaces); 00138 00139 // METHOD=mm:6605c1ff-a0fb-11e0-9437-8771ee26db66 00140 void SetNumberVolumes(unsigned long NumberVolumes); 00141 00142 // METHOD=mm:428f51f0-a0fc-11e0-9437-8771ee26db66 00143 void SetNodeNumber(unsigned long NodeNumber, unsigned long KeypointNumber); 00144 00145 // METHOD=mm:f13393e2-a0fc-11e0-9437-8771ee26db66 00146 void SetNumberElementEdges(unsigned long LineNumber, unsigned long NumberEdges, unsigned long* ElementEdges); 00147 00148 // METHOD=mm:2cce5cde-a0fd-11e0-9437-8771ee26db66 00149 void SetNumberElementFaces(unsigned long SurfaceNumber, unsigned long NumberFaces, unsigned long* ElementFaces); 00150 00151 // METHOD=mm:6a32de88-a0fd-11e0-9437-8771ee26db66 00152 void SetElementsLines(unsigned long LineNumber, unsigned long NumberElements, unsigned long* Elements, unsigned long* Edges); 00153 00154 // METHOD=mm:373d1e5c-a0fe-11e0-9437-8771ee26db66 00155 void SetElementsSurfaces(unsigned long SurfaceNumber, unsigned long NumberElements, unsigned long* Elements, unsigned long* Faces); 00156 00157 // METHOD=mm:59cf397b-a0fe-11e0-9437-8771ee26db66 00158 void SetElementsVolumes(unsigned long VolumeNumber, unsigned long NumberElements, unsigned long* Elements); 00159 00160 // METHOD=mm:334ed8b5-a0e1-11e0-9437-8771ee26db66 00161 void Save(char* Tabname, int Version, char* Filename); 00162 00163 // METHOD=mm:334ed8b6-a0e1-11e0-9437-8771ee26db66 00164 void Save(FILE* File); 00165 00166 // METHOD=mm:334ed8b7-a0e1-11e0-9437-8771ee26db66 00167 void Restore(char* Tabname, int Version, char* Filename); 00168 00169 // METHOD=mm:334ed8b8-a0e1-11e0-9437-8771ee26db66 00170 void Restore(FILE* File); 00171 00172 // METHOD=mm:334ed8b9-a0e1-11e0-9437-8771ee26db66 00173 void Print(FILE* File, char* Message = ""); 00174 00175 // METHOD=mm:334ed8be-a0e1-11e0-9437-8771ee26db66 00176 void Read(FILE* FEMFile, unsigned long Dimension); 00177 00178 // METHOD=mm:ac3212f9-45f5-4640-9c3b-eaf933be4d9d 00179 void Free(); 00180 00181 00182 // asse=mm:86c18536-805e-4ffb-ad0d-70a2ae6fdb13 00183 GMEntity * theGMEntity; 00184 00185 00186 protected: 00187 00191 // attr=mm:334ed8a4-a0e1-11e0-9437-8771ee26db66 00192 GMEntity GMK; 00193 00197 // attr=mm:8032b7eb-a0e1-11e0-9437-8771ee26db66 00198 GMEntity GML; 00199 00203 // attr=mm:80cb3697-a0e1-11e0-9437-8771ee26db66 00204 GMEntity GMS; 00205 00209 // attr=mm:80cb4457-a0e1-11e0-9437-8771ee26db66 00210 GMEntity GMV; 00211 00212 00213 private: 00214 00215 //#UBLK-BEG-CLASSMEMB mm:334ed871-a0e1-11e0-9437-8771ee26db66 00216 //#UBLK-END-CLASSMEMB 00217 }; 00218 00219 //#UBLK-BEG-GLOBALH 00220 //*** Removed methods: 07 Dec 2011 13:24 00221 //--- 00222 //uuid=mm:334ed8bf-a0e1-11e0-9437-8771ee26db66 00223 // void Free(); 00224 00225 //#UBLK-END-GLOBALH 00226 00227 00228 #endif // _GEOMETRYMESH_H_