Files @ 311dea91a9b6
Branch filter:

Location: EI/VirtualLeaf/src/build_models/translate_plugin.pl

Michael Guravage
Merged Roeland's latest changes with my project file changes (16:3f0977faba37).

--
user: Michael Guravage <michael.guravage@cwi.nl>
branch merge
branch 'default'
changed src/Makefile
changed src/TutorialCode/Tutorial0/mymodel.cpp
changed src/TutorialCode/Tutorial0/mymodel.h
changed src/TutorialCode/Tutorial0/mymodel.pro
changed src/TutorialCode/Tutorial1/mymodel.cpp
changed src/TutorialCode/Tutorial1/mymodel.h
changed src/TutorialCode/Tutorial1/mymodel.pro
changed src/TutorialCode/Tutorial2/mymodel.cpp
changed src/TutorialCode/Tutorial2/mymodel.h
changed src/TutorialCode/Tutorial2/mymodel.pro
changed src/TutorialCode/Tutorial3/mymodel.cpp
changed src/TutorialCode/Tutorial3/mymodel.h
changed src/TutorialCode/Tutorial3/mymodel.pro
changed src/TutorialCode/Tutorial4/mymodel.cpp
changed src/TutorialCode/Tutorial4/mymodel.h
changed src/TutorialCode/Tutorial4/mymodel.pro
changed src/TutorialCode/Tutorial5/mymodel.cpp
changed src/TutorialCode/Tutorial5/mymodel.h
changed src/TutorialCode/Tutorial5/mymodel.pro
changed src/VirtualLeaf.pro
changed src/VirtualLeafpar.tmpl
changed src/build_models/Makefile
changed src/build_models/auxingrowthplugin.cpp
changed src/build_models/auxingrowthplugin.h
changed src/build_models/leafplugin.cpp
changed src/build_models/leafplugin.h
changed src/build_models/meinhardtplugin.cpp
changed src/build_models/meinhardtplugin.h
changed src/build_models/plugin_auxingrowth.pro
changed src/build_models/plugin_leaf.pro
changed src/build_models/plugin_meinhardt.pro
changed src/build_models/plugin_test.pro
changed src/build_models/testplugin.cpp
changed src/build_models/testplugin.h
changed src/build_models/translate_plugin.pl
changed src/cell.cpp
changed src/cellbase.h
changed src/libplugin.pro
changed src/mesh.cpp
changed src/mesh.h
changed src/modelcatalogue.cpp
changed src/simplugin.h
removed src/build_models/simplugin.h
#!/usr/bin/perl

$cfilename = shift(@ARGV) || die "Usage: translate_plugin.pl [cfile] [hfile] [profile]\n";
$hfilename = shift(@ARGV) || die "Usage: translate_plugin.pl [cfile] [hfile] [profile]\n";
$pfilename = shift(@ARGV) || die "Usage: translate_plugin.pl [cfile] [hfile] [profile]\n";

$ocfname = $cfilename; $ocfname =~ s/\.cpp/_tl.cpp/g;
$ohfname = $hfilename; $ohfname =~ s/\.h/_tl.h/g;
$opfname = $pfilename; $opfname =~ s/\.pro/_tl.pro/g;

print STDERR "Translating '$cfilename' to '$ocfname', '$hfilename' to '$ohfname', and '$pfilename' to '$opfname'\n";

open cfile,"<$cfilename";
open ocfile,">$ocfname";

while (<cfile>) {
	
	#s/$hfilename/$ohfname/g;
    
	# translate function definitions
	if (/[a-zA-Z0-9 ]*::OnDivide/) {
		s/ParentInfo &parent_info/ParentInfo *parent_info/g;
		s/CellBase &daughter1/CellBase *daughter1/g;
		s/CellBase &daughter2/CellBase *daughter2/g;
	}
	
	if (/[a-zA-Z0-9 ]*::SetCellColor/) {
		s/CellBase &c/CellBase *c/g;
		s/QColor &color/QColor *color/g;
	}
	
	if (/[a-zA-Z0-9 ]*::CellHouseKeeping/) {
		s/CellBase &c/CellBase *c/g;
	}
	
	# translate member function calls
	s/\bparent_info\b\./parent_info->/g;
	s/\bdaughter1\b\./daughter1->/g;
	s/\bdaughter2\b\./daughter2->/g;
	s/\bc\b\./c->/g;
	s/\bcolor\b\./color->/g;
	print ocfile;
	
}

open hfile,"<$hfilename";
open ohfile,">$ohfname";

while (<hfile>) {
	if (/[ \t]*virtual[ \t]+void[ \t]+CellHouseKeeping/) {
		s/CellBase &c/CellBase *c/g;
	}
	if (/[ \t]*virtual[ \t]+void[ \t]+OnDivide/) {
		s/ParentInfo &parent_info/ParentInfo *parent_info/g;
		s/CellBase &daughter1/CellBase *daughter1/g;
		s/CellBase &daughter2/CellBase *daughter2/g;
	}
	if (/[ \t]*virtual[ \t]+void[ \t]+SetCellColor/) {
		s/CellBase &c/CellBase *c/g;
		s/QColor &color/QColor *color/g;
	}
	
	
	print ohfile;
	
}

open pfile,"<$pfilename";
open opfile,">$opfname";

while (<pfile>) {
	
	s/\bplugin\b\.h/plugin_tl\.h/g;
	s/\bplugin\b\.cpp/plugin_tl\.cpp/g;
	
	print opfile;
	
}