BowlerKernel
IMobileBaseUI.java
Go to the documentation of this file.
1 package com.neuronrobotics.bowlerstudio.creature;
2 
3 import java.io.File;
4 import java.util.ArrayList;
5 import java.util.Arrays;
6 import java.util.Collection;
7 import java.util.Collections;
8 import java.util.List;
9 import java.util.Set;
10 import eu.mihosoft.vrl.v3d.CSG;
11 import javafx.scene.transform.Affine;
12 
13 public interface IMobileBaseUI {
14 
21  void setAllCSG(Collection<CSG> toAdd, File source);
22 
29  void addCSG(Collection<CSG> toAdd, File source);
30 
37  void highlightException(File fileEngineRunByName, Throwable ex);
38 
44  Set<CSG> getVisibleCSGs();
45 
53  void setSelectedCsg(Collection<CSG> selectedCsg);
54 
55  void setSelected(Affine rootListener);
56 
57  default void selectCsgByFile(File script, int lineNumber){
58  List<CSG> objsFromScriptLine = new ArrayList<>();
59 
60  // check all visible CSGs
61  for (CSG checker : getVisibleCSGs()) {
62  for (String trace : checker.getCreationEventStackTraceList()) {
63  String[] traceParts = trace.split(":");
64  if (traceParts[0].trim().toLowerCase()
65  .contains(script.getName().toLowerCase().trim())) {
66  int num = Integer.parseInt(traceParts[1].trim());
67 
68  if (num == lineNumber) {
69  objsFromScriptLine.add(checker);
70  }
71  }
72  }
73  }
74 
75  if (objsFromScriptLine.size() > 0) {
76  setSelectedCsg(objsFromScriptLine);
77  }
78  }
79 
80  default void setCsg(CSG toAdd, File source){
81  setAllCSG(Collections.singletonList(toAdd), source);
82  }
83 
84  default void setCsg(List<CSG> toAdd){
85  setAllCSG(toAdd, null);
86  }
87 
88  default void setCsg(CSG toAdd){
89  setAllCSG(Collections.singletonList(toAdd), null);
90  }
91 
92  default void setCsg(MobileBaseCadManager thread, File cadScript){
93  setAllCSG(thread.getAllCad(), cadScript);
94  }
95 
96  default void addCsg(CSG toAdd, File source){
97  addCSG(Collections.singletonList(toAdd), source);
98  }
99 
100 
101 
102 
103 
104 }
default void setCsg(CSG toAdd, File source)
void setSelectedCsg(Collection< CSG > selectedCsg)
default void setCsg(MobileBaseCadManager thread, File cadScript)
default void selectCsgByFile(File script, int lineNumber)
void setAllCSG(Collection< CSG > toAdd, File source)
void addCSG(Collection< CSG > toAdd, File source)
default void addCsg(CSG toAdd, File source)
void highlightException(File fileEngineRunByName, Throwable ex)