package jeeb.simeo.module.simeoeditor.scripts;
import java.util.List;
import jeeb.simeo.app.SimeoScript;
import jeeb.simeo.extension.export.archimed1.Archimed1ExportScriptStarter;
import jeeb.simeo.module.simeoeditor.model.EditoInitialParameters;
import jeeb.simeo.module.simeoeditor.model.EditoMockup;
import jeeb.simeo.module.simeoeditor.model.EditoScene;
import capsis.kernel.GScene;
import capsis.kernel.Step;
/**
* A Simeo script. Loads the given .ops scene file and sends it to the Archimed v1 radiative balance
* tool.
*
* Two ways to launch it:
*
*
* (1) sh simeo.sh -p script jeeb.simeo.module.simeoeditor.scripts.ScriptTristan2012
* (2) java -cp class:ext/* jeeb.simeo.module.simeoeditor.scripts.ScriptTristan2012
*
*
* See usage () below for expected parameters.
*
* @author F. de Coligny - 5.10.2012
*/
public class ScriptTristan2012 {
private static void usage () {
System.out.println ("Simeo-Edito: ScriptTristan2012");
System.out
.println (" Windows: simeo -p script jeeb.simeo.module.simeoeditor.scripts.ScriptTristan2012 opsFileName archimed1ConfigFileName");
System.out
.println (" Linux: sh simeo.sh -p script jeeb.simeo.module.simeoeditor.scripts.ScriptTristan2012 opsFileName archimed1ConfigFileName");
System.out.println (" -> needs two parameters: opsFileName and archimed1ConfigFileName");
}
/**
* Script entry point.
*/
public static void main (String[] args) throws Exception {
// Check script parameters
if (args == null || args.length != 3) { // 0: script name, 1: opsFileName 2:
// archimedConfigFileName
usage ();
return;
}
System.out.println ("ScriptTristan2012...");
// prefixes: r_ means 'relative path', a_ means 'absolute path'
String opsFileName = args[1]; // e.g. /home/coligny/workspace/amapstudio/tmp/tristan/tristan.ops
String archimed1ConfigFileName = args[2]; // e.g. /home/coligny/workspace/amapstudio/tmp/tristan/archimed1.config
System.out.println ("opsFileName : " + opsFileName);
System.out.println ("archimed1ConfigFileName: " + archimed1ConfigFileName);
// Create script
SimeoScript script = new SimeoScript ("jeeb.simeo.module.simeoeditor");
EditoInitialParameters i = (EditoInitialParameters) script.getModel ().getSettings ();
// Set Edito overwrite mode: the mockups files (.opf) will not be copied and will be
// overwritten
i.setEditoOverwriteMode ();
i.opsFileName = opsFileName;
// Init
System.out.println ("Loading scene... ");
script.init (i);
Step root = script.getRoot ();
GScene scene = root.getScene ();
// Check the first mockup files
EditoScene es = (EditoScene) scene;
List mockups = es.getElements ();
for (EditoMockup m : mockups) {
System.out.println ("Checking first mockup...");
System.out.println (" Mockup id: " + m.getId ());
System.out.println (" Mockup a_filePath_0: " + m.getA_FilePath_0 ());
System.out.println (" Mockup fileName_0: " + m.getFileName_0 ());
System.out.println (" Mockup a_filePath_1: " + m.getA_FilePath_1 ());
System.out.println (" Mockup r_filePath_1: " + m.getR_FilePath_1 ());
System.out.println (" Mockup fileName_1: " + m.getFileName_1 ());
System.out.println (" Mockup r_sceneDir : " + m.getR_SceneDir ());
System.out.println (" Mockup opf: " + m.getFile ("opf"));
for (String f : m.getFiles ()) {
System.out.println (" Mockup file: " + f);
}
break; // only the first one
}
// Export to Archimed1
Archimed1ExportScriptStarter s = new Archimed1ExportScriptStarter (es, archimed1ConfigFileName);
s.execute ();
// Close project
script.closeProject ();
System.out.println ("ScriptTristan2012 is over");
}
}
===== How to launch the script =====
Open a terminal, change directory to the amapstudio install directory, then type a command like the following (adapt for your ops and Archimed1 configuration file):