hp2FEM
0.1
|
00001 #ifndef _SQUARECOLLOCATIONPOINTS_H_ 00002 #define _SQUARECOLLOCATIONPOINTS_H_ 00003 // --------------------------------------------- 00004 // company : 00005 // user : 00006 // date : 22 Mar 2015 17:23 00007 // file : SquareCollocationPoints.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 : 24 Mar 2011 00019 //-------------------------------------------------------------- 00020 // Change history : 00021 // 24 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 #include "interpolation/collocationpoints/collocationPointsAttributes_S.h" 00050 00051 00052 using namespace std; 00053 00054 00062 class SquareCollocationPoints 00063 { 00064 //#UBLK-BEG-CLASSDEF mm:23ea5541-f649-11df-85b0-e9a34136af77 00065 //#UBLK-END-CLASSDEF 00066 00067 public: 00068 00069 // METHOD=mm:b4755f19-f64a-11df-85b0-e9a34136af77 00070 SquareCollocationPoints(); 00071 00072 // METHOD=mm:fe228e2b-02f6-11e0-89cb-b0660132333d 00073 SquareCollocationPoints(SquareCollocationPoints& Instance); 00074 00075 // METHOD=mm:23171a90-02f7-11e0-89cb-b0660132333d 00076 ~SquareCollocationPoints(); 00077 00078 // METHOD=mm:9fe1e7e7-434e-11e0-8507-c0021234afab 00079 SquareCollocationPoints& operator=(SquareCollocationPoints& Instance); 00080 00081 // METHOD=mm:04507d81-4f40-11e0-9e1f-d93cf71dd7f2 00082 operator LineCollocationPoints &(); 00083 00084 // METHOD=mm:ffd57ec1-4348-11e0-8507-c0021234afab 00085 void SetMaxPolyOrder(unsigned long MaxOrder); 00086 00087 // METHOD=mm:2398c417-4349-11e0-8507-c0021234afab 00088 unsigned long GetMaxPolyOrder(); 00089 00090 // METHOD=mm:0eb956ff-595c-11e0-89f7-b398c59ce06d 00091 long GetCollocationPointsSetNumber(unsigned long PolyOrder); 00092 00093 // METHOD=mm:dd9d5e96-6d46-4a8b-b1f5-551667fbfb6f 00094 unsigned long GetTotalNumberCollocationPoints(); 00095 00096 // METHOD=mm:85bd3749-509c-11e0-87c0-fa4560693228 00097 unsigned long GetNumberCollocationPoints(ElementShape_E EntityShape, unsigned long PolyOrder, long& CollocationPointsSetNumber); 00098 00099 // METHOD=mm:f2d0bd55-509c-11e0-87c0-fa4560693228 00100 unsigned long GetNumberCollocationPointsSets(); 00101 00102 // METHOD=mm:2482cf07-f649-11df-85b0-e9a34136af77 00103 double*const GetCollocationPointsCoords(ElementShape_E EntityShape, unsigned long PolyOrder, unsigned long& NumberPoints); 00104 00105 // METHOD=mm:2482ce78-f649-11df-85b0-e9a34136af77 00106 void RunCollocationPointsCoords(ElementShape_E EntityShape, collocationPointsAttributes_S& CPAttributes, OneIndexTable<unsigned long>& TensorIndices, BuiltInArray<unsigned long>& PolyOrder); 00107 00108 // METHOD=mm:2482cf0a-f649-11df-85b0-e9a34136af77 00109 void Print(FILE* File, ElementShape_E EntityShape); 00110 00111 00112 protected: 00113 00117 // attr=mm:2482cd38-f649-11df-85b0-e9a34136af77 00118 LineCollocationPoints LineCP; 00119 00123 // attr=mm:2482cdd1-f649-11df-85b0-e9a34136af77 00124 OneIndexTable<double> Coords; 00125 00129 // attr=mm:55f60407-4348-11e0-8507-c0021234afab 00130 unsigned long Pmax; 00131 00132 00133 private: 00134 00135 //#UBLK-BEG-CLASSMEMB mm:23ea5541-f649-11df-85b0-e9a34136af77 00136 //#UBLK-END-CLASSMEMB 00137 }; 00138 00139 //#UBLK-BEG-GLOBALH 00140 //#UBLK-END-GLOBALH 00141 00142 00143 #endif // _SQUARECOLLOCATIONPOINTS_H_