blob: c4375800239637d6832f4560a67508b724439aa9 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
#ifndef CONTOURPY_CONTOUR_GENERATOR_H
#define CONTOURPY_CONTOUR_GENERATOR_H
#include "common.h"
namespace contourpy {
class ContourGenerator
{
public:
// Non-copyable and non-moveable.
ContourGenerator(const ContourGenerator& other) = delete;
ContourGenerator(const ContourGenerator&& other) = delete;
ContourGenerator& operator=(const ContourGenerator& other) = delete;
ContourGenerator& operator=(const ContourGenerator&& other) = delete;
virtual ~ContourGenerator() = default;
virtual py::tuple filled(double lower_level, double upper_level) = 0;
virtual py::sequence lines(double level) = 0;
virtual py::list multi_filled(const LevelArray levels);
virtual py::list multi_lines(const LevelArray levels);
protected:
ContourGenerator() = default;
// Check levels are acceptable, throw exception if not.
void check_levels(const LevelArray& levels, bool filled) const;
void check_levels(double lower_level, double upper_level) const;
};
} // namespace contourpy
#endif // CONTOURPY_CONTOUR_GENERATOR_H
|