Program Listing for File AutoPalette.h
↰ Return to documentation for file (include/flamegpu/visualiser/color/AutoPalette.h
)
#ifndef INCLUDE_FLAMEGPU_VISUALISER_COLOR_AUTOPALETTE_H_
#define INCLUDE_FLAMEGPU_VISUALISER_COLOR_AUTOPALETTE_H_
#include <vector>
#include "flamegpu/visualiser/color/Color.h"
#include "flamegpu/visualiser/color/Palette.h"
namespace flamegpu {
namespace visualiser {
class AutoPalette {
const std::vector<Color> palette;
size_t next_index;
public:
explicit AutoPalette(const Palette& _palette)
: palette(_palette.colors())
, next_index(0) { }
const Color &next() {
if (next_index >= palette.size())
next_index = 0;
return palette[next_index++];
}
};
} // namespace visualiser
} // namespace flamegpu
#endif // INCLUDE_FLAMEGPU_VISUALISER_COLOR_AUTOPALETTE_H_