Classes | |
struct | DistanceLowerBound |
Functions | |
void | computePixelDistance2dTranspose (Matrix &input, Matrix &distanceTranspose) |
void | distanceTransform_1d_inplace (Eigen::Ref< Eigen::VectorXf > squareDistance1d, std::vector< DistanceLowerBound > &lowerBounds) |
void | extractDistances (Eigen::Ref< Eigen::VectorXf > squareDistance1d, std::vector< DistanceLowerBound >::const_iterator lowerBoundIt, Eigen::Index start) |
void | extractSquareDistances (Eigen::Ref< Eigen::VectorXf > squareDistance1d, std::vector< DistanceLowerBound >::const_iterator lowerBoundIt, Eigen::Index start) |
std::vector< DistanceLowerBound >::iterator | fillLowerBounds (const Eigen::Ref< Eigen::VectorXf > &squareDistance1d, std::vector< DistanceLowerBound > &lowerBounds, Eigen::Index start) |
void | initializeObstacleDistance (const Matrix &elevationMap, Matrix &result, float height, float resolution) |
void | initializeObstacleFreeDistance (const Matrix &elevationMap, Matrix &result, float height, float resolution) |
float | intersectionOffsetFromOrigin (float p, float fp) |
float | intersectionPointRightSideOfOrigin (float p, float fp) |
Eigen::Index | lastZeroFromFront (const Eigen::Ref< Eigen::VectorXf > &squareDistance1d) |
void | pixelDistanceToFreeSpaceTranspose (const Matrix &elevationMap, Matrix &sdfObstacleFree, Matrix &tmp, float height, float resolution) |
void | pixelDistanceToObstacleTranspose (const Matrix &elevationMap, Matrix &sdfObstacleTranspose, Matrix &tmp, float height, float resolution) |
Matrix | signedDistanceFromOccupancyTranspose (const Eigen::Matrix< bool, -1, -1 > &occupancyGrid, float resolution) |
void | squaredDistanceTransform_1d_inplace (Eigen::Ref< Eigen::VectorXf > squareDistance1d, std::vector< DistanceLowerBound > &lowerBounds) |
void grid_map::signed_distance_field::internal::computePixelDistance2dTranspose | ( | Matrix & | input, |
Matrix & | distanceTranspose | ||
) |
Definition at line 169 of file SignedDistance2d.cpp.
|
inline |
Same as above, but takes sqrt as final step (within the same loop)
squareDistance1d | : input as squared distance, output is the distance after sqrt. |
lowerBounds | : work vector |
Definition at line 159 of file SignedDistance2d.cpp.
void grid_map::signed_distance_field::internal::extractDistances | ( | Eigen::Ref< Eigen::VectorXf > | squareDistance1d, |
std::vector< DistanceLowerBound >::const_iterator | lowerBoundIt, | ||
Eigen::Index | start | ||
) |
Same as extractSquareDistances, but takes the sqrt as a final step. Because several cells will have a value of 0.0 (obstacle / free space label), we can skip the sqrt computation for those.
Definition at line 100 of file SignedDistance2d.cpp.
void grid_map::signed_distance_field::internal::extractSquareDistances | ( | Eigen::Ref< Eigen::VectorXf > | squareDistance1d, |
std::vector< DistanceLowerBound >::const_iterator | lowerBoundIt, | ||
Eigen::Index | start | ||
) |
Definition at line 71 of file SignedDistance2d.cpp.
std::vector<DistanceLowerBound>::iterator grid_map::signed_distance_field::internal::fillLowerBounds | ( | const Eigen::Ref< Eigen::VectorXf > & | squareDistance1d, |
std::vector< DistanceLowerBound > & | lowerBounds, | ||
Eigen::Index | start | ||
) |
1D Euclidean Distance Transform based on: http://cs.brown.edu/people/pfelzens/dt/ Adapted to work on Eigen objects directly Optimized computation of s. Some optimization to not keep track of bounds that lie fully outside the grid.
Definition at line 30 of file SignedDistance2d.cpp.
void grid_map::signed_distance_field::internal::initializeObstacleDistance | ( | const Matrix & | elevationMap, |
Matrix & | result, | ||
float | height, | ||
float | resolution | ||
) |
Definition at line 190 of file SignedDistance2d.cpp.
void grid_map::signed_distance_field::internal::initializeObstacleFreeDistance | ( | const Matrix & | elevationMap, |
Matrix & | result, | ||
float | height, | ||
float | resolution | ||
) |
Definition at line 203 of file SignedDistance2d.cpp.
|
inline |
Return equidistancepoint between origin and pixel p with offset fp
Definition at line 73 of file PixelBorderDistance.hpp.
|
inline |
Return equidistancepoint between origin and pixel p (with p > 0) with offset fp
Definition at line 43 of file PixelBorderDistance.hpp.
Eigen::Index grid_map::signed_distance_field::internal::lastZeroFromFront | ( | const Eigen::Ref< Eigen::VectorXf > & | squareDistance1d | ) |
Find the location of the last zero value from the front
Definition at line 128 of file SignedDistance2d.cpp.
void grid_map::signed_distance_field::internal::pixelDistanceToFreeSpaceTranspose | ( | const Matrix & | elevationMap, |
Matrix & | sdfObstacleFree, | ||
Matrix & | tmp, | ||
float | height, | ||
float | resolution | ||
) |
Definition at line 215 of file SignedDistance2d.cpp.
void grid_map::signed_distance_field::internal::pixelDistanceToObstacleTranspose | ( | const Matrix & | elevationMap, |
Matrix & | sdfObstacleTranspose, | ||
Matrix & | tmp, | ||
float | height, | ||
float | resolution | ||
) |
Definition at line 220 of file SignedDistance2d.cpp.
Matrix grid_map::signed_distance_field::internal::signedDistanceFromOccupancyTranspose | ( | const Eigen::Matrix< bool, -1, -1 > & | occupancyGrid, |
float | resolution | ||
) |
Definition at line 226 of file SignedDistance2d.cpp.
|
inline |
Definition at line 143 of file SignedDistance2d.cpp.