Skip to content

Commit a8f5520

Browse files
committed
up to MultiScaleTreeGraph v0.15.0
1 parent c099ae5 commit a8f5520

21 files changed

Lines changed: 61 additions & 60 deletions

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,8 +26,8 @@ DataFrames = "1"
2626
Dates = "1.9"
2727
FLoops = "0.2"
2828
Markdown = "1.9"
29-
MultiScaleTreeGraph = "0.13, 0.14"
30-
PlantMeteo = "0.7"
29+
MultiScaleTreeGraph = "0.15"
30+
PlantMeteo = "0.8"
3131
SHA = "0.7.0"
3232
Statistics = "1.9"
3333
Tables = "1"

docs/src/multiscale/multiscale_coupling.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ mapping = ModelMapping(
111111
The model's constructor provides convenient default names for the scale corresponding to the reproductive organs. A user may override that if their naming schemes or MTG attributes differ.
112112

113113
```julia
114-
function ReproductiveOrganEmission(mtg::MultiScaleTreeGraph.Node; phytomer_symbol="Phytomer", male_symbol="Male", female_symbol="Female")
114+
function ReproductiveOrganEmission(mtg::MultiScaleTreeGraph.Node; phytomer_symbol=:Phytomer, male_symbol=:Male, female_symbol=:Female)
115115
...
116116
end
117117
```
@@ -168,4 +168,4 @@ function PlantSimEngine.run!(m::ReproductiveOrganEmission, models, status, meteo
168168
...
169169
end
170170
end
171-
```
171+
```

docs/src/multiscale/multiscale_example_1.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,7 @@ Let's first define a helper function that iterates across a Multiscale Tree Grap
119119
```@example usepkg
120120
function get_n_leaves(node::MultiScaleTreeGraph.Node)
121121
root = MultiScaleTreeGraph.get_root(node)
122-
nleaves = length(MultiScaleTreeGraph.traverse(root, x->1, symbol="Leaf"))
122+
nleaves = length(MultiScaleTreeGraph.traverse(root, x->1, symbol=:Leaf))
123123
return nleaves
124124
end
125125
```

docs/src/multiscale/multiscale_example_2.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ end
3838
3939
function get_n_leaves(node::MultiScaleTreeGraph.Node)
4040
root = MultiScaleTreeGraph.get_root(node)
41-
nleaves = length(MultiScaleTreeGraph.traverse(root, x->1, symbol="Leaf"))
41+
nleaves = length(MultiScaleTreeGraph.traverse(root, x->1, symbol=:Leaf))
4242
return nleaves
4343
end
4444
```
@@ -78,12 +78,12 @@ It also makes use of a couple of helper functions to find the end root and compu
7878
```@example usepkg
7979
function get_root_end_node(node::MultiScaleTreeGraph.Node)
8080
root = MultiScaleTreeGraph.get_root(node)
81-
return MultiScaleTreeGraph.traverse(root, x->x, symbol="Root", filter_fun = MultiScaleTreeGraph.isleaf)
81+
return MultiScaleTreeGraph.traverse(root, x->x, symbol=:Root, filter_fun = MultiScaleTreeGraph.isleaf)
8282
end
8383
8484
function get_roots_count(node::MultiScaleTreeGraph.Node)
8585
root = MultiScaleTreeGraph.get_root(node)
86-
return length(MultiScaleTreeGraph.traverse(root, x->x, symbol="Root"))
86+
return length(MultiScaleTreeGraph.traverse(root, x->x, symbol=:Root))
8787
end
8888
8989
PlantSimEngine.@process "root_growth" verbose = false

docs/src/multiscale/multiscale_example_3.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,17 +7,17 @@ using PlantMeteo, CSV, DataFrames
77
using MultiScaleTreeGraph
88
function get_root_end_node(node::MultiScaleTreeGraph.Node)
99
root = MultiScaleTreeGraph.get_root(node)
10-
return MultiScaleTreeGraph.traverse(root, x->x, symbol="Root", filter_fun = MultiScaleTreeGraph.isleaf)
10+
return MultiScaleTreeGraph.traverse(root, x->x, symbol=:Root, filter_fun = MultiScaleTreeGraph.isleaf)
1111
end
1212
1313
function get_roots_count(node::MultiScaleTreeGraph.Node)
1414
root = MultiScaleTreeGraph.get_root(node)
15-
return length(MultiScaleTreeGraph.traverse(root, x->x, symbol="Root"))
15+
return length(MultiScaleTreeGraph.traverse(root, x->x, symbol=:Root))
1616
end
1717
1818
function get_n_leaves(node::MultiScaleTreeGraph.Node)
1919
root = MultiScaleTreeGraph.get_root(node)
20-
nleaves = length(MultiScaleTreeGraph.traverse(root, x->1, symbol="Leaf"))
20+
nleaves = length(MultiScaleTreeGraph.traverse(root, x->1, symbol=:Leaf))
2121
return nleaves
2222
end
2323

docs/src/multiscale/multiscale_example_4.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -116,7 +116,7 @@ function add_geometry!(mtg, refmesh_internode)
116116
internode_length = 1.0
117117

118118
traverse!(mtg) do node
119-
if symbol(node) == "Internode"
119+
if symbol(node) == :Internode
120120
# Set to scale, then translate by the total height
121121
mesh_transformation = Meshes.Scale(internode_width, internode_width, internode_length) Meshes.Translate(0.0, 0.0, internode_height)
122122
node.geometry = PlantGeom.Geometry(ref_mesh=refmesh_internode, transformation=mesh_transformation)
@@ -177,7 +177,7 @@ function add_geometry!(mtg, refmesh_internode, refmesh_root, refmesh_leaf)
177177
i = 0
178178

179179
traverse!(mtg) do node
180-
if symbol(node) == "Internode"
180+
if symbol(node) == :Internode
181181
# Set to scale, then translate by the total height
182182
mesh_transformation = Meshes.Scale(internode_width, internode_width, internode_length) Meshes.Translate(0.0, 0.0, internode_height)
183183
node.geometry = PlantGeom.Geometry(ref_mesh=refmesh_internode, transformation=mesh_transformation)
@@ -186,7 +186,7 @@ function add_geometry!(mtg, refmesh_internode, refmesh_root, refmesh_leaf)
186186

187187
# Leaves are placed relatively to the parent internode, halfway along it
188188
for chnode in children(node)
189-
if symbol(chnode) == "Leaf"
189+
if symbol(chnode) == :Leaf
190190
mesh_transformation = Meshes.Scale(leaf_scale_width, leaf_scale_width, leaf_scale_height) Meshes.Rotate(RotX(-MathConstants.pi / 6.0)) Meshes.Translate(0.0, -internode_width, internode_height - internode_length / 2.0) Meshes.Rotate(RotZ(leaf_rotation))
191191
chnode.geometry = PlantGeom.Geometry(ref_mesh=refmesh_leaf, transformation=mesh_transformation)
192192
# Set the second leaf in a pair opposite to the first one => add a 180° rotation
@@ -202,7 +202,7 @@ function add_geometry!(mtg, refmesh_internode, refmesh_root, refmesh_leaf)
202202
leaf_rotation = MathConstants.pi
203203
end
204204

205-
elseif symbol(node) == "Root"
205+
elseif symbol(node) == :Root
206206
mesh_transformation = Meshes.Scale(root_width, root_width, root_length) Meshes.Translate(0.0, 0.0, root_depth) Meshes.Rotate(RotZ(MathConstants.pi))
207207
node.geometry = PlantGeom.Geometry(ref_mesh=refmesh_root, transformation=mesh_transformation)
208208
root_depth -= root_length

examples/ToyMultiScalePlantTutorial/ToyPlantSimulation1.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
function get_n_leaves(node::MultiScaleTreeGraph.Node)
88
root = MultiScaleTreeGraph.get_root(node)
9-
nleaves = length(MultiScaleTreeGraph.traverse(root, x -> 1, symbol="Leaf"))
9+
nleaves = length(MultiScaleTreeGraph.traverse(root, x -> 1, symbol=:Leaf))
1010
return nleaves
1111
end
1212

@@ -137,4 +137,4 @@ meteo_day = CSV.read(joinpath(pkgdir(PlantSimEngine), "examples/meteo_day.csv"),
137137
outs = run!(mtg, mapping, meteo_day)
138138
mtg
139139

140-
length(MultiScaleTreeGraph.traverse(mtg, x -> x, symbol="Leaf"))
140+
length(MultiScaleTreeGraph.traverse(mtg, x -> x, symbol=:Leaf))

examples/ToyMultiScalePlantTutorial/ToyPlantSimulation2.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@
88

99
function get_root_end_node(node::MultiScaleTreeGraph.Node)
1010
root = MultiScaleTreeGraph.get_root(node)
11-
return MultiScaleTreeGraph.traverse(root, x -> x, symbol="Root", filter_fun=MultiScaleTreeGraph.isleaf)
11+
return MultiScaleTreeGraph.traverse(root, x -> x, symbol=:Root, filter_fun=MultiScaleTreeGraph.isleaf)
1212
end
1313

1414
function get_roots_count(node::MultiScaleTreeGraph.Node)
1515
root = MultiScaleTreeGraph.get_root(node)
16-
return length(MultiScaleTreeGraph.traverse(root, x -> x, symbol="Root"))
16+
return length(MultiScaleTreeGraph.traverse(root, x -> x, symbol=:Root))
1717
end
1818

1919
function get_n_leaves(node::MultiScaleTreeGraph.Node)
2020
root = MultiScaleTreeGraph.get_root(node)
21-
nleaves = length(MultiScaleTreeGraph.traverse(root, x -> 1, symbol="Leaf"))
21+
nleaves = length(MultiScaleTreeGraph.traverse(root, x -> 1, symbol=:Leaf))
2222
return nleaves
2323
end
2424

@@ -232,4 +232,4 @@ outs = run!(mtg, mapping, meteo_day)
232232
mtg
233233

234234

235-
length(MultiScaleTreeGraph.traverse(mtg, x -> x, symbol="Leaf"))
235+
length(MultiScaleTreeGraph.traverse(mtg, x -> x, symbol=:Leaf))

examples/ToyMultiScalePlantTutorial/ToyPlantSimulation3.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -8,17 +8,17 @@
88

99
function get_root_end_node(node::MultiScaleTreeGraph.Node)
1010
root = MultiScaleTreeGraph.get_root(node)
11-
return MultiScaleTreeGraph.traverse(root, x -> x, symbol="Root", filter_fun=MultiScaleTreeGraph.isleaf)
11+
return MultiScaleTreeGraph.traverse(root, x -> x, symbol=:Root, filter_fun=MultiScaleTreeGraph.isleaf)
1212
end
1313

1414
function get_roots_count(node::MultiScaleTreeGraph.Node)
1515
root = MultiScaleTreeGraph.get_root(node)
16-
return length(MultiScaleTreeGraph.traverse(root, x -> x, symbol="Root"))
16+
return length(MultiScaleTreeGraph.traverse(root, x -> x, symbol=:Root))
1717
end
1818

1919
function get_n_leaves(node::MultiScaleTreeGraph.Node)
2020
root = MultiScaleTreeGraph.get_root(node)
21-
nleaves = length(MultiScaleTreeGraph.traverse(root, x -> 1, symbol="Leaf"))
21+
nleaves = length(MultiScaleTreeGraph.traverse(root, x -> 1, symbol=:Leaf))
2222
return nleaves
2323
end
2424

@@ -248,4 +248,4 @@ outs = run!(mtg, mapping, meteo_day)
248248
mtg
249249

250250

251-
length(MultiScaleTreeGraph.traverse(mtg, x -> x, symbol="Leaf"))
251+
length(MultiScaleTreeGraph.traverse(mtg, x -> x, symbol=:Leaf))

examples/ToyMultiScalePlantTutorial/ToyPlantSimulation4.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -67,7 +67,7 @@ function add_geometry!(mtg, refmesh_internode)
6767
internode_length = 1.0
6868

6969
traverse!(mtg) do node
70-
if symbol(node) == "Internode"
70+
if symbol(node) == :Internode
7171
# Set to scale, then translate by the total height
7272
mesh_transformation = Meshes.Scale(internode_width, internode_width, internode_length) Meshes.Translate(0.0, 0.0, internode_height)
7373
node.geometry = PlantGeom.Geometry(ref_mesh=refmesh_internode, transformation=mesh_transformation)
@@ -107,7 +107,7 @@ function add_geometry!(mtg, refmesh_internode, refmesh_root, refmesh_leaf)
107107
i = 0
108108

109109
traverse!(mtg) do node
110-
if symbol(node) == "Internode"
110+
if symbol(node) == :Internode
111111
# Set to scale, then translate by the total height
112112
mesh_transformation = Meshes.Scale(internode_width, internode_width, internode_length) Meshes.Translate(0.0, 0.0, internode_height)
113113
node.geometry = PlantGeom.Geometry(ref_mesh=refmesh_internode, transformation=mesh_transformation)
@@ -116,7 +116,7 @@ function add_geometry!(mtg, refmesh_internode, refmesh_root, refmesh_leaf)
116116

117117
# Leaves are placed relatively to the parent internode
118118
for chnode in children(node)
119-
if symbol(chnode) == "Leaf"
119+
if symbol(chnode) == :Leaf
120120
# Leaves are placed halfway along the the parent internode
121121
mesh_transformation = Meshes.Scale(leaf_scale_width, leaf_scale_width, leaf_scale_height) Meshes.Rotate(RotX(-MathConstants.pi / 6.0)) Meshes.Translate(0.0, -internode_width, internode_height - internode_length / 2.0) Meshes.Rotate(RotZ(leaf_rotation))
122122
chnode.geometry = PlantGeom.Geometry(ref_mesh=refmesh_leaf, transformation=mesh_transformation)
@@ -133,7 +133,7 @@ function add_geometry!(mtg, refmesh_internode, refmesh_root, refmesh_leaf)
133133
leaf_rotation = MathConstants.pi
134134
end
135135

136-
elseif symbol(node) == "Root"
136+
elseif symbol(node) == :Root
137137
mesh_transformation = Meshes.Scale(root_width, root_width, root_length) Meshes.Translate(0.0, 0.0, root_depth) Meshes.Rotate(RotZ(MathConstants.pi))
138138
node.geometry = PlantGeom.Geometry(ref_mesh=refmesh_root, transformation=mesh_transformation)
139139
root_depth -= root_length

0 commit comments

Comments
 (0)