graph_algo_ptas/embedding/
index.rs

1//! This module is the main entry point for embedding
2
3use crate::{
4    data_structure::graph_dcel::{Dart, Face, GraphDCEL, Vertex},
5    utils::convert::UndirectedGraph,
6};
7
8/// The Embedding trait is implemented by all embedding algorithms
9pub trait Embedding<
10    V: Vertex,
11    D: Dart,
12    F: Face,
13    VI: Iterator<Item = V>,
14    DI: Iterator<Item = D>,
15    FI: Iterator<Item = F>,
16    T: GraphDCEL<V, D, F, VI, DI, FI>,
17>
18{
19    /// Receives a graph as an Argument an returns the embedding
20    fn embed(graph: UndirectedGraph) -> T;
21}