MCPcopy Create free account
hub / github.com/BIMCoderLiang/LNLib / insertVertexLink

Method insertVertexLink

src/LNLib/Algorithm/Voronoi.cpp:1196–1252  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1194}
1195
1196void LNLib::VoronoiDiagramGenerator::insertVertexLink(long vertexNum, long vertexLinkedTo)
1197{
1198 if (vertexLinks == 0)
1199 {
1200 vertexLinks = (struct Point3*)myalloc(4000 * sizeof(*vertexLinks));
1201 sizeOfVertexLinks = 4000;
1202 for (int i = 0; i < sizeOfVertexLinks; i++)
1203 {
1204 vertexLinks[i].x = vertexLinks[i].y = vertexLinks[i].z = -1; //initialise all elements in the array to -1
1205 vertexLinks[i].count = 0;
1206 }
1207 }
1208 //if the site address being entered is past the end of the array, then grow the array
1209 while (vertexNum > sizeOfVertexLinks - 1 || vertexLinkedTo > sizeOfVertexLinks - 1)
1210 {
1211 vertexLinks = (Point3*)realloc(vertexLinks, (sizeOfVertexLinks + 4000) * sizeof(Point3));
1212 sizeOfVertexLinks += 4000;
1213
1214 for (int i = sizeOfVertexLinks - 4000; i < sizeOfVertexLinks; i++)
1215 {
1216 vertexLinks[i].x = vertexLinks[i].y = vertexLinks[i].z = -1; //initialise all elements in the array to -1
1217 vertexLinks[i].count = 0;
1218 }
1219 }
1220
1221 if (vertexLinks[vertexNum].x == -1)
1222 {
1223 vertexLinks[vertexNum].x = (float)vertexLinkedTo;
1224 vertexLinks[vertexNum].count = 1;
1225 }
1226 else if (vertexLinks[vertexNum].y == -1)
1227 {
1228 vertexLinks[vertexNum].y = (float)vertexLinkedTo;
1229 vertexLinks[vertexNum].count = 2;
1230 }
1231 else if (vertexLinks[vertexNum].z == -1)
1232 {
1233 vertexLinks[vertexNum].z = (float)vertexLinkedTo;
1234 vertexLinks[vertexNum].count = 3;
1235 }
1236
1237 if (vertexLinks[vertexLinkedTo].x == -1)
1238 {
1239 vertexLinks[vertexLinkedTo].x = (float)vertexNum;
1240 vertexLinks[vertexLinkedTo].count = 1;
1241 }
1242 else if (vertexLinks[vertexLinkedTo].y == -1)
1243 {
1244 vertexLinks[vertexLinkedTo].y = (float)vertexNum;
1245 vertexLinks[vertexLinkedTo].count = 2;
1246 }
1247 else if (vertexLinks[vertexLinkedTo].z == -1)
1248 {
1249 vertexLinks[vertexLinkedTo].z = (float)vertexNum;
1250 vertexLinks[vertexLinkedTo].count = 3;
1251 }
1252}
1253

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected