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

Method reopen

LASlib/src/lasreader.cpp:1426–1626  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1424}
1425
1426BOOL LASreadOpener::reopen(LASreader* lasreader, BOOL remain_buffered) {
1427 if (lasreader == 0) {
1428 LASMessage(LAS_WARNING, "pointer to LASreader is NULL");
1429 return FALSE;
1430 }
1431
1432 // make sure the LASreader was closed
1433
1434 lasreader->close();
1435
1436 if (filter) filter->reset();
1437 if (transform) transform->reset();
1438
1439 if (pipe_on) {
1440 LASreaderPipeOn* lasreaderpipeon = (LASreaderPipeOn*)lasreader;
1441 lasreaderpipeon->p_idx = 0;
1442 lasreaderpipeon->p_cnt = 0;
1443 lasreader = lasreaderpipeon->get_lasreader();
1444 }
1445
1446 if (stored) {
1447 LASreaderStored* lasreaderstored = (LASreaderStored*)lasreader;
1448 if (!lasreaderstored->reopen()) {
1449 LASMessage(LAS_WARNING, "could not reopen lasreaderstored for stored input");
1450 return FALSE;
1451 }
1452 return TRUE;
1453 } else if (file_names) {
1454 if ((file_name_number > 1) && merged) {
1455 LASreaderMerged* lasreadermerged = (LASreaderMerged*)lasreader;
1456 if (!lasreadermerged->reopen()) {
1457 LASMessage(LAS_WARNING, "cannot reopen lasreadermerged");
1458 return FALSE;
1459 }
1460 if (inside_rectangle || inside_tile || inside_circle) {
1461 lasreadermerged->inside_none();
1462 if (inside_rectangle)
1463 lasreadermerged->inside_rectangle(inside_rectangle[0], inside_rectangle[1], inside_rectangle[2], inside_rectangle[3]);
1464 else if (inside_tile)
1465 lasreadermerged->inside_tile(inside_tile[0], inside_tile[1], inside_tile[2]);
1466 else
1467 lasreadermerged->inside_circle(inside_circle[0], inside_circle[1], inside_circle[2]);
1468 }
1469 if (inside_depth_opener) lasreadermerged->inside_copc_depth(inside_depth_opener, copc_depth, copc_resolution);
1470 return TRUE;
1471 } else if ((buffer_size > 0) && ((file_name_number > 1) || (neighbor_file_name_number > 0))) {
1472 LASreaderBuffered* lasreaderbuffered = (LASreaderBuffered*)lasreader;
1473 if (!lasreaderbuffered->reopen()) {
1474 laserror("cannot reopen lasreaderbuffered");
1475 return FALSE;
1476 }
1477 if (inside_rectangle || inside_tile || inside_circle) {
1478 lasreaderbuffered->inside_none();
1479 if (inside_rectangle)
1480 lasreaderbuffered->inside_rectangle(inside_rectangle[0], inside_rectangle[1], inside_rectangle[2], inside_rectangle[3]);
1481 else if (inside_tile)
1482 lasreaderbuffered->inside_tile(inside_tile[0], inside_tile[1], inside_tile[2]);
1483 else

Callers 3

mainFunction · 0.45
mainFunction · 0.45
mainFunction · 0.45

Calls 15

LASMessageFunction · 0.85
laserrorFunction · 0.85
IsLasLazFileFunction · 0.85
stringFunction · 0.85
HasFileExtFunction · 0.85
inside_noneMethod · 0.80
remove_bufferMethod · 0.80
closeMethod · 0.45
resetMethod · 0.45
get_lasreaderMethod · 0.45
inside_rectangleMethod · 0.45
inside_tileMethod · 0.45

Tested by

no test coverage detected