3D Forest
Software for analysis of Lidar data from forest environment.
PageData Class Reference

#include <PageData.hpp>

Public Member Functions

 PageData (uint32_t datasetId, uint32_t pageId)
 
 ~PageData ()
 
uint32_t datasetId () const
 
uint32_t pageId () const
 
void readPage (Editor *editor)
 
void writePage (Editor *editor)
 
void transform (Editor *editor)
 
size_t size () const
 
void setModified ()
 
bool modified () const
 

Public Attributes

Box< double > box
 
IndexFile octree
 
Point Data
std::vector< double > position
 
std::vector< double > intensity
 
std::vector< uint8_t > returnNumber
 
std::vector< uint8_t > numberOfReturns
 
std::vector< uint8_t > classification
 
std::vector< uint8_t > userData
 
std::vector< double > gpsTime
 
std::vector< double > color
 
Point Data Extra Bytes
std::vector< size_t > segment
 
std::vector< double > elevation
 
std::vector< double > descriptor
 
std::vector< size_t > voxel
 
Rendering
std::vector< float > renderPosition
 

Private Member Functions

void resize (size_t n)
 
void updatePoint (uint8_t *ptr, size_t i, uint8_t fmt)
 

Private Attributes

uint32_t datasetId_
 
uint32_t pageId_
 
bool modified_
 
std::vector< uint8_t > pointDataBuffer_
 
std::vector< double > positionBase_
 

Constructor & Destructor Documentation

◆ PageData()

PageData::PageData ( uint32_t datasetId,
uint32_t pageId )

◆ ~PageData()

PageData::~PageData ( )

Member Function Documentation

◆ datasetId()

uint32_t PageData::datasetId ( ) const
inline

◆ modified()

bool PageData::modified ( ) const
inline

◆ pageId()

uint32_t PageData::pageId ( ) const
inline

◆ readPage()

void PageData::readPage ( Editor * editor)

◆ resize()

void PageData::resize ( size_t n)
private

Referenced by readPage().

◆ setModified()

void PageData::setModified ( )
inline

◆ size()

size_t PageData::size ( ) const
inline

◆ transform()

void PageData::transform ( Editor * editor)

Referenced by readPage().

◆ updatePoint()

void PageData::updatePoint ( uint8_t * ptr,
size_t i,
uint8_t fmt )
private

Referenced by writePage().

◆ writePage()

void PageData::writePage ( Editor * editor)

Member Data Documentation

◆ box

Box<double> PageData::box

Bounding box.

Referenced by transform().

◆ classification

std::vector<uint8_t> PageData::classification

◆ color

std::vector<double> PageData::color

Red, Green, and Blue image channels.

The data are stored as [r0, g0, b0, r1, g1, ...]. Color values are in range from 0 (zero intensity) to 1 (full intensity). When the input data set has no colors, then the colors in this vector are set to full intensity.

Referenced by readPage(), and resize().

◆ datasetId_

uint32_t PageData::datasetId_
private

Dataset identifier.

Referenced by PageData(), readPage(), transform(), writePage(), and ~PageData().

◆ descriptor

std::vector<double> PageData::descriptor

Descriptor values.

The data are stored as [d0, d1, ...]. The values are in range from 0 (zero) to 1 (full). This value is stored in Point Data Record extra bytes.

Referenced by readPage(), resize(), and writePage().

◆ elevation

std::vector<double> PageData::elevation

Point elevation above ground.

The data are stored as [e0, e1, ...]. This value is stored in Point Data Record extra bytes.

Referenced by readPage(), resize(), and writePage().

◆ gpsTime

std::vector<double> PageData::gpsTime

GPS time.

Referenced by readPage(), and resize().

◆ intensity

std::vector<double> PageData::intensity

Pulse return magnitude.

The data are stored as [i0, i1, ...]. The values are in range from 0 (zero intensity) to 1 (full intensity).

Referenced by readPage(), resize(), and updatePoint().

◆ modified_

bool PageData::modified_
private

When true, this page should be written back to hard drive.

Referenced by readPage(), and writePage().

◆ numberOfReturns

std::vector<uint8_t> PageData::numberOfReturns

Number of returns.

Contains values from 0 to 15.

Referenced by readPage(), and resize().

◆ octree

IndexFile PageData::octree

Octree.

Referenced by readPage().

◆ pageId_

uint32_t PageData::pageId_
private

Page identifier in a dataset.

Referenced by PageData(), readPage(), writePage(), and ~PageData().

◆ pointDataBuffer_

std::vector<uint8_t> PageData::pointDataBuffer_
private

File buffer to preserve untouched LAS data for updates.

Referenced by readPage(), and writePage().

◆ position

std::vector<double> PageData::position

Point coordinates.

The data are stored as [x0, y0, z0, x1, y1, ...]. These are actual X, Y, or Z coordinates after scaling and offset.

Referenced by readPage(), resize(), and transform().

◆ positionBase_

std::vector<double> PageData::positionBase_
private

Original xyz position of each point for translations.

Referenced by readPage(), resize(), and transform().

◆ renderPosition

std::vector<float> PageData::renderPosition

Rendering Point Coordinates.

The data are stored as [x0, y0, z0, x1, y1, ...].

Referenced by resize(), and transform().

◆ returnNumber

std::vector<uint8_t> PageData::returnNumber

Return number.

Contains values from 0 to 15.

Referenced by readPage(), and resize().

◆ segment

std::vector<size_t> PageData::segment

Segment identification numbers.

This value is stored in Point Data Record extra bytes.

Referenced by readPage(), resize(), and writePage().

◆ userData

std::vector<uint8_t> PageData::userData

User data.

Referenced by readPage(), and resize().

◆ voxel

std::vector<size_t> PageData::voxel

Voxel values.

This value is stored in Point Data Record extra bytes.

Referenced by readPage(), resize(), and writePage().


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