MeVisLab Toolbox Reference
ml::MinimalDistancePointClouds Class Reference

The MinimalDistancePointClouds implements a fast nearest pair search algorithm described by Sean Quinlan in 'Efficient Distance Computation between Non-Convex Objects'. More...

#include <MinimalDistancePointClouds.h>

Public Member Functions

 MinimalDistancePointClouds ()
 Constructor.
 
virtual ~MinimalDistancePointClouds ()
 Destructor.
 
void setPointSets (const std::vector< ml::Vector3 > &pointCloud1, const std::vector< ml::Vector3 > &pointCloud2)
 This method passes the two point clouds in the form of two standard vectors.
 
void setFirstPointSet (const std::vector< ml::Vector3 > &pointCloud)
 Sets only the first point set anew.
 
void setFirstSinglePoint (const ml::Vector3 &point)
 Sets only the first point set anew, which consists only of a single point.
 
void setNumEntries (int entries)
 This parameter describes how many points can be put as maximum into one sub sphere, but the designed value can be lower.
 
void setParams (int entries, int partition)
 Sets fix values for both objects for _entries and _partition.
 
void setError (float error)
 Describes the maintainable error. 0 = 0% and 1 = 100%. The default value is 0.
 
void computeDistance (float *&point1, float *&point2)
 Returns a copy of the both points with the minimal distance.
 
void computeDistance (ml::Vector3 &point1, ml::Vector3 &point2)
 Returns two points with minimal distance as Vector3.
 
int getUniqueIndex ()
 Returns a unique index for each tile sphere.
 
TileSphereHashTablegetHashTable ()
 Returns a pointer to the hash table.
 
void verbose (bool onOff)
 Dumps the console with additional debugging info.
 

Detailed Description

The MinimalDistancePointClouds implements a fast nearest pair search algorithm described by Sean Quinlan in 'Efficient Distance Computation between Non-Convex Objects'.

Definition at line 33 of file MinimalDistancePointClouds.h.

Constructor & Destructor Documentation

◆ MinimalDistancePointClouds()

ml::MinimalDistancePointClouds::MinimalDistancePointClouds ( )

Constructor.

◆ ~MinimalDistancePointClouds()

virtual ml::MinimalDistancePointClouds::~MinimalDistancePointClouds ( )
virtual

Destructor.

Member Function Documentation

◆ computeDistance() [1/2]

void ml::MinimalDistancePointClouds::computeDistance ( float *& point1,
float *& point2 )

Returns a copy of the both points with the minimal distance.

The method setPointSets must have been called before.

◆ computeDistance() [2/2]

void ml::MinimalDistancePointClouds::computeDistance ( ml::Vector3 & point1,
ml::Vector3 & point2 )

Returns two points with minimal distance as Vector3.

The method setPointSets must have been called before.

◆ getHashTable()

TileSphereHashTable * ml::MinimalDistancePointClouds::getHashTable ( )

Returns a pointer to the hash table.

◆ getUniqueIndex()

int ml::MinimalDistancePointClouds::getUniqueIndex ( )

Returns a unique index for each tile sphere.

◆ setError()

void ml::MinimalDistancePointClouds::setError ( float error)

Describes the maintainable error. 0 = 0% and 1 = 100%. The default value is 0.

◆ setFirstPointSet()

void ml::MinimalDistancePointClouds::setFirstPointSet ( const std::vector< ml::Vector3 > & pointCloud)

Sets only the first point set anew.

The second one (with all its TileSphere tree computations) is left as it was.

◆ setFirstSinglePoint()

void ml::MinimalDistancePointClouds::setFirstSinglePoint ( const ml::Vector3 & point)

Sets only the first point set anew, which consists only of a single point.

The second pointSet is left as it was.

◆ setNumEntries()

void ml::MinimalDistancePointClouds::setNumEntries ( int entries)

This parameter describes how many points can be put as maximum into one sub sphere, but the designed value can be lower.

The default value is 2000. The concrete value for _entries and _partition will be computed automatically.

◆ setParams()

void ml::MinimalDistancePointClouds::setParams ( int entries,
int partition )

Sets fix values for both objects for _entries and _partition.

◆ setPointSets()

void ml::MinimalDistancePointClouds::setPointSets ( const std::vector< ml::Vector3 > & pointCloud1,
const std::vector< ml::Vector3 > & pointCloud2 )

This method passes the two point clouds in the form of two standard vectors.

◆ verbose()

void ml::MinimalDistancePointClouds::verbose ( bool onOff)

Dumps the console with additional debugging info.


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