hp2FEM
0.1
|
00001 #ifndef _PARAMETRICSURFACES_H_ 00002 #define _PARAMETRICSURFACES_H_ 00003 // --------------------------------------------- 00004 // company : 00005 // user : 00006 // date : 22 Mar 2015 17:25 00007 // file : ParametricSurfaces.h 00008 // markers : Full 00009 // language : C++ 00010 // generator : Metamill 6.0 00011 // --------------------------------------------- 00012 00013 //#UBLK-BEG-HEADERH 00014 //#UBLK-END-HEADERH 00015 00016 /*================================================================================================= 00017 = = 00018 = Copyright 2010-2015 Marco Lucio Bittencourt / Fabiano Fernandes Bargos = 00019 = Gilberto Luis Valente / Jorge Luis Suzuki / Allan Patrick Cordeiro Dias = 00020 = = 00021 = Licensed under the Apache License, Version 2.0 (the "License"); = 00022 = you may not use this file except in compliance with the License. = 00023 = You may obtain a copy of the License at = 00024 = = 00025 = http://www.apache.org/licenses/LICENSE-2.0 = 00026 = = 00027 = Unless required by applicable law or agreed to in writing, software = 00028 = distributed under the License is distributed on an "AS IS" BASIS, = 00029 = WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. = 00030 = See the License for the specific language governing permissions and = 00031 = limitations under the License. = 00032 = = 00033 =================================================================================================*/ 00034 00035 00036 #include "ds/Array.h" 00037 #include "NURBSSurface.h" 00038 00039 00043 class ParametricSurfaces 00044 { 00045 //#UBLK-BEG-CLASSDEF mm:6374636b-01a5-4db8-a181-131bc5709356 00046 //#UBLK-END-CLASSDEF 00047 00048 public: 00049 00050 // METHOD=mm:59f44f02-df8c-4f84-bbac-b872f8b43b46 00051 ParametricSurfaces(); 00052 00053 // METHOD=mm:c9a4a2db-f7d1-4fac-b11d-18550bb7f859 00054 ~ParametricSurfaces(); 00055 00056 // METHOD=mm:d162f29f-dc94-4f0a-9b2f-362c2e1483cf 00057 void Save(FILE* File); 00058 00059 // METHOD=mm:8bb0c081-1f79-4989-b4aa-63767f8f7dd0 00060 void Restore(FILE* File); 00061 00062 // METHOD=mm:ae7aa6b3-0013-4533-a4e5-f34dd1600017 00063 void Read(FILE* File); 00064 00065 // METHOD=mm:1e01f9d6-a27d-4e5c-8426-8144c26793ad 00066 void Print(FILE* File = stdout); 00067 00068 // METHOD=mm:6adea528-4ff2-4405-a7a0-d391dc20fb5d 00069 void Free(); 00070 00071 // METHOD=mm:052415d2-e9f5-41ce-8b9c-03bdaf4bce39 00072 NURBSSurface& operator[](long SurfaceNumber); 00073 00074 // METHOD=mm:d45e8db1-64ec-406f-98f5-4731f3927b7a 00075 long GetLocalIndex(long SurfaceNumber); 00076 00077 // METHOD=mm:08a04f3a-4884-4b2b-9674-a822a674044c 00078 NURBSSurface& GetNURBSSurface(long LocalNumber); 00079 00080 // METHOD=mm:eca240ad-9ab0-454f-a356-7544dd1b4966 00081 long GetNumberOfParametricSurfaces(); 00082 00083 00084 protected: 00085 00097 // attr=mm:5c24a4b1-fbd8-48d6-b203-3e75594135f4 00098 BuiltInArray<long> SurfaceIndex; 00099 00109 // attr=mm:f312ac01-0646-47ee-8e0d-2005625a48f9 00110 Array<NURBSSurface> Surfaces; 00111 00112 00113 private: 00114 00115 //#UBLK-BEG-CLASSMEMB mm:6374636b-01a5-4db8-a181-131bc5709356 00116 //#UBLK-END-CLASSMEMB 00117 }; 00118 00119 //#UBLK-BEG-GLOBALH 00120 //#UBLK-END-GLOBALH 00121 00122 00123 #endif // _PARAMETRICSURFACES_H_