MCPcopy Create free account
hub / github.com/LAStools/LAStools / add_internal

Method add_internal

LASlib/src/lasutility.cpp:1423–1544  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1421}
1422
1423BOOL LASoccupancyGrid::add_internal(I32 pos_x, I32 pos_y)
1424{
1425 pos_y = pos_y - anker;
1426 BOOL no_x_anker = FALSE;
1427 U32* array_size;
1428 I32** ankers;
1429 U32*** array;
1430 U16** array_sizes;
1431 if (pos_y < 0)
1432 {
1433 pos_y = -pos_y - 1;
1434 ankers = &minus_ankers;
1435 if ((U32)pos_y < minus_plus_size && minus_plus_sizes[pos_y])
1436 {
1437 pos_x -= minus_ankers[pos_y];
1438 if (pos_x < 0)
1439 {
1440 pos_x = -pos_x - 1;
1441 array_size = &minus_minus_size;
1442 array = &minus_minus;
1443 array_sizes = &minus_minus_sizes;
1444 }
1445 else
1446 {
1447 array_size = &minus_plus_size;
1448 array = &minus_plus;
1449 array_sizes = &minus_plus_sizes;
1450 }
1451 }
1452 else
1453 {
1454 no_x_anker = TRUE;
1455 array_size = &minus_plus_size;
1456 array = &minus_plus;
1457 array_sizes = &minus_plus_sizes;
1458 }
1459 }
1460 else
1461 {
1462 ankers = &plus_ankers;
1463 if ((U32)pos_y < plus_plus_size && plus_plus_sizes[pos_y])
1464 {
1465 pos_x -= plus_ankers[pos_y];
1466 if (pos_x < 0)
1467 {
1468 pos_x = -pos_x - 1;
1469 array_size = &plus_minus_size;
1470 array = &plus_minus;
1471 array_sizes = &plus_minus_sizes;
1472 }
1473 else
1474 {
1475 array_size = &plus_plus_size;
1476 array = &plus_plus;
1477 array_sizes = &plus_plus_sizes;
1478 }
1479 }
1480 else

Callers

nothing calls this directly

Calls 2

realloc_lasFunction · 0.85
malloc_lasFunction · 0.85

Tested by

no test coverage detected