Helios++
Helios software for LiDAR simulations
FastSAHKDTreeRecountSubTask Class Reference
Inheritance diagram for FastSAHKDTreeRecountSubTask:
Collaboration diagram for FastSAHKDTreeRecountSubTask:

Public Member Functions

 FastSAHKDTreeRecountSubTask (std::shared_ptr< SharedTaskSequencer > ch, int const splitAxis, double const minp, double const deltap, vector< Primitive * >::iterator beginPrimitive, vector< Primitive * >::iterator endPrimitive, size_t const lossNodes, size_t const lossCases, vector< size_t > &cForward, vector< size_t > &cBackward)
 Main constructor for Fast-SAH KDTree forward and backward recounts.
 
void run () override
 Implementation of the method to do forward and backward recount. More...
 
- Public Member Functions inherited from SharedSubTask
 SharedSubTask (std::shared_ptr< SharedSubTaskCompletionHandler > ch)
 Default constructor for shared sub-task. More...
 
virtual void operator() ()
 The functor that will be called by any thread. It calls the SharedSubTask::run method to solve/compute the sub-task. Also, once the task has been computed, it delegates upon the task completion handler. More...
 
virtual void postProcess ()
 Post-processing to be applied after shared sub-task has finished. By default it is a void function which does nothing, but it can be overridden.
 
virtual size_t getKey ()
 Obtain the key of the shared sub-task inside the shared task sequencer context. More...
 
virtual void setKey (size_t const key)
 Set the key of the shared sub-task inside the shared task sequencer context. More...
 
virtual std::shared_ptr< boost::thread > getThread ()
 Get the thread associated to the shared sub-task. More...
 
virtual void setThread (std::shared_ptr< boost::thread > thread)
 Set the thread associated to the shared sub-task. More...
 

Protected Attributes

int const splitAxis
 The node split axis.
 
double const minp
 Minimum coordinate of node boundary at corresponding split axis.
 
double const deltap
 Difference between maximum and minimum coordinates of node boundaries at corresponding split axis.
 
vector< Primitive * >::iterator beginPrimitive
 First primitive to be considered by the recount (inclusive)
 
vector< Primitive * >::iterator endPrimitive
 Last primitive to be considered by the recount (exclusive)
 
size_t const lossNodes
 How many bins use to cound.
 
size_t const lossCases
 How many forward and backward count cases (it is, bins + 1)
 
vector< size_t > & cForward
 Where forward count components must be stored.
 
vector< size_t > & cBackward
 Where backward count components must be stored.
 
- Protected Attributes inherited from SharedSubTask
std::shared_ptr< SharedSubTaskCompletionHandlerch
 The shared sub-task completion handler that handles what must be done after a shared sub-task execution has been finished. The most paradigmatic case of a valid task completion handler is the shared task sequencer. More...
 
size_t key = 0
 The key identifying the shared sub task inside the shared task sequencer context. More...
 
std::shared_ptr< boost::thread > thread = nullptr
 The thread associated with the shared sub-tasks. It is nullptr until the shared sub-task has been started by its corresponding shared task sequencer.
 

Member Function Documentation

◆ run()

void FastSAHKDTreeRecountSubTask::run ( )
inlineoverridevirtual

Implementation of the method to do forward and backward recount.

See also
SharedSubTask::run
FastSAHKDTreeFactory::findSplitPositionBySAH

Implements SharedSubTask.


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