HAL Id: hal-00831823
https://hal.inria.fr/hal-00831823
Submitted on 7 Jun 2013
HAL is a multi-disciplinary open access
archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.
L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.
Openalea - visual programming and component based software for plant modeling
Christophe Pradal, Samuel Dufour-Kowalski
To cite this version:
Christophe Pradal, Samuel Dufour-Kowalski. Openalea - visual programming and component based software for plant modeling. EuroPython 2007, 2007, Vilnius, Lithuania. 2007. �hal-00831823�
123456789AB95CC2DB75DE7FACADD7
53E73A597A9765D7CAE62DB
74A49A56327F7895E56
865D7%AE62DB
12345624 789A9B8C3AD9EF2C4D3D 8262D4C3A24 3A484 85A389DDA56884C8A836D
624236C
8453A8389 78948C4 962426 13238C489A6C3
1&EA'73A642AD37A975'79A6C
2 (A7943 1%AE637597E22'467A72D9'ADD'
2 ()7A332262237A97(7CAE63 129D737A75'A9372D77'ACC4D2
2 *6A937+7%AE6937+7,39332BD792D'263
18AD753757B64
2 FACCAD7CAE62DB765DB45B 2 8AD732C62'27-73'2D22'76295923 2 .DB957/232DB73A59370F+F--71A995D2 1FADD'567'ACADD3
2 &4ADACA437+7343567 2 42B76*6733DA9759A5'7 112345679AB95CC2DB
2 1234567993D52AD7A757CAE6365E76A9
11232AD+129
705DD9777567#"2
2 12345679AB95CC2DB7A972A2DA9C52'3 1895DB7
0C359777567#92
2 12345679AB95CC2DB7A97E557C2D2DB 1DA4B77:9523,.
2 &4AC52'72EB7BD952AD753E7AD7952312345657
08;92 266226 8B24 !3C"3B2 133B26 #92D$896 %33D!99A %33A9 8E9A7CAE670<4332=975DE756718%7#$2FAD'3
1(AE
1FACADD762EB
1556A
1FACA327(AE
185'5B7%5D5B9
(AE7+7FACADD
NodeFactory( name='linearmodel', description='ax+b', category='models', nodemodule='simplemodel', nodeclass='linearmodel',) !96 77777D5C7>7?5? 777772D95'7>7.16A5 &92 DD777&7AD7'56656 77777.D43+844378A937054AC52'7A973'22E2 &923C96 D7777FACADD7C52DA9C52AD 7777755@76A5E2DB7A7CAE463 7777733AD3267A72D35D257DAEdef linearmodel(x=0., a=0., b=0): ''' return a*x+b '''
FACADD762EB3
&4AC52'5667BD95E ,37.D47A97.D95'37A77 ..D7.16A57.92DB7.126(5C7 .FA6A97.5237.2' 8592'4659762EB37 0129786A32 '(556A
,397EA'4CD52AD727B952'567/75DDA52AD37 *56452AD756BA92C7237CAE46597 75C893A70E9C2D232'2 7 8D9"2470DAD7E9C2D232'2 82AD5675493 75A8854706237'952AD2 7!68968D33B22 7)3D2*3A53897 7'EF2CDC9 7 #92CD&924D8D3D862C2DB63FACA327(AE3
FACA32+%5'9A7(AE37 D'53465757E556A 7%5D5B7'AC6/2 7/A9E75378AD7'AE 12342567892A8BCD72EF1 2222222222222C38345675894A2 A85DE6476234BCDEF726728728922826D4A2 2222222222222DC782EF3458D4A2A2D344A 222222222222264753467DCF8C42CA2478C424 4!"A 2222222222222274753467DCF8C427CA2478C424#$% 4!A2 2222222222222222222222467DCF8C427CA2478C424#$%&4!"A 222222222222287CD72EF32&2148D8'8D4A24894(A2 222222222222222222222222222)2148D8'8D4A24674(A2 222222222222222222222222222*2148D8'+,D74A24+F67D4(2!A 222287D28D76253-21)A2-A2*A2-(A2 214..67..4A2-A2&A2-(A2 7FACA327(AE7 777777777B7FACA32762EB85'5B7%5D5B9
1 (AE37597B9A4E7 2 85'5B7054A93762'D32 2 F5BA9 1 5A5E75'5B37AD7EC5DE 1 3359'75DE7/'47C956572637A4DE7AD77 33C7014497437A734AA637D9DA2D32
1 59'7DAE377D5C7E3'922AD7'5BA97 1 .D35D252AD72795B5DE9A&667AD75'5B37'5D7E'65978D&657
'ACADD3
557%5D5BCD
1 5578AA6 2 FAD52D97A7B6A5672D35D'3 2 95B75DE79A7A952AD3 1 557'AD*932AD7D7DAE37 2 <53E7AD72D95'3+5E593 1 557893235D' 2 82'62DB8AD73'922DB
1
12345679AB95CC2DB7A972B76*67CAE62DB
2 A7DA7965'7AD73'922DB
1
5A5*672D95'2AD
2 .D9997A7&''337E29'67A7AD7AE'
2 8D7767'AE7E22AD75DE7DAE7'952AD
8D&65F556AB
:
%5 14D'2AD
4A7A795757CAE46
from openalea.core import *
def register_package(pkgmanager): pkg = Package('my_pkg', {'version':'0.0.1', 'license':'Python'}, ) nf = Factory( name="cos", inputs=[{'name':'x', 'interface':IFloat},], outputs=[{'name':'y', 'interface':IFloat},], nodemodule="math", nodeclass="cos",) pkg.add_factory(nf) 9565 C57A E7'A30/A6A52A7949D76A5
6ACD7A7<426E2DB
18D&65FAD3F
2 2C6277426E7A7'AC6/7C46265A9C75'5B3 2 42E77'AC6/27A77426E733C 2 7A2AD3+65B37A97E29D7AA6375DE7'AC26937 2 &EE7DA6EB75A47/232DB7AA637033C7EDED2ALEAConfig(name, ['boost_python', 'alea', 'qt4', 'opengl']) src = ALEAGlob('*.cpp')
inc = ALEAGlob('*.h')
ALEAInclude('mylib', inc) ALEALibrary('mylib', src)
6ACD7A7.D35662DB
18D&6523F
2 .D35667359E7ED5C2'762959237E5575DE7562'52AD7 03A9'437D*29ADCD7*5925632 2 ,37FAD3F753757426E733C 2 /DE7234263704AA637C2B952AD7G2 setup( name=name, version=version, ... scons_scripts=['SConstruct'], scons_parameters=["build","build_prefix="+build_prefix], external_data={pj('test', name) : 'test',pj('lib'): pj(build_prefix,'lib'), ... }, set_win_var=['PATH='+ ... ],
set_lsb_var=['LD_LIBRARY_PATH='+ ...],
win_shortcuts=[...], freedesk_shortcuts=[...] ... )