AliceVision
Photogrammetric Computer Vision Framework
Universe.hpp
1 // This file is part of the AliceVision project.
2 // Copyright (c) 2017 AliceVision contributors.
3 // This Source Code Form is subject to the terms of the Mozilla Public License,
4 // v. 2.0. If a copy of the MPL was not distributed with this file,
5 // You can obtain one at https://mozilla.org/MPL/2.0/.
6 
7 #pragma once
8 
9 namespace aliceVision {
10 
11 typedef struct
12 {
13  int rank;
14  int p;
15  int size;
16 } uni_elt;
17 
21 class Universe
22 {
23  public:
24  explicit Universe(int elements);
25  ~Universe();
27  void initialize();
30  int find(int x);
31  void join(int x, int y);
32  void addEdge(int x, int y);
33 
34  inline int size(int x) const { return elts[x].size; }
35 
36  public:
37  uni_elt* elts;
38  int num, allelems;
39 };
40 
41 } // namespace aliceVision
aliceVision::Universe
Allows to perform labelling by creating node and connecting them.
Definition: Universe.hpp:21
aliceVision
Definition: checkerDetector.cpp:32
aliceVision::uni_elt
Definition: Universe.hpp:11
aliceVision::Universe::initialize
void initialize()
Initialize all elements to the default values.
Definition: Universe.cpp:19
aliceVision::Universe::find
int find(int x)
Definition: Universe.cpp:32