def potted_syrah(): """Returns an `openalea.mtg` representing a potted syrah grapevine.""" digit = join(sources_dir, 'grapevine_pot.csv') g = architecture.vine_mtg(digit) # Local Coordinates Correction for v in traversal.iter_mtg2(g, g.root): n = g.node(g.Trunk(v, Scale=1)[0]) theta = 180 if int(n.index()) < 200 else -90 if int(n.index()) < 300 else 0 architecture.vine_orientation(g, v, theta, local_rotation=True) # rotation for v in traversal.iter_mtg2(g, g.root): architecture.vine_orientation(g, v, 90., local_rotation=False) for v in traversal.iter_mtg2(g, g.root): architecture.vine_phyto_modular(g, v) architecture.vine_mtg_properties(g, v) architecture.vine_mtg_geometry(g, v) architecture.vine_transform(g, v) return g
"""This is an example on running HydroShoot on a potted grapevine with a simple shoot architecture. """ from os import getcwd from openalea.mtg import traversal from openalea.plantgl.all import Scene from hydroshoot import architecture, display, model # ============================================================================= # Construct the plant mock-up # ============================================================================= # Path for plant digitalization data. g = architecture.vine_mtg('grapevine_pot.csv') # Local Coordinates Correction for v in traversal.iter_mtg2(g, g.root): n = g.node(g.Trunk(v, Scale=1)[0]) theta = 180 if int(n.index()) < 200 else -90 if int(n.index()) < 300 else 0 architecture.vine_orientation(g, v, theta, local_rotation=True) # Scene rotation for v in traversal.iter_mtg2(g, g.root): architecture.vine_orientation(g, v, 90., local_rotation=False) for v in traversal.iter_mtg2(g, g.root): architecture.vine_phyto_modular(g, v) architecture.vine_mtg_properties(g, v) architecture.vine_mtg_geometry(g, v)
"""This is an example on running HydroShoot on a potted grapevine with a simple shoot architecture. """ from os import getcwd from openalea.mtg import traversal from openalea.plantgl.all import Scene from hydroshoot import architecture, display, model # ============================================================================= # Construct the plant mock-up # ============================================================================= # Path for plant digitalization data. g = architecture.vine_mtg('digit.input') # Local Coordinates Correction for v in traversal.iter_mtg2(g, g.root): architecture.vine_phyto_modular(g, v) architecture.vine_axeII(g, v, pruning_type='avg_field_model', N_max=6, insert_angle=90, N_max_order=6) architecture.vine_petiole(g, v, pet_ins=90., pet_ins_cv=0., phyllo_angle=180.)