]> gerrit.simantics Code Review - simantics/platform.git/blob - bundles/org.simantics.modeling/scl/Simantics/Simulation.scl
Fixed multiple issues causing dangling references to discarded queries
[simantics/platform.git] / bundles / org.simantics.modeling / scl / Simantics / Simulation.scl
1 import "Simantics/Variables"
2
3 importJava "org.simantics.simulation.experiment.ExperimentUtil" where
4     @JavaName simulate
5     simulate :: Boolean -> <Proc> ()
6     stepExperiment :: IExperiment -> Double -> <Proc> ()
7     simulateExperiment :: IExperiment -> Boolean -> <Proc> ()
8     disposeExperiment :: IExperiment -> <Proc> ()
9     refreshExperiment :: IExperiment -> <ReadGraph> ()
10     getExperimentState :: IExperiment -> <ReadGraph> ExperimentState
11     possibleActiveRunVariable ::Resource -> <ReadGraph> Maybe Variable
12     activateExperiment :: Resource -> <WriteGraph> Resource
13     createExperimentRun :: Resource -> <WriteGraph> Resource
14     createExperimentRunWithType :: Resource -> Resource -> <WriteGraph> Resource
15     activateRun :: Resource -> <WriteGraph> ()
16
17 activateExperimentAction :: Resource -> <Proc> ()
18 activateExperimentAction experiment = do
19   syncWrite (\() -> activateExperiment experiment)
20   ()
21     
22 importJava "org.simantics.simulation.experiment.IExperiment" where
23     data IExperiment
24
25 importJava "org.simantics.simulation.experiment.ExperimentState" where
26     data ExperimentState
27     INITIALIZING, RUNNING, STOPPED, DISPOSED :: ExperimentState
28     
29 experimentFromRun :: Variable -> <ReadGraph> IExperiment
30 experimentFromRun run = (run#iExperiment) :: IExperiment