Most important classes
SimStadtApp
eu.simstadt.desktop.SimStadtApp
is the class which defines the SimStadt GUI.
package eu.simstadt.desktop;
public class SimStadtApp extends WorkflowApplication{
...
Run it as Java from Eclipse to start the GUI.
SimStadtCommandLineInterface
SimStadtCommandLineInterface
is the class which can run workflows from the command line.
package eu.simstadt.desktop;
/*
* Utility class to launch a SimStadt Workflow without GUI.
* Repository, Projects and Workflows must already be present (either written by another script or created and saved by SimStadt-Desktop).
*/
public class SimStadtCommandLineInterface{
...
SimStadtModel
SimStadtModel
is a CityGML file which has been parsed and converted to SimStadt data model.
package eu.simstadt.datamodel;
public class SimStadtModel{
...
SimStadtBuilding
SimStadtBuilding
is a CityGML building which has been parsed and converted to SimStadt data model.
package eu.simstadt.datamodel;
public class SimStadtBuilding{
...
CityGmlWorkflow
CityGmlWorkflow
is a top level workflow, which can be used in order to build a new Workflow. Output is generic (but will most often be SimStadtModel), input is a stream of CityGml files.
package eu.simstadt.workflows;
/**
* Special top level workflow for processing CityGml files with the given output type (e.g. SimStadtModel)
*
* @param <Y>
*/
public class CityGmlWorkflow<Y> extends TopLevelWorkflow<File, Y>{
...
For example, in PhotovoltaicPotentialAnalysisWorkflowProvider
:
@Override
public CityGmlWorkflow<SimStadtModel> buildWorkflow() {
return new CityGmlWorkflow<>(WorkflowBuilder
.start(new ImportCityGml())
.next(new CreateSimStadtModel())
.next(new Preprocessing(WorkflowBuilder
.start(new GeometricPreprocessor())))
.next(new WeatherProcessor())
.next(new IrradianceProcessor())
.next(new PhotovoltaicPotential()));
}