distance_field::PFDistanceField Class Reference

A DistanceField implementation that uses a raster scanning type method by Felzenszwalb et. al. More...

#include <pf_distance_field.h>

Inheritance diagram for distance_field::PFDistanceField:
Inheritance graph
[legend]

List of all members.

Public Types

typedef std::vector< float > FloatArray
typedef std::vector< int > IntArray

Public Member Functions

virtual void addPointsToField (const std::vector< btVector3 > points)
 Add (and expand) a set of points to the distance field.
 PFDistanceField (double size_x, double size_y, double size_z, double resolution, double origin_x, double origin_y, double origin_z)
virtual void reset ()
 Resets the distance field to the max_distance.
virtual ~PFDistanceField ()

Public Attributes

const float DT_INF

Private Member Functions

void computeDT ()
void dt (const FloatArray &f, size_t nn, FloatArray &ft, IntArray &v, FloatArray &z)
virtual double getDistance (const float &object) const
float sqr (float x)

Detailed Description

A DistanceField implementation that uses a raster scanning type method by Felzenszwalb et. al.

Implementation of "Distance Transforms of Sampled Functions", Pedro F. Felzenszwalb and Daniel P. Huttenlocher, Cornell Computing and Information Science TR2004-1963

Definition at line 49 of file pf_distance_field.h.


Member Typedef Documentation

typedef std::vector<float> distance_field::PFDistanceField::FloatArray

Definition at line 49 of file pf_distance_field.h.

Definition at line 50 of file pf_distance_field.h.


Constructor & Destructor Documentation

distance_field::PFDistanceField::PFDistanceField ( double  size_x,
double  size_y,
double  size_z,
double  resolution,
double  origin_x,
double  origin_y,
double  origin_z 
)

Definition at line 40 of file pf_distance_field.cpp.

distance_field::PFDistanceField::~PFDistanceField (  )  [virtual]

Definition at line 48 of file pf_distance_field.cpp.


Member Function Documentation

void distance_field::PFDistanceField::addPointsToField ( const std::vector< btVector3 >  points  )  [virtual]

Add (and expand) a set of points to the distance field.

This function will incrementally add the given points and update the distance field correspondingly. Use the reset() function if you need to remove all points and start afresh.

Implements distance_field::DistanceField< float >.

Definition at line 52 of file pf_distance_field.cpp.

void distance_field::PFDistanceField::computeDT (  )  [private]

Definition at line 66 of file pf_distance_field.cpp.

void distance_field::PFDistanceField::dt ( const FloatArray f,
size_t  nn,
FloatArray ft,
IntArray v,
FloatArray z 
) [private]

Definition at line 119 of file pf_distance_field.cpp.

double distance_field::PFDistanceField::getDistance ( const float &  object  )  const [inline, private, virtual]

Implements distance_field::DistanceField< float >.

Definition at line 76 of file pf_distance_field.h.

void distance_field::PFDistanceField::reset (  )  [virtual]

Resets the distance field to the max_distance.

Implements distance_field::DistanceField< float >.

Definition at line 160 of file pf_distance_field.cpp.

float distance_field::PFDistanceField::sqr ( float  x  )  [inline, private]

Definition at line 58 of file pf_distance_field.h.


Member Data Documentation

Definition at line 55 of file pf_distance_field.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator


distance_field
Author(s): Mrinal Kalakrishnan / mail@mrinal.net
autogenerated on Fri Jan 11 09:54:13 2013