Loading...
Searching...
No Matches
GridChecksum Class Reference

Class that encapsulates two CRC32 checksums, one for the Grid, Tree and Root node meta data and one for the remaining grid nodes. More...

`#include <nanovdb/util/GridChecksum.h>`

## Public Member Functions

| GridChecksum ()
| default constructor initiates checksum to EMPTY
| GridChecksum (uint32_t head, uint32_t tail)
| Constructor that allows the two 32bit checksums to be initiated explicitly.
| GridChecksum (uint64_t checksum, ChecksumMode mode=ChecksumMode::Full)
uint64_t | checksum () const
| return the 64 bit checksum of this instance
uint32_t & | checksum (int i)
| return 32 bit (crc32) checksum of this instance
uint32_t | checksum (int i) const
| return 32 bit (crc32) checksum of this instance
bool | isPartial () const
| return true if the 64 bit checksum is partial, i.e. of head only
bool | isFull () const
| return true if the 64 bit checksum is fill, i.e. of both had and nodes
bool | isEmpty () const
| return true if the 64 bit checksum is disables (unset)
ChecksumMode | mode () const
| return the mode of the 64 bit checksum
ChecksumMode | operator() (const GridData &gridData, ChecksumMode mode=ChecksumMode::Full)
| compute checksum of `gridData` using a 4KB blocked approach
bool | operator== (const GridChecksum &rhs) const
| return true if the checksums are identical
bool | operator!= (const GridChecksum &rhs) const
| return true if the checksums are not identical

## Static Public Attributes

static constexpr uint64_t | EMPTY = ~uint64_t(0)

## Detailed Description

Class that encapsulates two CRC32 checksums, one for the Grid, Tree and Root node meta data and one for the remaining grid nodes.

## Constructor & Destructor Documentation

## GridChecksum() [1/3]

GridChecksum | ( |  | ) |

inline

default constructor initiates checksum to EMPTY

## GridChecksum() [2/3]

GridChecksum | ( | uint32_t | head,
|  | uint32_t | tail )

inline

Constructor that allows the two 32bit checksums to be initiated explicitly.

Parameters

  head | Initial 32bit CRC checksum of grid, tree and root data
  tail | Initial 32bit CRC checksum of all the nodes and blind data

## GridChecksum() [3/3]

GridChecksum | ( | uint64_t | checksum,
|  | ChecksumMode | mode = ChecksumMode::Full )

inline

Parameters

  checksum |
  mode |

## Member Function Documentation

## checksum() [1/3]

uint64_t checksum | ( |  | ) | const

inline

return the 64 bit checksum of this instance

## checksum() [2/3]

uint32_t & checksum | ( | int | i | ) |

inline

return 32 bit (crc32) checksum of this instance

Parameters

  i | index of value 0 or 1 indicated the 32 bit checksum of the head or nodes

Returns
  non-const reference of the i'th 32bit checksum

## checksum() [3/3]

uint32_t checksum | ( | int | i | ) | const

inline

return 32 bit (crc32) checksum of this instance

Parameters

  i | index of value 0 or 1 indicated the 32 bit checksum of the head or nodes

Returns
  copy of the i'th 32bit checksum

## isEmpty()

bool isEmpty | ( |  | ) | const

inline

return true if the 64 bit checksum is disables (unset)

## isFull()

bool isFull | ( |  | ) | const

inline

return true if the 64 bit checksum is fill, i.e. of both had and nodes

## isPartial()

bool isPartial | ( |  | ) | const

inline

return true if the 64 bit checksum is partial, i.e. of head only

## mode()

ChecksumMode mode | ( |  | ) | const

inline

return the mode of the 64 bit checksum

## operator!=()

bool operator!= | ( | const GridChecksum & | rhs | ) | const

inline

return true if the checksums are not identical

Parameters

  rhs | other GridChecksum

## operator()()

ChecksumMode operator() | ( | const GridData & | gridData,
|  | ChecksumMode | mode = ChecksumMode::Full )

inline

compute checksum of `gridData` using a 4KB blocked approach

Parameters

  gridData | Reference to GridData
  mode | Mode of the checksum computation

## operator==()

bool operator== | ( | const GridChecksum & | rhs | ) | const

inline

return true if the checksums are identical

Parameters

  rhs | other GridChecksum

## Member Data Documentation

## EMPTY

uint64_t EMPTY = ~uint64_t(0)

static constexpr

## mChecksum

uint64_t mChecksum

## mCRC

uint32_t mCRC[2]