| 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:

- current transaction number, title, agent, date and time
- number of data points added, updated, removed
- list of point attributes affected by point operations
- list of point attributes added, updated, removed
- list of metadata entries added, updated, removed
- modification of level-of-detail parameters
- management: restore transaction, finalize and vacuum database
- optional: log messages (some text) provided by client software

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

## ◆ Changelog()

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

## ◆ appendMessage()

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

## ◆ exportToTextfile()

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] | filename | output text filename

## ◆ importFromDatabase()

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] | filename | input database filename

## ◆ verifyLogEntry()

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] | entry | log entry messages to verify
  [in] | method | signature method (1: default)
  [in] | key_size | signature encryption key size (at least 32 byte)
  [in] | key_data | signature encryption key buffer

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

- riegl/rdb/pointcloud/changelog.hpp