@@ -5,10 +5,9 @@ import LightGraphs:
5
5
inneighbors, outneighbors, is_directed, add_edge!
6
6
7
7
import SimpleWeightedGraphs:
8
- add_edge!, get_weight
8
+ add_edge!, get_weight, add_vertex!, vertices
9
9
10
- import Base:
11
- eltype, zero
10
+ import Base: zero
12
11
13
12
# ## LightGraphs interface
14
13
nv (g:: AbstractSpatialGraph ) = nv (g. graph)
@@ -22,8 +21,31 @@ has_vertex(g::AbstractSpatialGraph, v) = has_vertex(g.graph, v)
22
21
inneighbors (g:: AbstractSpatialGraph , v) = inneighbors (g. graph, v)
23
22
outneighbors (g:: AbstractSpatialGraph , v) = outneighbors (g. graph, v)
24
23
is_directed (g:: AbstractSpatialGraph ) = is_directed (g. graph)
25
- zero (g:: AbstractSpatialGraph ) = zero (g. graph)
24
+ function Base. zero (g:: AbstractRasterGraph )
25
+ if g. graph isa SimpleGraph
26
+ SimpleRasterGraph (
27
+ zero (typeof (g. graph)),
28
+ g. vertex_raster
29
+ )
30
+ elseif g. graph isa SimpleDiGraph
31
+ SimpleRasterDiGraph (
32
+ zero (typeof (g. graph)),
33
+ g. vertex_raster
34
+ )
35
+ elseif g. graph isa SimpleWeightedGraph
36
+ WeightedRasterGraph (
37
+ SimpleWeightedGraph {eltype(g.graph), weighttype(g.graph)} (),
38
+ g. vertex_raster
39
+ )
40
+ elseif g. graph isa SimpleWeightedDiGraph
41
+ WeightedRasterDiGraph (
42
+ SimpleWeightedDiGraph {eltype(g.graph), weighttype(g.graph)} (),
43
+ g. vertex_raster
44
+ )
45
+ end
46
+ end
26
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)
27
49
28
50
# ## SimpleWeightedGraphs
29
51
get_weight (g:: WeightedRasterGraph , a:: Integer , b:: Integer ) = get_weight (g. graph, a, b)
0 commit comments