hp2FEM  0.1
include/fegroups/GeometricProperties.h
00001 #ifndef _GEOMETRICPROPERTIES_H_
00002 #define _GEOMETRICPROPERTIES_H_
00003 // ---------------------------------------------
00004 // company   : 
00005 // user      : 
00006 // date      : 22 Mar 2015 17:22
00007 // file      : GeometricProperties.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     : 09 Jun 2011
00019 //--------------------------------------------------------------
00020 // Change history : 
00021 //   09 Jun 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/BuiltInArray.h"
00048 
00049 
00056 class GeometricProperties
00057 {
00058 //#UBLK-BEG-CLASSDEF mm:079de448-f650-11df-817b-b59fee0c7729
00059 //#UBLK-END-CLASSDEF
00060 
00061  public:
00062 
00063    // METHOD=mm:7166e599-02d4-11e0-89cb-b0660132333d
00064    GeometricProperties();
00065 
00066    // METHOD=mm:e9d069e7-f64f-11df-817b-b59fee0c7729
00067    GeometricProperties(unsigned long NumberElements, unsigned long NumberGeometricProperties, BuiltInArray<double>& Properties);
00068 
00069    // METHOD=mm:87759fb3-02d6-11e0-89cb-b0660132333d
00070    GeometricProperties(GeometricProperties& Instance);
00071 
00072    // METHOD=mm:98bebb33-02d6-11e0-89cb-b0660132333d
00073    ~GeometricProperties();
00074 
00075    // METHOD=mm:27ab1606-9915-11e0-8faf-d83ab2ff7587
00076    GeometricProperties& operator=(GeometricProperties& Instance);
00077 
00078    // METHOD=mm:e9d069e8-f64f-11df-817b-b59fee0c7729
00079    void SetProperties(unsigned long NumberProperties, unsigned long NumberElements, BuiltInArray<double>& Properties);
00080 
00081    // METHOD=mm:e9d069e9-f64f-11df-817b-b59fee0c7729
00082    double* const GetProperties(unsigned long ElementNumber, unsigned long& NumberProperties);
00083 
00084    // METHOD=mm:e9d069ea-f64f-11df-817b-b59fee0c7729
00085    void Save(FILE* File);
00086 
00087    // METHOD=mm:e9d069eb-f64f-11df-817b-b59fee0c7729
00088    void Restore(FILE* File);
00089 
00090    // METHOD=mm:e9d069ec-f64f-11df-817b-b59fee0c7729
00091    void Free();
00092 
00093    // METHOD=mm:e9d069ed-f64f-11df-817b-b59fee0c7729
00094    void Read(FILE* DEFFile);
00095 
00096    // METHOD=mm:e9d069ee-f64f-11df-817b-b59fee0c7729
00097    void Print(FILE* File);
00098 
00099 
00100  protected:
00101 
00105    // attr=mm:e9d06959-f64f-11df-817b-b59fee0c7729
00106    unsigned long NumElem;
00107 
00111    // attr=mm:e9d0695a-f64f-11df-817b-b59fee0c7729
00112    unsigned long NumGeoProp;
00113 
00117    // attr=mm:e9d069e6-f64f-11df-817b-b59fee0c7729
00118    BuiltInArray<double> Values;
00119 
00120 
00121  private:
00122 
00123 //#UBLK-BEG-CLASSMEMB mm:079de448-f650-11df-817b-b59fee0c7729
00124 //#UBLK-END-CLASSMEMB
00125 };
00126 
00127 //#UBLK-BEG-GLOBALH
00128 //#UBLK-END-GLOBALH
00129 
00130 
00131 #endif // _GEOMETRICPROPERTIES_H_
 All Classes Files Functions Variables Typedefs Friends Defines