-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtriangulation.h
41 lines (33 loc) · 1.02 KB
/
triangulation.h
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
37
38
39
40
41
#ifndef TRIANGULATION_H
#define TRIANGULATION_H
#include <CGAL/Delaunay_triangulation_3.h>
#include <CGAL/Exact_predicates_inexact_constructions_kernel.h>
#include <boost/program_options.hpp>
#include <fstream>
#include <iomanip>
#include <iostream>
#include <map>
#include <vector>
namespace PO = boost::program_options;
class Triangulation {
public:
using K = CGAL::Exact_predicates_inexact_constructions_kernel;
using Delaunay = CGAL::Delaunay_triangulation_3<K>;
using Point = K::Point_3;
explicit Triangulation(int argc = 1, char** argv = nullptr)
: ac(argc), av(argv) {}
~Triangulation() = default;
void checkOption(const PO::variables_map& vm, const std::string& option,
std::string& value, const PO::options_description& desc);
void parseCommandLine();
void readInputFile();
void createTriangulation();
private:
int ac;
char** av;
std::string inputFile;
std::string outputFile;
std::vector<Point> pointCloud;
std::map<Point, int> idPoints;
};
#endif // TRIANGULATION_H