hp2FEM  0.1
include/geometrymesh/GeometryMesh.h
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_
 All Classes Files Functions Variables Typedefs Friends Defines