@@ -5,22 +5,99 @@ import Graphs:
5
5
inneighbors, outneighbors, is_directed, add_edge!
6
6
7
7
import SimpleWeightedGraphs:
8
- add_edge!, get_weight, add_vertex!, vertices
8
+ add_edge!, get_weight, add_vertex!
9
9
10
10
import Base: zero
11
11
12
12
# ## Graphs interface
13
- nv (g:: AbstractSpatialGraph ) = nv (g. graph)
14
- ne (g:: AbstractSpatialGraph ) = ne (g. graph)
15
- vertices (g:: AbstractSpatialGraph ) = vertices (g. graph)
16
- edges (g:: AbstractSpatialGraph ) = edges (g. graph)
17
- eltype (g:: AbstractSpatialGraph ) = eltype (g. graph)
18
- edgetype (g:: AbstractSpatialGraph ) = edgetype (g. graph)
19
- has_edge (g:: AbstractSpatialGraph , s, d) = has_edge (g. graph, s, d)
20
- has_vertex (g:: AbstractSpatialGraph , v) = has_vertex (g. graph, v)
21
- inneighbors (g:: AbstractSpatialGraph , v) = inneighbors (g. graph, v)
22
- outneighbors (g:: AbstractSpatialGraph , v) = outneighbors (g. graph, v)
23
- is_directed (g:: AbstractSpatialGraph ) = is_directed (g. graph)
13
+ function nv (g:: AbstractSpatialGraph )
14
+ if typeof (g. graph) <: Union{SimpleWeightedGraph, SimpleWeightedDiGraph}
15
+ SimpleWeightedGraphs. nv (g. graph)
16
+ else
17
+ nv (g. graph)
18
+ end
19
+ end
20
+
21
+ function ne (g:: AbstractSpatialGraph )
22
+ if typeof (g. graph) <: Union{SimpleWeightedGraph, SimpleWeightedDiGraph}
23
+ SimpleWeightedGraphs. ne (g. graph)
24
+ else
25
+ ne (g. graph)
26
+ end
27
+ end
28
+
29
+ function vertices (g:: AbstractSpatialGraph )
30
+ if typeof (g. graph) <: Union{SimpleWeightedGraph, SimpleWeightedDiGraph}
31
+ SimpleWeightedGraphs. vertices (g. graph)
32
+ else
33
+ vertices (g. graph)
34
+ end
35
+ end
36
+
37
+ function edges (g:: AbstractSpatialGraph )
38
+ if typeof (g. graph) <: Union{SimpleWeightedGraph, SimpleWeightedDiGraph}
39
+ SimpleWeightedGraphs. edges (g. graph)
40
+ else
41
+ edges (g. graph)
42
+ end
43
+ end
44
+
45
+ function eltype (g:: AbstractSpatialGraph )
46
+ if typeof (g. graph) <: Union{SimpleWeightedGraph, SimpleWeightedDiGraph}
47
+ SimpleWeightedGraphs. eltype (g. graph)
48
+ else
49
+ eltype (g. graph)
50
+ end
51
+ end
52
+
53
+ function edgetype (g:: AbstractSpatialGraph )
54
+ if typeof (g. graph) <: Union{SimpleWeightedGraph, SimpleWeightedDiGraph}
55
+ SimpleWeightedGraphs. edgetype (g. graph)
56
+ else
57
+ edgetype (g. graph)
58
+ end
59
+ end
60
+
61
+ function has_edge (g:: AbstractSpatialGraph , s, d)
62
+ if typeof (g. graph) <: Union{SimpleWeightedGraph, SimpleWeightedDiGraph}
63
+ SimpleWeightedGraphs. has_edge (g. graph, s, d)
64
+ else
65
+ has_edge (g. graph, s, d)
66
+ end
67
+ end
68
+
69
+ function has_vertex (g:: AbstractSpatialGraph , v)
70
+ if typeof (g. graph) <: Union{SimpleWeightedGraph, SimpleWeightedDiGraph}
71
+ SimpleWeightedGraphs. has_vertex (g. graph, v)
72
+ else
73
+ has_vertex (g. graph, v)
74
+ end
75
+ end
76
+
77
+ function inneighbors (g:: AbstractSpatialGraph , v)
78
+ if typeof (g. graph) <: Union{SimpleWeightedGraph, SimpleWeightedDiGraph}
79
+ SimpleWeightedGraphs. inneighbors (g. graph, v)
80
+ else
81
+ inneighbors (g. graph, v)
82
+ end
83
+ end
84
+
85
+ function outneighbors (g:: AbstractSpatialGraph , v)
86
+ if typeof (g. graph) <: Union{SimpleWeightedGraph, SimpleWeightedDiGraph}
87
+ SimpleWeightedGraphs. outneighbors (g. graph, v)
88
+ else
89
+ outneighbors (g. graph, v)
90
+ end
91
+ end
92
+
93
+ function is_directed (g:: AbstractSpatialGraph )
94
+ if typeof (g. graph) <: Union{SimpleWeightedGraph, SimpleWeightedDiGraph}
95
+ SimpleWeightedGraphs. is_directed (g. graph)
96
+ else
97
+ is_directed (g. graph)
98
+ end
99
+ end
100
+
24
101
function Base. zero (g:: AbstractRasterGraph )
25
102
if g. graph isa Graph
26
103
RasterGraph (
@@ -44,8 +121,22 @@ function Base.zero(g::AbstractRasterGraph)
44
121
)
45
122
end
46
123
end
47
- add_edge! (g:: AbstractSpatialGraph , a:: Integer , b:: Integer , c:: Number ) = add_edge! (g. graph, a, b, c)
48
- add_vertex! (g:: AbstractSpatialGraph ) = add_vertex! (g. graph)
124
+
125
+ function add_edge! (g:: AbstractSpatialGraph , a:: Integer , b:: Integer , c:: Number )
126
+ if typeof (g. graph) <: Union{SimpleWeightedGraph, SimpleWeightedDiGraph}
127
+ SimpleWeightedGraphs. add_edge! (g. graph, a, b, c)
128
+ else
129
+ add_edge! (g. graph, a, b, c)
130
+ end
131
+ end
132
+
133
+ function add_vertex! (g:: AbstractSpatialGraph )
134
+ if typeof (g. graph) <: Union{SimpleWeightedGraph, SimpleWeightedDiGraph}
135
+ SimpleWeightedGraphs. add_vertex! (g. graph)
136
+ else
137
+ add_vertex! (g. graph)
138
+ end
139
+ end
49
140
50
141
# ## SimpleWeightedGraphs
51
142
get_weight (g:: WeightedRasterGraph , a:: Integer , b:: Integer ) = get_weight (g. graph, a, b)
0 commit comments