aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-05-12 18:12:01 +0200
committerLibravatar OszkarSemerath <oszkar.semerath@gmail.com>2018-05-12 18:12:01 +0200
commitc92e54135133ffc682fd2e73c1c9ae4b652a338a (patch)
treebf6e864249a1ee29628def19b9c7cb168f72793e
parentRun config for application (diff)
downloadVIATRA-Generator-c92e54135133ffc682fd2e73c1c9ae4b652a338a.tar.gz
VIATRA-Generator-c92e54135133ffc682fd2e73c1c9ae4b652a338a.tar.zst
VIATRA-Generator-c92e54135133ffc682fd2e73c1c9ae4b652a338a.zip
Visualiser queue started
-rw-r--r--Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/src/hu/bme/mit/inf/dslreasoner/visualisation/pi2graphviz/PartialInterpretation2Graphviz.xtend28
1 files changed, 14 insertions, 14 deletions
diff --git a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/src/hu/bme/mit/inf/dslreasoner/visualisation/pi2graphviz/PartialInterpretation2Graphviz.xtend b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/src/hu/bme/mit/inf/dslreasoner/visualisation/pi2graphviz/PartialInterpretation2Graphviz.xtend
index 95e1f74d..446a0686 100644
--- a/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/src/hu/bme/mit/inf/dslreasoner/visualisation/pi2graphviz/PartialInterpretation2Graphviz.xtend
+++ b/Solvers/VIATRA-Solver/hu.bme.mit.inf.dslreasoner.visualisation/src/hu/bme/mit/inf/dslreasoner/visualisation/pi2graphviz/PartialInterpretation2Graphviz.xtend
@@ -17,20 +17,18 @@ import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.par
17import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualisation 17import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualisation
18import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualiser 18import hu.bme.mit.inf.dslreasoner.viatrasolver.partialinterpretationlanguage.visualisation.PartialInterpretationVisualiser
19import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace 19import hu.bme.mit.inf.dslreasoner.workspace.ReasonerWorkspace
20import java.io.File 20import java.util.Collection
21import java.util.HashMap 21import java.util.HashMap
22import java.util.HashSet 22import java.util.HashSet
23import java.util.LinkedList 23import java.util.LinkedList
24import java.util.List 24import java.util.List
25import java.util.Random 25import java.util.Random
26import java.util.Set 26import java.util.Set
27import org.eclipse.xtext.xbase.lib.Functions.Function1
27 28
28import static guru.nidi.graphviz.model.Factory.* 29import static guru.nidi.graphviz.model.Factory.*
29 30
30import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.* 31import static extension hu.bme.mit.inf.dslreasoner.util.CollectionsUtil.*
31import java.awt.image.BufferedImage
32import java.util.Collection
33import org.eclipse.xtext.xbase.lib.Functions.Function1
34 32
35class GraphvizVisualisation implements PartialInterpretationVisualiser { 33class GraphvizVisualisation implements PartialInterpretationVisualiser {
36 34
@@ -244,10 +242,6 @@ class GraphvizVisualisation implements PartialInterpretationVisualiser {
244 } 242 }
245 } 243 }
246 private def average(Iterable<Integer> doubles) { return doubles.reduce[p1, p2|p1+p2]/doubles.size } 244 private def average(Iterable<Integer> doubles) { return doubles.reduce[p1, p2|p1+p2]/doubles.size }
247
248
249
250
251} 245}
252 246
253enum TypeColoringStyle { 247enum TypeColoringStyle {
@@ -255,6 +249,8 @@ enum TypeColoringStyle {
255} 249}
256 250
257class GraphvisVisualisation implements PartialInterpretationVisualisation { 251class GraphvisVisualisation implements PartialInterpretationVisualisation {
252 private static VisualisationQueque queue = new VisualisationQueque
253
258 val private Graph graph 254 val private Graph graph
259 255
260 public new(Graph graph) { 256 public new(Graph graph) {
@@ -262,11 +258,15 @@ class GraphvisVisualisation implements PartialInterpretationVisualisation {
262 } 258 }
263 259
264 override writeToFile(ReasonerWorkspace workspace, String name) { 260 override writeToFile(ReasonerWorkspace workspace, String name) {
265 val file = workspace.getFile('''«name».svg''') 261
266 //val bufferedImage = new BufferedImage 262 val file = workspace.getFile('''«name»''')
267 Graphviz.useEngine(new GraphvizV8Engine()); 263 queue.start
268 Graphviz.fromGraph(graph)//.engine(Engine::NEATO) 264 val future = queue.addTask(graph,file)
269 .render(Format.SVG_STANDALONE).toFile(file) 265 val message = future.get
270 workspace.refreshFile('''«name».svg''') 266 if(message===null) {
267 workspace.refreshFile('''«name»''')
268 } else {
269 // Do nothing
270 }
271 } 271 }
272} 272}