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

Method setupFileHeader

plugins/e57/io/E57Writer.cpp:319–363  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

317}
318
319void E57Writer::setupFileHeader()
320{
321 m_rootNode.reset(new e57::StructureNode(m_imageFile->root()));
322
323 //header info
324 // We are using the E57 v1.0 data format standard fieldnames.
325 // The standard fieldnames are used without an extension prefix
326 // (in the default namespace).
327 m_imageFile->extensionsAdd("", e57::E57_V1_0_URI);
328 m_imageFile->extensionsAdd("nor",
329 "http://www.libe57.org/E57_NOR_surface_normals.txt");
330
331 // Set per-file properties.
332 // Path names: "/formatName", "/majorVersion", "/minorVersion",
333 // "/coordinateMetadata"
334 m_rootNode->set("formatName",
335 e57::StringNode(*m_imageFile, "ASTM E57 3D Imaging Data File"));
336 m_rootNode->set("guid",
337 e57::StringNode(*m_imageFile, uuidGenerator::generate_uuid()));
338
339 // Get ASTM version number supported by library, so can write it into file
340 uint32_t astmMajor;
341 uint32_t astmMinor;
342 std::string libraryId;
343 e57::Version::get(astmMajor, astmMinor, libraryId);
344
345 m_rootNode->set("versionMajor", e57::IntegerNode(*m_imageFile, astmMajor));
346 m_rootNode->set("versionMinor", e57::IntegerNode(*m_imageFile, astmMinor));
347 m_rootNode->set("e57LibraryVersion",
348 e57::StringNode(*m_imageFile, libraryId));
349
350 // Save a dummy string for coordinate system.
351 m_rootNode->set("coordinateMetadata", e57::StringNode(*m_imageFile, ""));
352
353 // Create creationDateTime structure TODO add actual time
354 e57::StructureNode creationDateTime = e57::StructureNode(*m_imageFile);
355 creationDateTime.set("dateTimeValue", e57::FloatNode(*m_imageFile, 0.0));
356 creationDateTime.set("isAtomicClockReferenced",
357 e57::IntegerNode(*m_imageFile, 0));
358 m_rootNode->set("creationDateTime", creationDateTime);
359
360//ABELL - This description seems too specific.
361 m_rootNode->set("description",
362 e57::StringNode(*m_imageFile,"E57 file generated by PDAL"));
363}
364
365void E57Writer::setupWriter()
366{

Callers

nothing calls this directly

Calls 10

StringNodeClass · 0.85
generate_uuidFunction · 0.85
IntegerNodeClass · 0.85
StructureNodeClass · 0.85
FloatNodeClass · 0.85
getFunction · 0.50
resetMethod · 0.45
rootMethod · 0.45
extensionsAddMethod · 0.45
setMethod · 0.45

Tested by

no test coverage detected