Program Listing for File KinMatchArtist.hpp¶
↰ Return to documentation for file (include/dish2/viz/artists/KinMatchArtist.hpp)
#pragma once
#ifndef DISH2_VIZ_ARTISTS_KINMATCHARTIST_HPP_INCLUDE
#define DISH2_VIZ_ARTISTS_KINMATCHARTIST_HPP_INCLUDE
#include <string_view>
#include "../border_colormaps/KinGroupIDBorderColorMap.hpp"
#include "../fill_colormaps/IsAliveColorMap.hpp"
#include "../fill_colormaps/KinMatchColorMap.hpp"
#include "../getters/IsAliveGetter.hpp"
#include "../getters/KinGroupIDGetter.hpp"
#include "../getters/KinMatchGetter.hpp"
#include "../renderers/CardinalFillRenderer.hpp"
#include "../renderers/CellBorderRenderer.hpp"
#include "../renderers/CellFillRenderer.hpp"
#include "Artist.hpp"
namespace dish2 {
namespace internal::kin_match_artist {
template<
typename KinMatchGetter,
typename IsAliveGetter,
typename KinGroupIDGetter
>
using parent_t = dish2::Artist<
dish2::CardinalFillRenderer<
dish2::KinMatchColorMap,
KinMatchGetter
>,
dish2::CellFillRenderer<
dish2::IsAliveColorMap,
IsAliveGetter
>,
dish2::CellBorderRenderer<
dish2::KinGroupIDBorderColorMap,
KinGroupIDGetter
>
>;
} // namespace internal::kin_match_artist
template<
typename Spec,
typename KinMatchGetter=dish2::KinMatchGetter<Spec>,
typename IsAliveGetter=dish2::IsAliveGetter<Spec>,
typename KinGroupIDGetter=dish2::KinGroupIDGetter<Spec>
>
class KinMatchArtist
: public internal::kin_match_artist::parent_t<
KinMatchGetter,
IsAliveGetter,
KinGroupIDGetter
> {
using parent_t = internal::kin_match_artist::parent_t<
KinMatchGetter,
IsAliveGetter,
KinGroupIDGetter
>;
public:
// inherit constructors
using parent_t::parent_t;
static constexpr std::string_view GetName() { return "Kin Match"; }
static size_t GetSeriesLength(const dish2::ThreadWorld<Spec>&) {
return Spec::NLEV;
}
};
} // namespace dish2
#endif // #ifndef DISH2_VIZ_ARTISTS_KINMATCHARTIST_HPP_INCLUDE