Public Member Functions | Private Member Functions | Static Private Member Functions | Private Attributes
distance_field::SignedPropagationDistanceField Class Reference

#include <propagation_distance_field.h>

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

List of all members.

Public Member Functions

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

Private Member Functions

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

Static Private Member Functions

static int eucDistSq (int3 point1, int3 point2)

Private Attributes

std::vector< int3direction_number_to_direction_
double max_distance_
int max_distance_sq_
std::vector< std::vector
< SignedPropDistanceFieldVoxel * > > 
negative_bucket_queue_
std::vector< std::vector
< std::vector< int3 > > > 
neighborhoods_
std::vector< std::vector
< SignedPropDistanceFieldVoxel * > > 
positive_bucket_queue_
std::vector< double > sqrt_table_

Detailed Description

Definition at line 200 of file propagation_distance_field.h.


Constructor & Destructor Documentation

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

Definition at line 448 of file propagation_distance_field.cpp.

Definition at line 444 of file propagation_distance_field.cpp.


Member Function Documentation

void distance_field::SignedPropagationDistanceField::addPointsToField ( const std::vector< tf::Vector3 > &  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< SignedPropDistanceFieldVoxel >.

Definition at line 471 of file propagation_distance_field.cpp.

int distance_field::SignedPropagationDistanceField::eucDistSq ( int3  point1,
int3  point2 
) [static, private]

Definition at line 463 of file propagation_distance_field.cpp.

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

Definition at line 749 of file propagation_distance_field.cpp.

double distance_field::SignedPropagationDistanceField::getDistance ( const SignedPropDistanceFieldVoxel object) const [inline, private, virtual]

Definition at line 689 of file propagation_distance_field.cpp.

Resets the distance field to the max_distance.

Implements distance_field::DistanceField< SignedPropDistanceFieldVoxel >.

Definition at line 684 of file propagation_distance_field.cpp.


Member Data Documentation

Definition at line 226 of file propagation_distance_field.h.

Definition at line 215 of file propagation_distance_field.h.

Definition at line 216 of file propagation_distance_field.h.

Definition at line 214 of file propagation_distance_field.h.

std::vector<std::vector<std::vector<int3 > > > distance_field::SignedPropagationDistanceField::neighborhoods_ [private]

Definition at line 224 of file propagation_distance_field.h.

Definition at line 213 of file propagation_distance_field.h.

Definition at line 218 of file propagation_distance_field.h.


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


distance_field
Author(s): Mrinal Kalakrishnan / mail@mrinal.net
autogenerated on Fri Dec 6 2013 21:11:00