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

#include <Page.hpp>

Public Types

enum  State {
  STATE_READ , STATE_TRANSFORM , STATE_SELECT , STATE_RUN_MODIFIERS ,
  STATE_RENDER , STATE_RENDERED
}
 

Public Member Functions

 Page (Editor *editor, Query *query, uint32_t datasetId, uint32_t pageId)
 
 ~Page ()
 
uint32_t datasetId () const
 
uint32_t pageId () const
 
void readPage ()
 
void writePage ()
 
size_t size () const
 
void setModified ()
 
bool isModified () const
 
Page::State state () const
 
void setState (Page::State state)
 
bool nextState ()
 

Static Public Member Functions

static std::string stateToString (Page::State state)
 

Public Attributes

std::vector< uint32_t > selection
 
size_t selectionSize
 
Point Data
double * position
 
double * intensity
 
uint8_t * returnNumber
 
uint8_t * numberOfReturns
 
uint8_t * classification
 
uint8_t * userData
 
double * gpsTime
 
double * color
 
Point Data Extra Bytes
size_t * layer
 
double * elevation
 
double * customColor
 
double * descriptor
 
size_t * value
 
Rendering
float * renderPosition
 
std::vector< float > renderColor
 

Private Member Functions

void resize (size_t n)
 
void transform ()
 
void queryWhere ()
 
void queryWhereBox ()
 
void queryWhereCone ()
 
void queryWhereCylinder ()
 
void queryWhereSphere ()
 
void queryWhereElevation ()
 
void queryWhereDescriptor ()
 
void queryWhereClassification ()
 
void queryWhereLayer ()
 
void runModifiers ()
 
void runColorModifier ()
 
void setColor (size_t idx, size_t colorValue, size_t colorMax, const std::vector< Vector3< double > > &pal)
 

Private Attributes

Editoreditor_
 
Queryquery_
 
uint32_t datasetId_
 
uint32_t pageId_
 
Page::State state_
 
std::shared_ptr< PageDatapageData_
 
std::vector< IndexFile::SelectionselectedNodes_
 

Member Enumeration Documentation

◆ State

Page State.

Enumerator
STATE_READ 
STATE_TRANSFORM 
STATE_SELECT 
STATE_RUN_MODIFIERS 
STATE_RENDER 
STATE_RENDERED 

Constructor & Destructor Documentation

◆ Page()

Page::Page ( Editor editor,
Query query,
uint32_t  datasetId,
uint32_t  pageId 
)

◆ ~Page()

Page::~Page ( )

Member Function Documentation

◆ datasetId()

uint32_t Page::datasetId ( ) const
inline

Referenced by Query::applyCamera().

◆ isModified()

bool Page::isModified ( ) const

◆ nextState()

bool Page::nextState ( )

◆ pageId()

uint32_t Page::pageId ( ) const
inline

◆ queryWhere()

void Page::queryWhere ( )
private

Referenced by nextState(), and readPage().

◆ queryWhereBox()

void Page::queryWhereBox ( )
private

Referenced by queryWhere().

◆ queryWhereClassification()

void Page::queryWhereClassification ( )
private

Referenced by queryWhere().

◆ queryWhereCone()

void Page::queryWhereCone ( )
private

Referenced by queryWhere().

◆ queryWhereCylinder()

void Page::queryWhereCylinder ( )
private

Referenced by queryWhere().

◆ queryWhereDescriptor()

void Page::queryWhereDescriptor ( )
private

Referenced by queryWhere().

◆ queryWhereElevation()

void Page::queryWhereElevation ( )
private

Referenced by queryWhere().

◆ queryWhereLayer()

void Page::queryWhereLayer ( )
private

Referenced by queryWhere().

◆ queryWhereSphere()

void Page::queryWhereSphere ( )
private

Referenced by queryWhere().

◆ readPage()

void Page::readPage ( )

Referenced by nextState().

◆ resize()

void Page::resize ( size_t  n)
private

Referenced by readPage().

◆ runColorModifier()

void Page::runColorModifier ( )
private

Referenced by runModifiers().

◆ runModifiers()

void Page::runModifiers ( )
private

Referenced by nextState(), and readPage().

◆ setColor()

void Page::setColor ( size_t  idx,
size_t  colorValue,
size_t  colorMax,
const std::vector< Vector3< double > > &  pal 
)
private

Referenced by runColorModifier().

◆ setModified()

void Page::setModified ( )

◆ setState()

void Page::setState ( Page::State  state)

◆ size()

size_t Page::size ( ) const

◆ state()

Page::State Page::state ( ) const
inline

◆ stateToString()

std::string Page::stateToString ( Page::State  state)
static

Referenced by nextState().

◆ transform()

void Page::transform ( )
private

Referenced by nextState(), and readPage().

◆ writePage()

void Page::writePage ( )

Member Data Documentation

◆ classification

uint8_t* Page::classification

◆ color

double* Page::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 resize(), and runColorModifier().

◆ customColor

double* Page::customColor

Red, Green, and Blue custom colors.

The data are stored as [r0, g0, b0, r1, g1, ...]. Color values are in range from 0 (zero intensity) to 1 (full intensity). This value is stored in Point Data Record extra bytes.

Referenced by resize(), and runColorModifier().

◆ datasetId_

◆ descriptor

double* Page::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 queryWhereDescriptor(), resize(), and runColorModifier().

◆ editor_

◆ elevation

double* Page::elevation

Point elevation above ground.

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

Referenced by HeightMapModifier::applyModifier(), queryWhereElevation(), resize(), and runColorModifier().

◆ gpsTime

double* Page::gpsTime

GPS time.

Referenced by resize().

◆ intensity

double* Page::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 resize(), and runColorModifier().

◆ layer

size_t* Page::layer

Layer identification numbers.

This value is stored in Point Data Record extra bytes.

Referenced by queryWhereLayer(), resize(), and runColorModifier().

◆ numberOfReturns

uint8_t* Page::numberOfReturns

Number of returns.

Contains values from 0 to 15.

Referenced by resize(), and runColorModifier().

◆ pageData_

◆ pageId_

◆ position

double* Page::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 HeightMapModifier::applyModifier(), queryWhereBox(), queryWhereCone(), queryWhereCylinder(), queryWhereSphere(), and resize().

◆ query_

◆ renderColor

std::vector<float> Page::renderColor

Rendering Point Colors.

The data are stored as [r0, g0, b0, r1, g1, ...].

Referenced by HeightMapModifier::applyModifier(), ViewerOpenGLViewport::renderScene(), resize(), runColorModifier(), and setColor().

◆ renderPosition

float* Page::renderPosition

Rendering Point Coordinates.

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

Referenced by ViewerOpenGLViewport::renderScene(), and resize().

◆ returnNumber

uint8_t* Page::returnNumber

Return number.

Contains values from 0 to 15.

Referenced by resize(), and runColorModifier().

◆ selectedNodes_

std::vector<IndexFile::Selection> Page::selectedNodes_
private

◆ selection

◆ selectionSize

◆ state_

Page::State Page::state_
private

◆ userData

uint8_t* Page::userData

User data.

Referenced by resize().

◆ value

size_t* Page::value

User values.

This value is stored in Point Data Record extra bytes.

Referenced by resize().


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