inline bool Set(const VoxelGrid::GRID_INDEX& index, const float value) { if (!locked_) { return distance_field_.SetValue(index, value); } else { std::cerr << "Attempt to set value in locked SDF" << std::endl; return false; } }
inline bool Set(const Eigen::Vector3d& location, float value) { if (!locked_) { return distance_field_.SetValue(location, value); } else { std::cerr << "Attempt to set value in locked SDF" << std::endl; return false; } }
inline bool Set(const int64_t x_index, const int64_t y_index, const int64_t z_index, const float value) { if (!locked_) { return distance_field_.SetValue(x_index, y_index, z_index, value); } else { std::cerr << "Attempt to set value in locked SDF" << std::endl; return false; } }
/* * Setter functions MUST be used carefully - If you arbitrarily change SDF values, it is not a proper SDF any more! * * Use of these functions can be prevented by calling SignedDistanceField::Lock() on the SDF, at which point these functions * will fail with a warning printed to std_err. */ inline bool Set(const double x, const double y, const double z, float value) { if (!locked_) { return distance_field_.SetValue(x, y, z, value); } else { std::cerr << "Attempt to set value in locked SDF" << std::endl; return false; } }