hp2FEM
0.1
|
00001 #ifndef _LINECOLLOCATIONPOINTS_H_ 00002 #define _LINECOLLOCATIONPOINTS_H_ 00003 // --------------------------------------------- 00004 // company : 00005 // user : 00006 // date : 22 Mar 2015 17:23 00007 // file : LineCollocationPoints.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 : 23 Mar 2011 00019 //-------------------------------------------------------------- 00020 // Change history : 00021 // 23 Mar 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 "ds/BuiltInArray.h" 00047 #include "ds/OneIndexTable.h" 00048 #include "enumerations/QuadCollocType_E.h" 00049 #include "enumerations/ElementShape_E.h" 00050 #include "interpolation/collocationpoints1d/collocationPoints1D.h" 00051 #include "interpolation/collocationpoints/collocationPointsAttributes_S.h" 00052 00053 00054 using namespace std; 00055 00056 00064 class LineCollocationPoints 00065 { 00066 //#UBLK-BEG-CLASSDEF mm:23ea553d-f649-11df-85b0-e9a34136af77 00067 //#UBLK-END-CLASSDEF 00068 00069 public: 00070 00071 // METHOD=mm:83951add-f64a-11df-85b0-e9a34136af77 00072 LineCollocationPoints(); 00073 00074 // METHOD=mm:64e48d9f-02d8-11e0-89cb-b0660132333d 00075 LineCollocationPoints(LineCollocationPoints& Instance); 00076 00077 // METHOD=mm:657d147f-02d8-11e0-89cb-b0660132333d 00078 ~LineCollocationPoints(); 00079 00080 // METHOD=mm:935d8e27-434e-11e0-8507-c0021234afab 00081 LineCollocationPoints& operator=(LineCollocationPoints& Instance); 00082 00083 // METHOD=mm:fb10d5b1-4348-11e0-8507-c0021234afab 00084 void SetMaxPolyOrder(unsigned long MaxOrder); 00085 00086 // METHOD=mm:124fc4b8-4349-11e0-8507-c0021234afab 00087 unsigned long GetMaxPolyOrder(); 00088 00089 // METHOD=mm:1295602a-56f1-11e0-96ee-97ed77546ecc 00090 long GetCollocationPointsSetNumber(unsigned long PolyOrder); 00091 00092 // METHOD=mm:3680afd7-6201-11e0-8159-a04df7924cef 00093 unsigned long GetTotalNumberCollocationPoints(); 00094 00095 // METHOD=mm:92409e44-509a-11e0-87c0-fa4560693228 00096 unsigned long GetNumberCollocationPoints(unsigned long PolyOrder, long& CollocationPointsSetNumber); 00097 00098 // METHOD=mm:f19ea249-509a-11e0-87c0-fa4560693228 00099 unsigned long GetNumberCollocationPointsSets(); 00100 00101 // METHOD=mm:2482cac5-f649-11df-85b0-e9a34136af77 00102 double*const GetCollocationPointsCoords(unsigned long PolyOrder, unsigned long& NumberPoints); 00103 00104 // METHOD=mm:2482ca2b-f649-11df-85b0-e9a34136af77 00105 void RunCollocationPointsCoords(collocationPointsAttributes_S& CPAttributes, BuiltInArray<unsigned long>& PolyOrder); 00106 00107 // METHOD=mm:89f50015-6205-11e0-8159-a04df7924cef 00108 void Convert2NaturalCoordinates(); 00109 00110 // METHOD=mm:1458c641-679d-11e0-8598-c81883b28fcd 00111 void Convert2LocalCoordinates(); 00112 00113 // METHOD=mm:2482cac8-f649-11df-85b0-e9a34136af77 00114 void Print(FILE* File); 00115 00116 00117 protected: 00118 00122 // attr=mm:2482c8f5-f649-11df-85b0-e9a34136af77 00123 collocationPoints1D Colloc; 00124 00128 // attr=mm:2482c98f-f649-11df-85b0-e9a34136af77 00129 OneIndexTable<double> Coords; 00130 00134 // attr=mm:51c9eb37-4348-11e0-8507-c0021234afab 00135 unsigned long Pmax; 00136 00140 // attr=mm:23b00127-509b-11e0-87c0-fa4560693228 00141 unsigned long NumbCPSets; //= 0; 00142 00147 // attr=mm:4cd099ef-509b-11e0-87c0-fa4560693228 00148 BuiltInArray<long> CPSets; 00149 00150 00151 private: 00152 00153 //#UBLK-BEG-CLASSMEMB mm:23ea553d-f649-11df-85b0-e9a34136af77 00154 //#UBLK-END-CLASSMEMB 00155 }; 00156 00157 //#UBLK-BEG-GLOBALH 00158 //#UBLK-END-GLOBALH 00159 00160 00161 #endif // _LINECOLLOCATIONPOINTS_H_