$search
#include <propagation_distance_field.h>
Public Member Functions | |
virtual void | addPointsToField (const std::vector< btVector3 > 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 (int *point1, int *point2) |
Private Attributes | |
std::vector< std::vector< int > > | direction_number_to_direction_ |
double | max_distance_ |
int | max_distance_sq_ |
std::vector< std::vector < SignedPropDistanceFieldVoxel * > > | negative_bucket_queue_ |
std::vector< std::vector < std::vector< std::vector < int > > > > | neighborhoods_ |
std::vector< std::vector < SignedPropDistanceFieldVoxel * > > | positive_bucket_queue_ |
std::vector< double > | sqrt_table_ |
Definition at line 150 of file propagation_distance_field.h.
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 246 of file propagation_distance_field.cpp.
distance_field::SignedPropagationDistanceField::~SignedPropagationDistanceField | ( | ) | [virtual] |
Definition at line 242 of file propagation_distance_field.cpp.
void distance_field::SignedPropagationDistanceField::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< SignedPropDistanceFieldVoxel >.
Definition at line 269 of file propagation_distance_field.cpp.
int distance_field::SignedPropagationDistanceField::eucDistSq | ( | int * | point1, | |
int * | point2 | |||
) | [static, private] |
Definition at line 261 of file propagation_distance_field.cpp.
int distance_field::SignedPropagationDistanceField::getDirectionNumber | ( | int | dx, | |
int | dy, | |||
int | dz | |||
) | const [private] |
Definition at line 561 of file propagation_distance_field.cpp.
double distance_field::SignedPropagationDistanceField::getDistance | ( | const SignedPropDistanceFieldVoxel & | object | ) | const [inline, private, virtual] |
Implements distance_field::DistanceField< SignedPropDistanceFieldVoxel >.
Definition at line 201 of file propagation_distance_field.h.
void distance_field::SignedPropagationDistanceField::initNeighborhoods | ( | ) | [private] |
Definition at line 495 of file propagation_distance_field.cpp.
void distance_field::SignedPropagationDistanceField::reset | ( | ) | [virtual] |
Resets the distance field to the max_distance.
Implements distance_field::DistanceField< SignedPropDistanceFieldVoxel >.
Definition at line 490 of file propagation_distance_field.cpp.
std::vector<std::vector<int> > distance_field::SignedPropagationDistanceField::direction_number_to_direction_ [private] |
Definition at line 176 of file propagation_distance_field.h.
double distance_field::SignedPropagationDistanceField::max_distance_ [private] |
Definition at line 165 of file propagation_distance_field.h.
Definition at line 166 of file propagation_distance_field.h.
std::vector<std::vector<SignedPropDistanceFieldVoxel*> > distance_field::SignedPropagationDistanceField::negative_bucket_queue_ [private] |
Definition at line 164 of file propagation_distance_field.h.
std::vector<std::vector<std::vector<std::vector<int> > > > distance_field::SignedPropagationDistanceField::neighborhoods_ [private] |
Definition at line 174 of file propagation_distance_field.h.
std::vector<std::vector<SignedPropDistanceFieldVoxel*> > distance_field::SignedPropagationDistanceField::positive_bucket_queue_ [private] |
Definition at line 163 of file propagation_distance_field.h.
std::vector<double> distance_field::SignedPropagationDistanceField::sqrt_table_ [private] |
Definition at line 168 of file propagation_distance_field.h.