22 #include "glog/logging.h" 27 std::unique_ptr<IntensityToColorPointsProcessor>
31 const string frame_id =
32 dictionary->
HasKey(
"frame_id") ? dictionary->
GetString(
"frame_id") :
"";
33 const float min_intensity = dictionary->
GetDouble(
"min_intensity");
34 const float max_intensity = dictionary->
GetDouble(
"max_intensity");
35 return common::make_unique<IntensityToColorPointsProcessor>(
36 min_intensity, max_intensity, frame_id, next);
40 const float min_intensity,
const float max_intensity,
48 std::unique_ptr<PointsBatch> batch) {
49 if (!batch->intensities.empty() &&
51 batch->colors.clear();
52 for (
const float intensity : batch->intensities) {
58 batch->colors.push_back(
Color{{gray, gray, gray}});
virtual void Process(std::unique_ptr< PointsBatch > points_batch)=0
double GetDouble(const string &key)
IntensityToColorPointsProcessor(float min_intensity, float max_intensity, const string &frame_id, PointsProcessor *next)
std::array< uint8_t, 3 > Color
FlushResult Flush() override
void Process(std::unique_ptr< PointsBatch > batch) override
virtual FlushResult Flush()=0
const float max_intensity_
bool HasKey(const string &key) const
const float min_intensity_
PointsProcessor *const next_
string GetString(const string &key)
T Clamp(const T value, const T min, const T max)
static std::unique_ptr< IntensityToColorPointsProcessor > FromDictionary(common::LuaParameterDictionary *dictionary, PointsProcessor *next)