$search

distance_field::PropagationDistanceField Class Reference

A DistanceField implementation that uses a vector propagation method. More...

#include <propagation_distance_field.h>

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

List of all members.

Public Member Functions

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

Private Member Functions

int getDirectionNumber (int dx, int dy, int dz) const
virtual double getDistance (const PropDistanceFieldVoxel &object) const
void initNeighborhoods ()

Static Private Member Functions

static int eucDistSq (int *point1, int *point2)

Private Attributes

std::vector< std::vector
< PropDistanceFieldVoxel * > > 
bucket_queue_
std::vector< std::vector< int > > direction_number_to_direction_
double max_distance_
int max_distance_sq_
std::vector< std::vector
< std::vector< std::vector
< int > > > > 
neighborhoods_
std::vector< double > sqrt_table_

Detailed Description

A DistanceField implementation that uses a vector propagation method.

It computes the distance transform of the input points, and stores the distance to the closest obstacle in each voxel. Also available is the location of the closest point, and the gradient of the field at a point. Expansion of obstacles is performed upto a given radius.

Definition at line 86 of file propagation_distance_field.h.


Constructor & Destructor Documentation

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

Constructor for the DistanceField.

Definition at line 47 of file propagation_distance_field.cpp.

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

Definition at line 43 of file propagation_distance_field.cpp.


Member Function Documentation

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

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

Implements distance_field::DistanceField< PropDistanceFieldVoxel >.

Definition at line 70 of file propagation_distance_field.cpp.

int distance_field::PropagationDistanceField::eucDistSq ( int *  point1,
int *  point2 
) [static, private]

Definition at line 62 of file propagation_distance_field.cpp.

int distance_field::PropagationDistanceField::getDirectionNumber ( int  dx,
int  dy,
int  dz 
) const [private]

Definition at line 237 of file propagation_distance_field.cpp.

double distance_field::PropagationDistanceField::getDistance ( const PropDistanceFieldVoxel object  )  const [inline, private, virtual]
void distance_field::PropagationDistanceField::initNeighborhoods (  )  [private]

Definition at line 173 of file propagation_distance_field.cpp.

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

Resets the distance field to the max_distance.

Implements distance_field::DistanceField< PropDistanceFieldVoxel >.

Definition at line 168 of file propagation_distance_field.cpp.


Member Data Documentation

Definition at line 110 of file propagation_distance_field.h.

Definition at line 123 of file propagation_distance_field.h.

Definition at line 111 of file propagation_distance_field.h.

Definition at line 112 of file propagation_distance_field.h.

std::vector<std::vector<std::vector<std::vector<int> > > > distance_field::PropagationDistanceField::neighborhoods_ [private]

Definition at line 121 of file propagation_distance_field.h.

Definition at line 114 of file propagation_distance_field.h.


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


distance_field
Author(s): Mrinal Kalakrishnan / mail@mrinal.net
autogenerated on Fri Mar 1 14:42:24 2013