RDB 2
Public Member Functions | Static Public Member Functions | List of all members
riegl::rdb::pointcloud::Changelog Class Reference

Manage point cloud changelog. More...

#include <changelog.hpp>

Public Member Functions

 Changelog (riegl::rdb::PointcloudData *pointcloud)
 Constructor. More...
 
void appendMessage (const std::string &message)
 Append text to current log entry. More...
 
void exportToTextfile (const std::string &filename)
 Export changelog to text file. More...
 
void importFromDatabase (const std::string &filename)
 Import changelog from database. More...
 

Static Public Member Functions

static bool verifyLogEntry (const std::string &entry, const std::uint32_t method, const std::uint32_t key_size, const void *const key_data)
 Verify log entry signature. More...
 

Detailed Description

Manage point cloud changelog.

Each database maintains a log of changes made to a point cloud.

A separate log entry is created for each database transaction or management operation. A log entry contains log messages with high-level information about the modifications as follows:

Details like actual point data, attribute definitions or metadata values are not recorded.

See also
riegl::rdb::Pointcloud::changelog()
Since
2.3.0

Definition at line 76 of file changelog.hpp.

Constructor & Destructor Documentation

riegl::rdb::pointcloud::Changelog::Changelog ( riegl::rdb::PointcloudData *  pointcloud)
explicit

Constructor.

Note
You cannot create new Changelog objects directly, use riegl::rdb::Pointcloud::changelog() instead.

Member Function Documentation

void riegl::rdb::pointcloud::Changelog::appendMessage ( const std::string &  message)

Append text to current log entry.

This function appends text message(s) to the log entry of the current database transaction. As with all strings in RDB, the characters are expected to be UTF-8 encoded. Line endings are normalized (i.e. CR+LF and CR are converted to LF).

Calling this function while no transaction is active has no effect.

Since
2.3.0
void riegl::rdb::pointcloud::Changelog::exportToTextfile ( const std::string &  filename)

Export changelog to text file.

This function exports the entire changelog to a single text file. The file is UTF-8 encoded and text lines are separated by a single line feed character (LF, ASCII 0x0A), regardless of the operating system the file was created on.

Since
2.3.0
Parameters
[in]filenameoutput text filename
void riegl::rdb::pointcloud::Changelog::importFromDatabase ( const std::string &  filename)

Import changelog from database.

This function imports the entire changelog from an other database. This is intended for applications where a database is to be replaced by a new one (often derived from the old one) and the processing history is to be retained.

Since
2.3.0
Parameters
[in]filenameinput database filename
static bool riegl::rdb::pointcloud::Changelog::verifyLogEntry ( const std::string &  entry,
const std::uint32_t  method,
const std::uint32_t  key_size,
const void *const  key_data 
)
static

Verify log entry signature.

Returns 'false' if:

  • there is no signature for the log entry
  • the signature does not match the log messages
  • a wrong signature encryption key was given

Otherwise returns 'true'.

Since
2.3.0
Parameters
[in]entrylog entry messages to verify
[in]methodsignature method (1: default)
[in]key_sizesignature encryption key size (at least 32 byte)
[in]key_datasignature encryption key buffer

The documentation for this class was generated from the following file: