Files
fluxengine/lib/geometry/geometry.h
David Given b8c198329d Add the image reading geometry mapper; overhaul the reader to use it; convert
the .img imagewriter; remove the d64 imagewriter (as this can now be
represented with img).
2021-06-09 23:07:32 +02:00

34 lines
813 B
C++

#ifndef DGMAPPER_H
#define DGMAPPER_H
class Sector;
class SectorSet;
class GeometryProto;
class ImageReader;
class ImageWriter;
class DisassemblingGeometryMapper
{
public:
virtual const Sector* get(unsigned cylinder, unsigned head, unsigned sector) const = 0;
};
class AssemblingGeometryMapper
{
public:
virtual void put(const Sector& sector) const = 0;
public:
void put(const SectorSet& sectors);
void printMap(const SectorSet& sectors);
void writeCsv(const SectorSet& sectors, const std::string& filename);
};
extern std::unique_ptr<DisassemblingGeometryMapper> createSimpleDisassemblingGeometryMapper(
const GeometryProto& proto, ImageReader& reader);
extern std::unique_ptr<AssemblingGeometryMapper> createSimpleAssemblingGeometryMapper(
const GeometryProto& proto, ImageWriter& reader);
#endif