Files
fluxengine/lib/encoders/encoders.h
David Given d303067deb Massive refactor to work in logical cylinders everywhere. The logical/physical
mapping is now done at the last stage and should, ideally, be automatic. I'm
sure there are bugs everywhere.
2022-03-25 00:22:28 +01:00

28 lines
637 B
C++

#ifndef ENCODERS_H
#define ENCODERS_H
class EncoderProto;
class Fluxmap;
class Image;
class Location;
class Sector;
class AbstractEncoder
{
public:
AbstractEncoder(const EncoderProto& config) {}
virtual ~AbstractEncoder() {}
static std::unique_ptr<AbstractEncoder> create(const EncoderProto& config);
public:
virtual std::vector<std::shared_ptr<const Sector>> collectSectors(
const Location& location, const Image& image) = 0;
virtual std::unique_ptr<Fluxmap> encode(const Location& location,
const std::vector<std::shared_ptr<const Sector>>& sectors,
const Image& image) = 0;
};
#endif