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 modified () 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
 
LAS Point Data.
double * position
 
double * intensity
 
uint8_t * returnNumber
 
uint8_t * numberOfReturns
 
uint8_t * classification
 
uint8_t * userData
 
double * gpsTime
 
double * color
 
3D Forest Attributes.
size_t * segment
 
double * elevation
 
double * descriptor
 
size_t * voxel
 
Rendering Data.
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 queryWhereIntensity ()
 
void queryWhereClassification ()
 
void queryWhereSegment ()
 
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().

◆ modified()

bool Page::modified ( ) 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().

◆ queryWhereIntensity()

void Page::queryWhereIntensity ( )
private

Referenced by queryWhere().

◆ queryWhereSegment()

void Page::queryWhereSegment ( )
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().

◆ 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 ComputeHeightMapModifier::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 queryWhereIntensity(), 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 ComputeHeightMapModifier::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 ComputeHeightMapModifier::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().

◆ segment

size_t* Page::segment

Segment identification numbers.

This value is stored in Point Data Record extra bytes.

Referenced by queryWhereSegment(), 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().

◆ voxel

size_t* Page::voxel

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