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

#include <IndexFileBuilder.hpp>

Public Member Functions

 IndexFileBuilder ()
 
 ~IndexFileBuilder ()
 
void start (const std::string &outputPath, const std::string &inputPath, const SettingsImport &settings)
 
void next ()
 
bool end () const
 
double percent () const
 

Static Public Member Functions

static std::string extension (const std::string &path)
 
static void index (const std::string &outputPath, const std::string &inputPath, const SettingsImport &settings)
 

Protected Types

enum  State {
  STATE_NONE , STATE_BEGIN , STATE_CREATE_ATTRIBUTES , STATE_COPY_VLR ,
  STATE_COPY_POINTS , STATE_COPY_EVLR , STATE_MOVE , STATE_COPY ,
  STATE_COPY_ATTRIBUTES , STATE_MAIN_BEGIN , STATE_MAIN_INSERT , STATE_MAIN_END ,
  STATE_MAIN_SORT , STATE_NODE_INSERT , STATE_NODE_END , STATE_END
}
 

Protected Member Functions

void openFiles ()
 
void nextState ()
 
void stateCreateAttributes ()
 
void stateCopy ()
 
void stateCopyPoints ()
 
void stateCopyAttributes ()
 
void stateMove ()
 
void stateMainBegin ()
 
void stateMainInsert ()
 
void stateMainEnd ()
 
void stateMainSort ()
 
void stateNodeInsert ()
 
void stateNodeEnd ()
 
void stateEnd ()
 
void formatPoint (uint8_t *pout, const uint8_t *pin) const
 

Protected Attributes

SettingsImport settings_
 
State state_
 
uint64_t value_
 
uint64_t maximum_
 
uint64_t valueIndex_
 
uint64_t maximumIndex_
 
uint64_t valueTotal_
 
uint64_t maximumTotal_
 
LasFile inputLas_
 
LasFile outputLas_
 
std::string inputPath_
 
std::string outputPath_
 
std::string readPath_
 
std::string writePath_
 
std::vector< uint8_t > buffer_
 
std::vector< uint8_t > bufferOut_
 
Box< double > boundary_
 
uint32_t rgbMax_
 
uint32_t intensityMax_
 
uint64_t offsetHeaderEnd_
 
uint64_t offsetHeaderEndOut_
 
uint64_t offsetPointsStart_
 
uint64_t offsetPointsStartOut_
 
uint64_t offsetPointsEnd_
 
uint64_t offsetPointsEndOut_
 
uint64_t nPoints_
 
uint64_t sizePoints_
 
uint64_t sizePointsOut_
 
uint64_t sizeFile_
 
uint64_t sizeFileOut_
 
size_t sizePoint_
 
size_t sizePointOut_
 
uint64_t copyPointsRestartIndex_
 
uint64_t copyPointsCurrentIndex_
 
uint64_t copyPointsSkipCount_
 
uint64_t sizeOfAttributesPerPoint_
 
uint64_t sizeOfAttributes_
 
LasFile::AttributesBuffer attributes_
 
LasFile::AttributesBuffer attributesOut_
 
IndexFile indexMain_
 
IndexFile indexNode_
 
ChunkFile indexFile_
 
std::map< const IndexFile::Node *, uint64_t > indexMainUsed_
 
std::vector< double > coords_
 

Member Enumeration Documentation

◆ State

enum IndexFileBuilder::State
protected

Index File Builder State.

Enumerator
STATE_NONE 
STATE_BEGIN 
STATE_CREATE_ATTRIBUTES 
STATE_COPY_VLR 
STATE_COPY_POINTS 
STATE_COPY_EVLR 
STATE_MOVE 
STATE_COPY 
STATE_COPY_ATTRIBUTES 
STATE_MAIN_BEGIN 
STATE_MAIN_INSERT 
STATE_MAIN_END 
STATE_MAIN_SORT 
STATE_NODE_INSERT 
STATE_NODE_END 
STATE_END 

Constructor & Destructor Documentation

◆ IndexFileBuilder()

IndexFileBuilder::IndexFileBuilder ( )

◆ ~IndexFileBuilder()

IndexFileBuilder::~IndexFileBuilder ( )

Member Function Documentation

◆ end()

bool IndexFileBuilder::end ( ) const
inline

Referenced by index(), and start().

◆ extension()

std::string IndexFileBuilder::extension ( const std::string & path)
static

◆ formatPoint()

void IndexFileBuilder::formatPoint ( uint8_t * pout,
const uint8_t * pin ) const
protected

Referenced by stateCopyPoints().

◆ index()

void IndexFileBuilder::index ( const std::string & outputPath,
const std::string & inputPath,
const SettingsImport & settings )
static

◆ next()

void IndexFileBuilder::next ( )

Referenced by index().

◆ nextState()

void IndexFileBuilder::nextState ( )
protected

Referenced by next(), and start().

◆ openFiles()

void IndexFileBuilder::openFiles ( )
protected

Referenced by start(), and stateMove().

◆ percent()

double IndexFileBuilder::percent ( ) const

Referenced by index().

◆ start()

void IndexFileBuilder::start ( const std::string & outputPath,
const std::string & inputPath,
const SettingsImport & settings )

Referenced by index().

◆ stateCopy()

void IndexFileBuilder::stateCopy ( )
protected

Referenced by next().

◆ stateCopyAttributes()

void IndexFileBuilder::stateCopyAttributes ( )
protected

Referenced by next().

◆ stateCopyPoints()

void IndexFileBuilder::stateCopyPoints ( )
protected

Referenced by next().

◆ stateCreateAttributes()

void IndexFileBuilder::stateCreateAttributes ( )
protected

Referenced by next().

◆ stateEnd()

void IndexFileBuilder::stateEnd ( )
protected

Referenced by next().

◆ stateMainBegin()

void IndexFileBuilder::stateMainBegin ( )
protected

Referenced by next().

◆ stateMainEnd()

void IndexFileBuilder::stateMainEnd ( )
protected

Referenced by next().

◆ stateMainInsert()

void IndexFileBuilder::stateMainInsert ( )
protected

Referenced by next().

◆ stateMainSort()

void IndexFileBuilder::stateMainSort ( )
protected

Referenced by next().

◆ stateMove()

void IndexFileBuilder::stateMove ( )
protected

Referenced by next().

◆ stateNodeEnd()

void IndexFileBuilder::stateNodeEnd ( )
protected

Referenced by next().

◆ stateNodeInsert()

void IndexFileBuilder::stateNodeInsert ( )
protected

Referenced by next().

Member Data Documentation

◆ attributes_

◆ attributesOut_

LasFile::AttributesBuffer IndexFileBuilder::attributesOut_
protected

Referenced by stateCopyPoints(), and stateNodeInsert().

◆ boundary_

Box<double> IndexFileBuilder::boundary_
protected

◆ buffer_

std::vector<uint8_t> IndexFileBuilder::buffer_
protected

◆ bufferOut_

std::vector<uint8_t> IndexFileBuilder::bufferOut_
protected

Referenced by start(), and stateCopyPoints().

◆ coords_

std::vector<double> IndexFileBuilder::coords_
protected

Referenced by stateCopyPoints(), and stateNodeInsert().

◆ copyPointsCurrentIndex_

uint64_t IndexFileBuilder::copyPointsCurrentIndex_
protected

Referenced by nextState(), and stateCopyPoints().

◆ copyPointsRestartIndex_

uint64_t IndexFileBuilder::copyPointsRestartIndex_
protected

Referenced by nextState(), and stateCopyPoints().

◆ copyPointsSkipCount_

uint64_t IndexFileBuilder::copyPointsSkipCount_
protected

Referenced by nextState(), and stateCopyPoints().

◆ indexFile_

ChunkFile IndexFileBuilder::indexFile_
protected

◆ indexMain_

◆ indexMainUsed_

std::map<const IndexFile::Node *, uint64_t> IndexFileBuilder::indexMainUsed_
protected

Referenced by start(), and stateMainSort().

◆ indexNode_

IndexFile IndexFileBuilder::indexNode_
protected

Referenced by start(), and stateNodeInsert().

◆ inputLas_

◆ inputPath_

std::string IndexFileBuilder::inputPath_
protected

Referenced by start(), and stateEnd().

◆ intensityMax_

uint32_t IndexFileBuilder::intensityMax_
protected

◆ maximum_

uint64_t IndexFileBuilder::maximum_
protected

Referenced by next(), nextState(), start(), and stateCopy().

◆ maximumIndex_

uint64_t IndexFileBuilder::maximumIndex_
protected

◆ maximumTotal_

uint64_t IndexFileBuilder::maximumTotal_
protected

Referenced by percent(), and start().

◆ nPoints_

uint64_t IndexFileBuilder::nPoints_
protected

Referenced by openFiles().

◆ offsetHeaderEnd_

uint64_t IndexFileBuilder::offsetHeaderEnd_
protected

Referenced by nextState(), and openFiles().

◆ offsetHeaderEndOut_

uint64_t IndexFileBuilder::offsetHeaderEndOut_
protected

Referenced by nextState(), and openFiles().

◆ offsetPointsEnd_

uint64_t IndexFileBuilder::offsetPointsEnd_
protected

Referenced by nextState(), and openFiles().

◆ offsetPointsEndOut_

uint64_t IndexFileBuilder::offsetPointsEndOut_
protected

Referenced by openFiles().

◆ offsetPointsStart_

uint64_t IndexFileBuilder::offsetPointsStart_
protected

Referenced by nextState(), and openFiles().

◆ offsetPointsStartOut_

uint64_t IndexFileBuilder::offsetPointsStartOut_
protected

Referenced by openFiles().

◆ outputLas_

◆ outputPath_

std::string IndexFileBuilder::outputPath_
protected

◆ readPath_

std::string IndexFileBuilder::readPath_
protected

◆ rgbMax_

uint32_t IndexFileBuilder::rgbMax_
protected

◆ settings_

◆ sizeFile_

uint64_t IndexFileBuilder::sizeFile_
protected

Referenced by nextState(), and openFiles().

◆ sizeFileOut_

uint64_t IndexFileBuilder::sizeFileOut_
protected

Referenced by nextState(), and openFiles().

◆ sizeOfAttributes_

uint64_t IndexFileBuilder::sizeOfAttributes_
protected

Referenced by nextState(), and openFiles().

◆ sizeOfAttributesPerPoint_

uint64_t IndexFileBuilder::sizeOfAttributesPerPoint_
protected

◆ sizePoint_

size_t IndexFileBuilder::sizePoint_
protected

◆ sizePointOut_

size_t IndexFileBuilder::sizePointOut_
protected

Referenced by openFiles(), and stateCopyPoints().

◆ sizePoints_

uint64_t IndexFileBuilder::sizePoints_
protected

Referenced by nextState(), and openFiles().

◆ sizePointsOut_

uint64_t IndexFileBuilder::sizePointsOut_
protected

Referenced by nextState(), and openFiles().

◆ state_

State IndexFileBuilder::state_
protected

Referenced by next(), nextState(), and start().

◆ value_

◆ valueIndex_

◆ valueTotal_

◆ writePath_

std::string IndexFileBuilder::writePath_
protected

Referenced by openFiles(), start(), stateEnd(), and stateMove().


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