hp2FEM  0.1
include/nurbs/ParametricSurfaces.h
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_
 All Classes Files Functions Variables Typedefs Friends Defines