summaryrefslogtreecommitdiff
path: root/lib/include/graph.hpp
blob: 9a630ffb48c9c211c94aff65d14e726bc933bc3a (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
30
31

#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;

    coordinate L;

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

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

    graph(unsigned int Nx, unsigned int Ny);
};