hp2FEM
0.1
|
00001 #ifndef _TRIANGLECOLLOCATIONPOINTS_H_ 00002 #define _TRIANGLECOLLOCATIONPOINTS_H_ 00003 // --------------------------------------------- 00004 // company : 00005 // user : 00006 // date : 22 Mar 2015 17:23 00007 // file : TriangleCollocationPoints.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 : 25 Mar 2011 00019 //-------------------------------------------------------------- 00020 // Change history : 00021 // 25 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 "enumerations/QuadCollocType_E.h" 00047 #include "enumerations/ElementShape_E.h" 00048 #include "interpolation/collocationpoints/LineCollocationPoints.h" 00049 00050 00051 using namespace std; 00052 00053 00061 class TriangleCollocationPoints 00062 { 00063 //#UBLK-BEG-CLASSDEF mm:23ea55d3-f649-11df-85b0-e9a34136af77 00064 //#UBLK-END-CLASSDEF 00065 00066 public: 00067 00068 // METHOD=mm:11711177-f64b-11df-85b0-e9a34136af77 00069 TriangleCollocationPoints(); 00070 00071 // METHOD=mm:a46e89fb-02f7-11e0-89cb-b0660132333d 00072 TriangleCollocationPoints(TriangleCollocationPoints& Instance); 00073 00074 // METHOD=mm:a46e9491-02f7-11e0-89cb-b0660132333d 00075 ~TriangleCollocationPoints(); 00076 00077 // METHOD=mm:c738b681-434e-11e0-8507-c0021234afab 00078 TriangleCollocationPoints& operator=(TriangleCollocationPoints& Instance); 00079 00080 // METHOD=mm:e6853a81-4f43-11e0-9e1f-d93cf71dd7f2 00081 operator LineCollocationPoints &(); 00082 00083 // METHOD=mm:06fca5b7-4349-11e0-8507-c0021234afab 00084 void SetMaxPolyOrder(unsigned long MaxOrder); 00085 00086 // METHOD=mm:2c899687-4349-11e0-8507-c0021234afab 00087 unsigned long GetMaxPolyOrder(); 00088 00089 // METHOD=mm:a9cbf5e9-572c-11e0-96ee-97ed77546ecc 00090 unsigned long GetCollocationPointsSetNumber(unsigned long PolyOrder); 00091 00092 // METHOD=mm:4d3c3e61-cc71-414d-9f26-5e30ccc0344a 00093 unsigned long GetTotalNumberCollocationPoints(); 00094 00095 // METHOD=mm:37f4f75d-509d-11e0-87c0-fa4560693228 00096 unsigned long GetNumberCollocationPoints(ElementShape_E EntityShape, unsigned long PolyOrder, long& CollocationPointsSetNumber); 00097 00098 // METHOD=mm:b94c846f-509d-11e0-87c0-fa4560693228 00099 unsigned long GetNumberCollocationPointsSets(); 00100 00101 // METHOD=mm:2482d2b2-f649-11df-85b0-e9a34136af77 00102 double*const GetCollocationPointsCoords(ElementShape_E EntityShape, unsigned long PolyOrder, unsigned long& NumberPoints); 00103 00104 // METHOD=mm:2482d219-f649-11df-85b0-e9a34136af77 00105 void RunCollocationPointsCoords(ElementShape_E EntityShape, collocationPointsAttributes_S& CPAttributes, OneIndexTable<unsigned long>& TensorIndices, BuiltInArray<unsigned long>& PolyOrder); 00106 00107 // METHOD=mm:2482d2b5-f649-11df-85b0-e9a34136af77 00108 void Print(FILE* File, ElementShape_E EntityShape); 00109 00110 00111 protected: 00112 00116 // attr=mm:2482d0e2-f649-11df-85b0-e9a34136af77 00117 LineCollocationPoints LineCP; 00118 00122 // attr=mm:2482d17b-f649-11df-85b0-e9a34136af77 00123 OneIndexTable<double> Coords; 00124 00128 // attr=mm:5db58da7-4348-11e0-8507-c0021234afab 00129 unsigned long Pmax; 00130 00131 00132 private: 00133 00134 // METHOD=mm:c227854f-5c63-11e0-88c4-ef15af85152f 00135 unsigned long GetPointsNumber(unsigned long PolyOrder); 00136 00137 00138 //#UBLK-BEG-CLASSMEMB mm:23ea55d3-f649-11df-85b0-e9a34136af77 00139 //#UBLK-END-CLASSMEMB 00140 }; 00141 00142 //#UBLK-BEG-GLOBALH 00143 //#UBLK-END-GLOBALH 00144 00145 00146 #endif // _TRIANGLECOLLOCATIONPOINTS_H_