MCPcopy Create free account
hub / github.com/PDAL/PDAL / ready

Method ready

io/EsriReader.cpp:322–380  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

320
321
322void EsriReader::ready(PointTableRef table)
323{
324 //output arguments for debugging
325 log()->get(LogLevel::Debug) << "filename: " <<
326 m_filename << std::endl;
327 log()->get(LogLevel::Debug) << "threads: " <<
328 m_args->threads << std::endl;
329 log()->get(LogLevel::Debug) << "obb: " <<
330 m_args->obb << std::endl;
331 log()->get(LogLevel::Debug) << "min_density: " <<
332 m_args->min_density << std::endl;
333 log()->get(LogLevel::Debug) << "max_density: " <<
334 m_args->max_density << std::endl;
335 log()->get(LogLevel::Debug) << "dimensions: " << std::endl;
336
337 for (std::string& dim : m_args->dimensions)
338 log()->get(LogLevel::Debug) << " -" << dim <<std::endl;
339
340 /*
341 -3Dscenelayerinfo: <scene-server-url/layers/<layer-id>
342 -node index document: <layer-url >/nodepages/<iterative node page id>
343 -shared resources: <node-url>/shared/
344 -feature data: <node-url>/features/<feature-data-bundle-id>
345 -geometry data: <node-url>/geometries/<geometry-data-bundle-id>
346 -texture data: <node-url>/textures/<texture-data-bundle-id>
347 */
348
349 // Before version 2, page indexes were the first item on the page, rather than the
350 // actual page number, so we use the page size (m_nodeCap) as a factor from the page
351 // index to get the proper filename for a page.
352 int indexFactor = m_version >= Version("2.0") ? 1 : m_nodeCap;
353 m_pageManager.reset(new PageManager(100, 4, indexFactor,
354 [this](std::string src) { return m_interface->fetchJson(src); }));
355 PagePtr p = m_pageManager->getPage(0);
356 traverseTree(p, 0);
357 m_pool->await();
358
359 // If we're running in standard mode, queue up all the requests for data.
360 // In streaming mode, queue up at most 4 to avoid having a ton of data
361 // show up at once. Others requests will be queued as the results
362 // are handled.
363 m_tilesToProcess = m_nodes.size();
364 m_pointId = 0;
365 if (table.supportsView())
366 {
367 for (int i : m_nodes)
368 load(i);
369 }
370 else
371 {
372 int count = 4;
373 m_curNodeIdx = 0;
374 while (m_curNodeIdx < m_nodes.size() && count)
375 {
376 load(m_nodes[m_curNodeIdx++]);
377 count--;
378 }
379 }

Callers

nothing calls this directly

Calls 8

VersionClass · 0.85
loadFunction · 0.85
getPageMethod · 0.80
logFunction · 0.50
getMethod · 0.45
resetMethod · 0.45
fetchJsonMethod · 0.45
sizeMethod · 0.45

Tested by

no test coverage detected