Program Listing for File headland_generator_base.h
↰ Return to documentation for file (fields2cover/headland_generator/headland_generator_base.h
)
//=============================================================================
// Copyright (C) 2021-2024 Wageningen University - All Rights Reserved
// Author: Gonzalo Mier
// BSD-3 License
//=============================================================================
#pragma once
#ifndef FIELDS2COVER_HEADLAND_GENERATOR_HEADLAND_GENERATOR_BASE_H_
#define FIELDS2COVER_HEADLAND_GENERATOR_HEADLAND_GENERATOR_BASE_H_
#include <vector>
#include "fields2cover/types.h"
namespace f2c::hg {
class HeadlandGeneratorBase {
public:
virtual F2CCells generateHeadlands(
const F2CCells& field, double dist_headland) = 0;
virtual F2CCells generateHeadlandArea(
const F2CCells& field, double swath_width, int n_swaths) = 0;
virtual std::vector<F2CCells> generateHeadlandSwaths(
const F2CCells& field, double swath_width, int n_swaths,
bool dir_out2in = true) = 0;
virtual ~HeadlandGeneratorBase() = default;
};
} // namespace f2c::hg
#endif // FIELDS2COVER_HEADLAND_GENERATOR_HEADLAND_GENERATOR_BASE_H_