Program Listing for File ViridisInterpolation.h
↰ Return to documentation for file (include/flamegpu/visualiser/color/ViridisInterpolation.h
)
#ifndef INCLUDE_FLAMEGPU_VISUALISER_COLOR_VIRIDISINTERPOLATION_H_
#define INCLUDE_FLAMEGPU_VISUALISER_COLOR_VIRIDISINTERPOLATION_H_
#include <string>
#include <array>
#include "flamegpu/visualiser/color/ColorFunction.h"
#include "flamegpu/visualiser/color/Color.h"
namespace flamegpu {
namespace visualiser {
class ViridisInterpolation : public ColorFunction {
friend class Viridis;
public:
explicit ViridisInterpolation(const std::string& variable_name, const float& min_bound = 0.0f, const float& max_bound = 1.0f);
ViridisInterpolation& setBounds(const float& min_bound, const float& max_bound);
std::string getSrc(unsigned int array_len) const override;
std::string getSamplerName() const override;
std::string getAgentVariableName() const override;
std::type_index getAgentVariableRequiredType() const override;
static const std::array<const Color, 256>& rawColors();
private:
float min_bound = 0.0f, max_bound = 1.0f;
const std::string variable_name;
bool invert_palette;
};
} // namespace visualiser
} // namespace flamegpu
#endif // INCLUDE_FLAMEGPU_VISUALISER_COLOR_VIRIDISINTERPOLATION_H_