diff --git a/classquetzal_1_1coalescence_1_1binary__tree_3_01VertexProperty_00_01EdgeProperty_01_4.html b/classquetzal_1_1coalescence_1_1binary__tree_3_01VertexProperty_00_01EdgeProperty_01_4.html index 9642559c..68787e99 100644 --- a/classquetzal_1_1coalescence_1_1binary__tree_3_01VertexProperty_00_01EdgeProperty_01_4.html +++ b/classquetzal_1_1coalescence_1_1binary__tree_3_01VertexProperty_00_01EdgeProperty_01_4.html @@ -254,7 +254,7 @@

assert(tree[cd_edge].size() == 0);
}
Definition binary_tree.hpp:328
-
Definition newick_parser_2.cpp:12
+
Definition geography_dispersal_kernel_4.cpp:13
Definition coalescence_binary_tree_2.cpp:5

Output

diff --git a/classquetzal_1_1coalescence_1_1binary__tree_3_01VertexProperty_00_01no__property_01_4.html b/classquetzal_1_1coalescence_1_1binary__tree_3_01VertexProperty_00_01no__property_01_4.html index a863aa23..b1f59f76 100644 --- a/classquetzal_1_1coalescence_1_1binary__tree_3_01VertexProperty_00_01no__property_01_4.html +++ b/classquetzal_1_1coalescence_1_1binary__tree_3_01VertexProperty_00_01no__property_01_4.html @@ -238,7 +238,7 @@

assert(tree[b].field1.size() == tree[b].field2);
}
Definition binary_tree.hpp:328
-
Definition newick_parser_2.cpp:12
+
Definition geography_dispersal_kernel_4.cpp:13
Definition coalescence_binary_tree_2.cpp:5

Output

diff --git a/classquetzal_1_1coalescence_1_1binary__tree_3_01no__property_00_01no__property_01_4.html b/classquetzal_1_1coalescence_1_1binary__tree_3_01no__property_00_01no__property_01_4.html index 1cc8326b..2bdeef86 100644 --- a/classquetzal_1_1coalescence_1_1binary__tree_3_01no__property_00_01no__property_01_4.html +++ b/classquetzal_1_1coalescence_1_1binary__tree_3_01no__property_00_01no__property_01_4.html @@ -213,7 +213,7 @@

std::cout << "Degree of inner vertex c is " << tree.degree(c) << std::endl;
}
Definition binary_tree.hpp:328
-
Definition newick_parser_2.cpp:12
+
Definition geography_dispersal_kernel_4.cpp:13
Definition coalescence_binary_tree_2.cpp:5

Output

diff --git a/classquetzal_1_1coalescence_1_1k__ary__tree_3_01VertexProperty_00_01EdgeProperty_01_4.html b/classquetzal_1_1coalescence_1_1k__ary__tree_3_01VertexProperty_00_01EdgeProperty_01_4.html index 98072d7e..450a737a 100644 --- a/classquetzal_1_1coalescence_1_1k__ary__tree_3_01VertexProperty_00_01EdgeProperty_01_4.html +++ b/classquetzal_1_1coalescence_1_1k__ary__tree_3_01VertexProperty_00_01EdgeProperty_01_4.html @@ -250,7 +250,7 @@

assert(tree[other_edges[0]].size() == 0);
}
Definition k_ary_tree.hpp:349
-
Definition newick_parser_2.cpp:12
+
Definition geography_dispersal_kernel_4.cpp:13
Definition coalescence_binary_tree_2.cpp:5

Output

diff --git a/classquetzal_1_1coalescence_1_1k__ary__tree_3_01VertexProperty_00_01no__property_01_4.html b/classquetzal_1_1coalescence_1_1k__ary__tree_3_01VertexProperty_00_01no__property_01_4.html index 3ff2d938..497ec00b 100644 --- a/classquetzal_1_1coalescence_1_1k__ary__tree_3_01VertexProperty_00_01no__property_01_4.html +++ b/classquetzal_1_1coalescence_1_1k__ary__tree_3_01VertexProperty_00_01no__property_01_4.html @@ -240,7 +240,7 @@

assert(tree[b].field1.size() == tree[b].field2);
}
Definition k_ary_tree.hpp:349
-
Definition newick_parser_2.cpp:12
+
Definition geography_dispersal_kernel_4.cpp:13
Definition coalescence_binary_tree_2.cpp:5

Output

diff --git a/classquetzal_1_1coalescence_1_1k__ary__tree_3_01no__property_00_01EdgeProperty_01_4.html b/classquetzal_1_1coalescence_1_1k__ary__tree_3_01no__property_00_01EdgeProperty_01_4.html index c7f5010b..d5b99595 100644 --- a/classquetzal_1_1coalescence_1_1k__ary__tree_3_01no__property_00_01EdgeProperty_01_4.html +++ b/classquetzal_1_1coalescence_1_1k__ary__tree_3_01no__property_00_01EdgeProperty_01_4.html @@ -232,7 +232,7 @@

assert(tree[other_edges[0]].size() == 0);
}
Definition k_ary_tree.hpp:349
-
Definition newick_parser_2.cpp:12
+
Definition geography_dispersal_kernel_4.cpp:13
Definition coalescence_binary_tree_2.cpp:5

Output

diff --git a/classquetzal_1_1coalescence_1_1k__ary__tree_3_01no__property_00_01no__property_01_4.html b/classquetzal_1_1coalescence_1_1k__ary__tree_3_01no__property_00_01no__property_01_4.html index 48d4e24b..d1814b06 100644 --- a/classquetzal_1_1coalescence_1_1k__ary__tree_3_01no__property_00_01no__property_01_4.html +++ b/classquetzal_1_1coalescence_1_1k__ary__tree_3_01no__property_00_01no__property_01_4.html @@ -214,7 +214,7 @@

std::cout << "Degree of inner vertex c is " << tree.degree(c) << std::endl;
}
Definition k_ary_tree.hpp:349
-
Definition newick_parser_2.cpp:12
+
Definition geography_dispersal_kernel_4.cpp:13
Definition coalescence_binary_tree_2.cpp:5

Output

diff --git a/from__grid_8hpp_source.html b/from__grid_8hpp_source.html index 7828b25f..fa308d18 100644 --- a/from__grid_8hpp_source.html +++ b/from__grid_8hpp_source.html @@ -172,36 +172,53 @@
17namespace quetzal::geography
18{
19
-
28template <two_dimensional SpatialGrid, class VertexProperty, class EdgeProperty, class Vicinity,
-
29 directional Directionality, class Policy>
-
-
30auto from_grid(SpatialGrid const &grid, VertexProperty const &v, EdgeProperty const &e, Vicinity const &vicinity,
-
31 Directionality dir, Policy const &bounding_policy)
-
32{
-
33 using graph_type = quetzal::geography::graph<VertexProperty, EdgeProperty, typename Vicinity::connectedness, Directionality>;
-
34 graph_type graph( grid.width() * grid.height() + bounding_policy.num_extra_vertices() ) ;
-
35 vicinity.connect(graph, grid, bounding_policy);
-
36
-
37 if constexpr ( ! std::is_same_v<VertexProperty, no_property>) {
-
38 for( auto vertex : graph.vertices() ){
-
39 graph[vertex] = v;
-
40 }
-
41 }
-
42
-
43 if constexpr ( ! std::is_same_v<EdgeProperty, no_property>) {
-
44 for(auto edge : graph.edges()){
-
45 graph[edge] = e;
-
46 }
-
47 }
-
48
-
49 return graph;
-
50}
+
28template<
+
29 two_dimensional SpatialGrid,
+
30 directional Directionality,
+
31 class VertexProperty,
+
32 class EdgeProperty,
+
33 class Vicinity,
+
34 class Policy
+
35>
+
+
36auto from_grid(SpatialGrid const &grid, VertexProperty const &v, EdgeProperty const &e, Vicinity const &vicinity,
+
37 Directionality dir, Policy const &bounding_policy)
+
38{
+
39 namespace geo = quetzal::geography;
+
40 using connectedness = Vicinity::connectedness;
+ +
42 using vertex_t = graph_type::vertex_descriptor;
+
43
+
44 graph_type graph( grid.width() * grid.height() + bounding_policy.num_extra_vertices() ) ;
+
45 vicinity.connect(graph, grid, bounding_policy);
+
46
+
47 if constexpr ( ! std::is_same_v<VertexProperty, no_property>) {
+
48 for( auto vertex : graph.vertices() ){
+
49 graph[vertex] = v;
+
50 }
+
51 }
+
52
+
53 if constexpr ( ! std::is_same_v<EdgeProperty, no_property>) {
+
54 for(auto edge : graph.edges()){
+
55 if constexpr (std::constructible_from<VertexProperty, vertex_t, vertex_t, SpatialGrid>){
+
56 graph[edge] = EdgeProperty(edge.source(), edge.target(), grid);
+
57 } else {
+
58 static_assert(std::is_default_constructible_v<EdgeProperty>);
+
59 graph[edge] = e;
+
60 }
+
61 }
+
62 }
+
63
+
64 return graph;
+
65}
-
51
-
52} // namespace quetzal::geography
+
66
+
67} // namespace quetzal::geography
Definition graph.hpp:262
+
Concept to represent the connectedness of a graph.
Definition concepts.hpp:89
Geospatial data formatting and processing.
Definition geography.hpp:17
-
auto from_grid(SpatialGrid const &grid, VertexProperty const &v, EdgeProperty const &e, Vicinity const &vicinity, Directionality dir, Policy const &bounding_policy)
Spatial graph construction method.
Definition from_grid.hpp:30
+
auto from_grid(SpatialGrid const &grid, VertexProperty const &v, EdgeProperty const &e, Vicinity const &vicinity, Directionality dir, Policy const &bounding_policy)
Spatial graph construction method.
Definition from_grid.hpp:36
+
Definition newick_generator_test.cpp:259
diff --git a/functions_func_n.html b/functions_func_n.html index e8587cde..55abef48 100644 --- a/functions_func_n.html +++ b/functions_func_n.html @@ -164,9 +164,9 @@

- n -