| 474 | } |
| 475 | |
| 476 | int64_t WriterImpl::NewData3D( Data3D &data3DHeader ) |
| 477 | { |
| 478 | StructureNode scan( imf_ ); |
| 479 | data3D_.append( scan ); |
| 480 | |
| 481 | int64_t pos = data3D_.childCount() - 1; |
| 482 | |
| 483 | if ( data3DHeader.guid.empty() ) |
| 484 | { |
| 485 | data3DHeader.guid = generateRandomGUID(); |
| 486 | } |
| 487 | |
| 488 | scan.set( "guid", StringNode( imf_, data3DHeader.guid ) ); |
| 489 | |
| 490 | if ( !data3DHeader.name.empty() ) |
| 491 | { |
| 492 | scan.set( "name", StringNode( imf_, data3DHeader.name ) ); |
| 493 | } |
| 494 | |
| 495 | if ( !data3DHeader.description.empty() ) |
| 496 | { |
| 497 | scan.set( "description", StringNode( imf_, data3DHeader.description ) ); |
| 498 | } |
| 499 | |
| 500 | if ( !data3DHeader.originalGuids.empty() ) |
| 501 | { |
| 502 | scan.set( "originalGuids", VectorNode( imf_ ) ); |
| 503 | |
| 504 | VectorNode originalGuids( scan.get( "originalGuids" ) ); |
| 505 | |
| 506 | for ( const auto &guid : data3DHeader.originalGuids ) |
| 507 | { |
| 508 | originalGuids.append( StringNode( imf_, guid ) ); |
| 509 | } |
| 510 | } |
| 511 | |
| 512 | // Add various sensor and version strings to scan. |
| 513 | // Path names: "/data3D/0/sensorVendor", etc... |
| 514 | if ( !data3DHeader.sensorVendor.empty() ) |
| 515 | { |
| 516 | scan.set( "sensorVendor", StringNode( imf_, data3DHeader.sensorVendor ) ); |
| 517 | } |
| 518 | |
| 519 | if ( !data3DHeader.sensorModel.empty() ) |
| 520 | { |
| 521 | scan.set( "sensorModel", StringNode( imf_, data3DHeader.sensorModel ) ); |
| 522 | } |
| 523 | |
| 524 | if ( !data3DHeader.sensorSerialNumber.empty() ) |
| 525 | { |
| 526 | scan.set( "sensorSerialNumber", StringNode( imf_, data3DHeader.sensorSerialNumber ) ); |
| 527 | } |
| 528 | |
| 529 | if ( !data3DHeader.sensorHardwareVersion.empty() ) |
| 530 | { |
| 531 | scan.set( "sensorHardwareVersion", |
| 532 | StringNode( imf_, data3DHeader.sensorHardwareVersion ) ); |
| 533 | } |
nothing calls this directly
no test coverage detected