Program Listing for File decomposition_base.h
↰ Return to documentation for file (fields2cover/decomposition/decomposition_base.h
)
//=============================================================================
// Copyright (C) 2021-2024 Wageningen University - All Rights Reserved
// Author: Gonzalo Mier
// BSD-3 License
//=============================================================================
#pragma once
#ifndef FIELDS2COVER_DECOMPOSITION_DECOMPOSITION_BASE_H_
#define FIELDS2COVER_DECOMPOSITION_DECOMPOSITION_BASE_H_
#include "fields2cover/types.h"
#include "fields2cover/objectives/decomp_obj/decomp_objective.h"
namespace f2c::decomp {
class DecompositionBase {
public:
virtual F2CCells decompose(const F2CCells& cells,
const obj::DecompObjective& obj = obj::DecompObjective());
public:
virtual F2CCells split(const F2CCells& cells,
const obj::DecompObjective& obj);
virtual F2CMultiLineString genSplitLines(const F2CCells& cells,
const obj::DecompObjective& obj) = 0;
virtual F2CCells merge(const F2CCells& cells,
const obj::DecompObjective& obj);
virtual ~DecompositionBase() = default;
};
} // namespace f2c::decomp
#endif // FIELDS2COVER_DECOMPOSITION_DECOMPOSITION_BASE_H_