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

#include <ComputeSegmentationNNAction.hpp>

Inherits ProgressActionInterface.

Classes

class  Group
 

Public Member Functions

 ComputeSegmentationNNAction (Editor *editor)
 
virtual ~ComputeSegmentationNNAction ()
 
void start (const ComputeSegmentationNNParameters &parameters)
 
virtual void next ()
 
void clear ()
 
- Public Member Functions inherited from ProgressActionInterface
 ProgressActionInterface ()
 
virtual ~ProgressActionInterface ()=default
 
bool end () const
 
size_t progressMaximumSteps () const
 
size_t progressValueSteps () const
 
uint64_t progressMaximumStep () const
 
uint64_t progressValueStep () const
 
double progressPercent () const
 

Private Member Functions

void stepResetPoints ()
 
void stepCountPoints ()
 
void stepPointsToVoxels ()
 
void stepCreateVoxelIndex ()
 
void stepCreateTrunks ()
 
void stepCreateBranches ()
 
void stepCreateSegments ()
 
void stepVoxelsToPoints ()
 
void createVoxel ()
 
void findNearestNeighbor (Point &a)
 
bool trunkVoxel (const Point &a)
 
void startGroup (const Point &a, bool trunk=false)
 
void continueGroup (const Point &a, bool trunk=false)
 
void mergeToGroup (Group &dst, const Group &src)
 
void createSegmentFromGroup (size_t segmentId, Segment &segment, const Group &group)
 

Private Attributes

Editoreditor_
 
Query query_
 
Query queryPoint_
 
ComputeSegmentationNNParameters parameters_
 
uint64_t nPointsTotal_
 
uint64_t nPointsInFilter_
 
Points voxels_
 
std::vector< size_t > path_
 
std::vector< size_t > groupPath_
 
std::vector< size_t > search_
 
size_t pointIndex_
 
size_t groupId_
 
double groupMinimum_
 
double groupMaximum_
 
Group group_
 
Group groupUnsegmented_
 
std::map< size_t, Groupgroups_
 

Additional Inherited Members

- Protected Attributes inherited from ProgressActionInterface
ProgressCounter progress_
 

Constructor & Destructor Documentation

◆ ComputeSegmentationNNAction()

ComputeSegmentationNNAction::ComputeSegmentationNNAction ( Editor * editor)

◆ ~ComputeSegmentationNNAction()

ComputeSegmentationNNAction::~ComputeSegmentationNNAction ( )
virtual

Member Function Documentation

◆ clear()

void ComputeSegmentationNNAction::clear ( )

◆ continueGroup()

void ComputeSegmentationNNAction::continueGroup ( const Point & a,
bool trunk = false )
private

◆ createSegmentFromGroup()

void ComputeSegmentationNNAction::createSegmentFromGroup ( size_t segmentId,
Segment & segment,
const Group & group )
private

Referenced by stepCreateSegments().

◆ createVoxel()

void ComputeSegmentationNNAction::createVoxel ( )
private

Referenced by stepPointsToVoxels().

◆ findNearestNeighbor()

void ComputeSegmentationNNAction::findNearestNeighbor ( Point & a)
private

Referenced by stepCreateBranches().

◆ mergeToGroup()

void ComputeSegmentationNNAction::mergeToGroup ( Group & dst,
const Group & src )
private

Referenced by stepCreateBranches().

◆ next()

void ComputeSegmentationNNAction::next ( )
virtual

◆ start()

void ComputeSegmentationNNAction::start ( const ComputeSegmentationNNParameters & parameters)

◆ startGroup()

void ComputeSegmentationNNAction::startGroup ( const Point & a,
bool trunk = false )
private

◆ stepCountPoints()

void ComputeSegmentationNNAction::stepCountPoints ( )
private

Referenced by next().

◆ stepCreateBranches()

void ComputeSegmentationNNAction::stepCreateBranches ( )
private

Referenced by next().

◆ stepCreateSegments()

void ComputeSegmentationNNAction::stepCreateSegments ( )
private

Referenced by next().

◆ stepCreateTrunks()

void ComputeSegmentationNNAction::stepCreateTrunks ( )
private

Referenced by next().

◆ stepCreateVoxelIndex()

void ComputeSegmentationNNAction::stepCreateVoxelIndex ( )
private

Referenced by next().

◆ stepPointsToVoxels()

void ComputeSegmentationNNAction::stepPointsToVoxels ( )
private

Referenced by next().

◆ stepResetPoints()

void ComputeSegmentationNNAction::stepResetPoints ( )
private

Referenced by next().

◆ stepVoxelsToPoints()

void ComputeSegmentationNNAction::stepVoxelsToPoints ( )
private

Referenced by next().

◆ trunkVoxel()

bool ComputeSegmentationNNAction::trunkVoxel ( const Point & a)
private

Referenced by stepCreateTrunks().

Member Data Documentation

◆ editor_

Editor* ComputeSegmentationNNAction::editor_
private

◆ group_

Group ComputeSegmentationNNAction::group_
private

◆ groupId_

size_t ComputeSegmentationNNAction::groupId_
private

◆ groupMaximum_

double ComputeSegmentationNNAction::groupMaximum_
private

◆ groupMinimum_

double ComputeSegmentationNNAction::groupMinimum_
private

◆ groupPath_

std::vector<size_t> ComputeSegmentationNNAction::groupPath_
private

Referenced by stepCreateTrunks().

◆ groups_

std::map<size_t, Group> ComputeSegmentationNNAction::groups_
private

◆ groupUnsegmented_

Group ComputeSegmentationNNAction::groupUnsegmented_
private

◆ nPointsInFilter_

uint64_t ComputeSegmentationNNAction::nPointsInFilter_
private

◆ nPointsTotal_

uint64_t ComputeSegmentationNNAction::nPointsTotal_
private

Referenced by clear(), start(), and stepResetPoints().

◆ parameters_

◆ path_

std::vector<size_t> ComputeSegmentationNNAction::path_
private

◆ pointIndex_

size_t ComputeSegmentationNNAction::pointIndex_
private

◆ query_

Query ComputeSegmentationNNAction::query_
private

◆ queryPoint_

Query ComputeSegmentationNNAction::queryPoint_
private

Referenced by clear(), and createVoxel().

◆ search_

std::vector<size_t> ComputeSegmentationNNAction::search_
private

◆ voxels_


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