00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025 #include "g-map-vertex.hh"
00026 #include "mesh-vertex.hh"
00027 #include <cassert>
00028 using namespace GMap3d;
00029
00030 CVertex* CMeshVertex::allocVertexArray1(int ADimX)
00031 {
00032 assert(ADimX>0);
00033
00034 return new CVertex[ADimX];
00035 }
00036
00037 void CMeshVertex::freeVertexArray1(CVertex* AArray1, int )
00038 {
00039 assert(AArray1!=NULL);
00040
00041 delete [] AArray1;
00042 }
00043
00044 CVertex** CMeshVertex::allocVertexArray2(int ADimX, int ADimY)
00045 {
00046 assert(ADimX>0);
00047 assert(ADimY>0);
00048
00049 CVertex** result = new CVertex* [ADimX];
00050
00051 for (int i=0; i<ADimX; ++i)
00052 result[i] = allocVertexArray1(ADimY);
00053
00054 return result;
00055 }
00056
00057 void CMeshVertex::freeVertexArray2(CVertex** AArray2, int ADimX, int ADimY)
00058 {
00059 assert(AArray2!=NULL);
00060
00061 for (int i=0; i<ADimX; ++i)
00062 freeVertexArray1(AArray2[i], ADimY);
00063
00064 delete [] AArray2;
00065 }
00066
00067 CVertex*** CMeshVertex::allocVertexArray3(int ADimX, int ADimY, int ADimZ)
00068 {
00069 assert(ADimX>0);
00070 assert(ADimY>0);
00071 assert(ADimZ>0);
00072
00073 CVertex*** result = new CVertex** [ADimX];
00074
00075 for (int i=0; i<ADimX; ++i)
00076 result[i] = allocVertexArray2(ADimY, ADimZ);
00077
00078 return result;
00079 }
00080
00081 void CMeshVertex::freeVertexArray3(CVertex*** AArray3,
00082 int ADimX, int ADimY, int ADimZ)
00083 {
00084 assert(AArray3!=NULL);
00085
00086 for (int i=0; i<ADimX; ++i)
00087 freeVertexArray2(AArray3[i], ADimY, ADimZ);
00088
00089 delete [] AArray3;
00090 }
00091
00092 const CVertex** CMeshVertex::allocVertexPtrArray1(int ADimX)
00093 {
00094 assert(ADimX>0);
00095
00096 return new const CVertex* [ADimX];
00097 }
00098
00099 void CMeshVertex::freeVertexPtrArray1(const CVertex** AArray1, int )
00100 {
00101 assert(AArray1!=NULL);
00102
00103 delete [] AArray1;
00104 }
00105
00106 const CVertex*** CMeshVertex::allocVertexPtrArray2(int ADimX, int ADimY)
00107 {
00108 assert(ADimX>0);
00109 assert(ADimY>0);
00110
00111 const CVertex*** result = new const CVertex** [ADimX];
00112
00113 for (int i=0; i<ADimX; ++i)
00114 result[i] = allocVertexPtrArray1(ADimY);
00115
00116 return result;
00117 }
00118
00119 void CMeshVertex::freeVertexPtrArray2(const CVertex*** AArray2,
00120 int ADimX, int ADimY)
00121 {
00122 assert(AArray2!=NULL);
00123
00124 for (int i=0; i<ADimX; ++i)
00125 freeVertexPtrArray1(AArray2[i], ADimY);
00126
00127 delete [] AArray2;
00128 }
00129
00130 const CVertex**** CMeshVertex::allocVertexPtrArray3(int ADimX, int ADimY, int ADimZ)
00131 {
00132 assert(ADimX>0);
00133 assert(ADimY>0);
00134 assert(ADimZ>0);
00135
00136 const CVertex**** result = new const CVertex*** [ADimX];
00137
00138 for (int i=0; i<ADimX; ++i)
00139 result[i] = allocVertexPtrArray2(ADimY, ADimZ);
00140
00141 return result;
00142 }
00143
00144 void CMeshVertex::freeVertexPtrArray3(const CVertex**** AArray3,
00145 int ADimX, int ADimY, int ADimZ)
00146 {
00147 assert(AArray3!=NULL);
00148
00149 for (int i=0; i<ADimX; ++i)
00150 freeVertexPtrArray2(AArray3[i], ADimY, ADimZ);
00151
00152 delete [] AArray3;
00153 }
00154