13 #include <Eigen/Dense> 36 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
70 size_t size() const noexcept;
72 const std::
string&
getFrameId() const noexcept;
104 Matrix& tmpTranspose,
float height,
float resolution,
float minHeight,
float maxHeight) const;
const std::string & getFrameId() const noexcept
size_t size() const noexcept
static float distanceFloat(const node_data_t &nodeData) noexcept
signed_distance_field::Gridmap3dLookup gridmap3DLookup_
Object encoding the 3D grid.
Time timestamp_
Timestamp of the grid map (nanoseconds).
Eigen::Vector3d Derivative3
double value(const Position3 &position) const noexcept
static Derivative3 derivative(const node_data_t &nodeData) noexcept
std::pair< double, Derivative3 > valueAndDerivative(const Position3 &position) const noexcept
std::string frameId_
Frame id of the grid map.
void computeSignedDistance(const Matrix &elevation)
static double distance(const node_data_t &nodeData) noexcept
Derivative3 derivative(const Position3 &position) const noexcept
void computeLayerSdfandDeltaX(const Matrix &elevation, Matrix ¤tLayer, Matrix &dxTranspose, Matrix &sdfTranspose, Matrix &tmp, Matrix &tmpTranspose, float height, float resolution, float minHeight, float maxHeight) const
Eigen::Vector3d Position3
std::array< float, 4 > node_data_t
Data structure to store together {signed distance value, derivative}.
void filterPoints(std::function< void(const Position3 &, float, const Derivative3 &)> func, size_t decimation=1) const
std::vector< node_data_t > data_
Object encoding the signed distance value and derivative in the grid.
SignedDistanceField(const GridMap &gridMap, const std::string &elevationLayer, double minHeight, double maxHeight)
void emplacebackLayerData(const Matrix &signedDistance, const Matrix &dxTranspose, const Matrix &dy, const Matrix &dz)
Time getTime() const noexcept