summaryrefslogtreecommitdiff
path: root/lib/include/graph.hpp
blob: 80cdd66b3a7850632ebbd0e80fc7e03c8289dff0 (plain)
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

#pragma once

#include <cmath>
#include <vector>
#include <array>

class graph {
  public:
    typedef struct coordinate {
      double x;
      double y;
    } coordinate;

    typedef struct vertex {
      coordinate r;
    } vertex;

    typedef std::array<unsigned int, 2> edge;

    std::vector<vertex> vertices;
    std::vector<edge> edges;

    std::vector<vertex> dual_vertices;
    std::vector<edge> dual_edges;

    graph(unsigned int L);
};