Skip to content

Commit 801c181

Browse files
committed
Update the MobilBaseCadManager to use an explicate database
1 parent ee745a9 commit 801c181

File tree

6 files changed

+37
-33
lines changed

6 files changed

+37
-33
lines changed

src/main/java/com/neuronrobotics/bowlerstudio/creature/AdjustbodyMassWidget.java

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import com.neuronrobotics.sdk.addons.kinematics.MobileBase;
44
import com.neuronrobotics.sdk.addons.kinematics.math.TransformNR;
55

6+
import eu.mihosoft.vrl.v3d.parametrics.CSGDatabase;
67
import javafx.scene.Group;
78
import javafx.scene.control.TextField;
89
import javafx.scene.layout.GridPane;
@@ -30,15 +31,15 @@ public AdjustbodyMassWidget(MobileBase device) {
3031
TextField mass = new TextField(CreatureLab.getFormatted(device.getMassKg()));
3132
mass.setOnAction(event -> {
3233
device.setMassKg(textToNum(mass));
33-
if(manager!=null)manager.generateCad();
34+
if(manager!=null)manager.generateCad(CSGDatabase.getInstance());
3435
});
3536
TransformNR currentCentroid = device.getCenterOfMassFromCentroid();
3637
TextField massx = new TextField(CreatureLab.getFormatted(currentCentroid.getX()));
3738
massx.setOnAction(event -> {
3839
currentCentroid.setX(textToNum(massx));
3940
device.setCenterOfMassFromCentroid(currentCentroid);
4041
;
41-
if(manager!=null)manager.generateCad();
42+
if(manager!=null)manager.generateCad(CSGDatabase.getInstance());
4243

4344
});
4445

@@ -47,7 +48,7 @@ public AdjustbodyMassWidget(MobileBase device) {
4748
currentCentroid.setY(textToNum(massy));
4849
device.setCenterOfMassFromCentroid(currentCentroid);
4950
;
50-
if(manager!=null)manager.generateCad();
51+
if(manager!=null)manager.generateCad(CSGDatabase.getInstance());
5152

5253
});
5354

@@ -56,7 +57,7 @@ public AdjustbodyMassWidget(MobileBase device) {
5657
currentCentroid.setZ(textToNum(massz));
5758
device.setCenterOfMassFromCentroid(currentCentroid);
5859
;
59-
if(manager!=null)manager.generateCad();
60+
if(manager!=null)manager.generateCad(CSGDatabase.getInstance());
6061

6162
});
6263

src/main/java/com/neuronrobotics/bowlerstudio/creature/CreatureLab.java

Lines changed: 9 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,8 @@
1414
import com.neuronrobotics.sdk.common.BowlerAbstractDevice;
1515
import com.neuronrobotics.sdk.util.ThreadUtil;
1616

17+
import eu.mihosoft.vrl.v3d.parametrics.CSGDatabase;
18+
import eu.mihosoft.vrl.v3d.parametrics.CSGDatabaseInstance;
1719
import javafx.beans.value.ChangeListener;
1820
import javafx.fxml.FXMLLoader;
1921
import javafx.geometry.Insets;
@@ -135,7 +137,7 @@ private void regenFromUiEvent() {
135137
timeSinceLastUpdate = System.currentTimeMillis();
136138
BowlerStudio.runLater(() -> {
137139
if (autoRegen.isSelected()) {
138-
generateCad();
140+
generateCad(CSGDatabase.getInstance());
139141
}
140142
});
141143
}
@@ -194,7 +196,7 @@ private void finishLoading(MobileBase device) {
194196
}
195197

196198
rootItemFinal.setExpanded(true);
197-
MobileBaseCadManager.get(device, BowlerStudioController.getMobileBaseUI());
199+
MobileBaseCadManager.get(CSGDatabase.getInstance(),device, BowlerStudioController.getMobileBaseUI());
198200
MobleBaseMenueFactory.load(device, tree, mainBaseFinal, callbackMapForTreeitems, widgetMapForTreeitems,
199201
this, true, creatureIsOwnedByUser);
200202
//tree.setPrefWidth(325);
@@ -257,7 +259,7 @@ private void finishLoading(MobileBase device) {
257259
radioOptions.add(rb2, 1, 2);
258260

259261
pi = new ProgressIndicator(0);
260-
baseManager = MobileBaseCadManager.get(device, BowlerStudioController.getMobileBaseUI());
262+
baseManager = MobileBaseCadManager.get(CSGDatabase.getInstance(),device, BowlerStudioController.getMobileBaseUI());
261263
pi.progressProperty().bindBidirectional(baseManager.getProcesIndictor());
262264

263265
radioOptions.add(pi, 1, 0);
@@ -335,12 +337,12 @@ private void setCadMode(boolean mode) {
335337

336338
}
337339

338-
public void generateCad() {
340+
public void generateCad(CSGDatabaseInstance db) {
339341
//new RuntimeException().printStackTrace();
340342
if(!enabled)
341343
return;
342344
disable();
343-
baseManager.generateCadWithEnd(()->{
345+
baseManager.generateCadWithEnd(db,()->{
344346
enable();
345347
autoRegen.setSelected(stateOfAutoWhenForced );
346348
});
@@ -351,7 +353,7 @@ public void onTabReOpening() {
351353
baseManager.run();
352354
try {
353355
if (autoRegen.isSelected())
354-
generateCad();
356+
generateCad(CSGDatabase.getInstance());
355357
} catch (Exception ex) {
356358

357359
}
@@ -370,7 +372,7 @@ public void onSliderMoving(EngineeringUnitsSliderWidget source, double newAngleD
370372
@Override
371373
public void onSliderDoneMoving(EngineeringUnitsSliderWidget source, double newAngleDegrees) {
372374
if (autoRegen.isSelected())
373-
generateCad();
375+
generateCad(CSGDatabase.getInstance());
374376
}
375377

376378
public BowlerJInputDevice getController() {

src/main/java/com/neuronrobotics/bowlerstudio/creature/LinkConfigurationWidget.java

Lines changed: 14 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import com.neuronrobotics.sdk.addons.kinematics.LinkType;
1212
import com.neuronrobotics.sdk.addons.kinematics.math.TransformNR;
1313

14+
import eu.mihosoft.vrl.v3d.parametrics.CSGDatabase;
1415
import javafx.application.Platform;
1516
import javafx.event.ActionEvent;
1617
import javafx.event.EventHandler;
@@ -63,7 +64,7 @@ public LinkConfigurationWidget(LinkConfiguration congiuration, LinkFactory facto
6364
activLink.setTargetEngineeringUnits(0);
6465
activLink.flush(0);
6566
if (manager != null)
66-
manager.generateCad();
67+
manager.generateCad(CSGDatabase.getInstance());
6768
});
6869
TransformNR currentCentroid = conf.getCenterOfMassFromCentroid();
6970
TextField massx = new TextField(CreatureLab.getFormatted(currentCentroid.getX()));
@@ -74,7 +75,7 @@ public LinkConfigurationWidget(LinkConfiguration congiuration, LinkFactory facto
7475
activLink.setTargetEngineeringUnits(0);
7576
activLink.flush(0);
7677
if (manager != null)
77-
manager.generateCad();
78+
manager.generateCad(CSGDatabase.getInstance());
7879

7980
});
8081

@@ -86,7 +87,7 @@ public LinkConfigurationWidget(LinkConfiguration congiuration, LinkFactory facto
8687
activLink.setTargetEngineeringUnits(0);
8788
activLink.flush(0);
8889
if (manager != null)
89-
manager.generateCad();
90+
manager.generateCad(CSGDatabase.getInstance());
9091

9192
});
9293

@@ -98,7 +99,7 @@ public LinkConfigurationWidget(LinkConfiguration congiuration, LinkFactory facto
9899
activLink.setTargetEngineeringUnits(0);
99100
activLink.flush(0);
100101
if (manager != null)
101-
manager.generateCad();
102+
manager.generateCad(CSGDatabase.getInstance());
102103

103104
});
104105

@@ -108,7 +109,7 @@ public LinkConfigurationWidget(LinkConfiguration congiuration, LinkFactory facto
108109
activLink.setTargetEngineeringUnits(0);
109110
activLink.flush(0);
110111
if (manager != null)
111-
manager.generateCad();
112+
manager.generateCad(CSGDatabase.getInstance());
112113

113114
});
114115

@@ -126,7 +127,7 @@ public LinkConfigurationWidget(LinkConfiguration congiuration, LinkFactory facto
126127
conf.setShaftType(motortype);
127128
setShaftSize( motorsize);
128129
if (manager != null)
129-
manager.generateCad();
130+
manager.generateCad(CSGDatabase.getInstance());
130131

131132
});
132133
shaftSize.getSelectionModel().select(conf.getShaftSize());
@@ -185,7 +186,7 @@ public void run() {
185186
conf.setShaftSize(shaftsize);
186187
conf.setShaftType(shafttype);
187188
if (manager != null)
188-
manager.generateCad();
189+
manager.generateCad(CSGDatabase.getInstance());
189190

190191
}
191192
});
@@ -219,7 +220,7 @@ public void run() {
219220
activLink = factory.getLink(conf);
220221
com.neuronrobotics.sdk.common.Log.error("Link device to " + conf.getDeviceScriptingName());
221222
if (manager != null)
222-
manager.generateCad();
223+
manager.generateCad(CSGDatabase.getInstance());
223224

224225
});
225226

@@ -248,7 +249,7 @@ public void onSliderDoneMoving(EngineeringUnitsSliderWidget source, double newAn
248249
activLink.flush(0);
249250
activLink.setUseLimits(true);
250251
if (manager != null)
251-
manager.generateCad();
252+
manager.generateCad(CSGDatabase.getInstance());
252253
zero.setLowerBound(newAngleDegrees);
253254

254255
} catch (Exception ex) {
@@ -280,7 +281,7 @@ public void onSliderDoneMoving(EngineeringUnitsSliderWidget source, double newAn
280281
activLink.setUseLimits(true);
281282
zero.setUpperBound(newAngleDegrees);
282283
if (manager != null)
283-
manager.generateCad();
284+
manager.generateCad(CSGDatabase.getInstance());
284285

285286
}
286287
}, (int)conf.getStaticOffset(), (int)max, (int)conf.getUpperLimit(), 150,
@@ -304,7 +305,7 @@ public void onSliderDoneMoving(EngineeringUnitsSliderWidget source, double newAn
304305
return;
305306
updateZeroValue(newAngleDegrees);
306307
if (manager != null)
307-
manager.generateCad();
308+
manager.generateCad(CSGDatabase.getInstance());
308309

309310
}
310311
}, (int)conf.getLowerLimit(), (int)conf.getUpperLimit(), (int)conf.getStaticOffset(), 150, "device units", true);
@@ -326,7 +327,7 @@ public void handle(ActionEvent event) {
326327
activLink.flush(0);
327328
com.neuronrobotics.sdk.common.Log.error("Link channel to " + conf.getTypeString());
328329
if (manager != null)
329-
manager.generateCad();
330+
manager.generateCad(CSGDatabase.getInstance());
330331

331332
}
332333
});
@@ -345,7 +346,7 @@ public void handle(ActionEvent event) {
345346
conf.setTypeString(comboBox.getSelectionModel().getSelectedItem());
346347
com.neuronrobotics.sdk.common.Log.error("Link type changed to " + conf.getTypeString());
347348
if (manager != null)
348-
manager.generateCad();
349+
manager.generateCad(CSGDatabase.getInstance());
349350

350351
}
351352
});

src/main/java/com/neuronrobotics/bowlerstudio/creature/MobleBaseMenueFactory.java

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -284,7 +284,7 @@ public static void load(MobileBase device, TreeView<String> view, TreeItem<Strin
284284
// AssetFactory.loadIcon("Generate-Cad.png"));
285285
//
286286
// callbackMapForTreeitems.put(regnerate, () -> {
287-
// creatureLab.generateCad();
287+
// creatureLab.generateCad(CSGDatabase.getInstance());
288288
//
289289
// });
290290
TreeItem<String> kinematics = new TreeItem<String>("Kinematic STL",
@@ -626,7 +626,7 @@ public void onTransformChaging(TransformNR newTrans) {
626626
public void onTransformFinished(TransformNR newTrans) {
627627
MobileBaseCadManager manager = MobileBaseCadManager.get(device);
628628
if (manager != null)
629-
manager.generateCad();
629+
manager.generateCad(CSGDatabase.getInstance());
630630
device.setIMUFromCentroid(newTrans);
631631
}
632632

@@ -1302,7 +1302,7 @@ public void run() {
13021302
// once the new link configuration is set up, re add the
13031303
// listener
13041304
factory.addLinkListener(dh);
1305-
creatureLab.generateCad();
1305+
creatureLab.generateCad(CSGDatabase.getInstance());
13061306
}
13071307
});
13081308

@@ -1468,7 +1468,7 @@ private static void loadSingleLimb(MobileBase base, TreeView<String> view, DHPar
14681468
}
14691469
if(base.getParallelGroup(dh)!=null)
14701470
base.getParallelGroup(dh).removeLimb(dh);
1471-
creatureLab.generateCad();
1471+
creatureLab.generateCad(CSGDatabase.getInstance());
14721472
}
14731473
});
14741474

@@ -1544,12 +1544,12 @@ public void run() {
15441544
loadSingleLink(dh.getLinkConfigurations().size() - 1, base, view, newLink, dh,
15451545
dhItem, callbackMapForTreeitems, widgetMapForTreeitems, creatureLab,
15461546
creatureIsOwnedByUser);
1547-
MobileBaseCadManager.get(base).generateCad();
1547+
MobileBaseCadManager.get(base).generateCad(CSGDatabase.getInstance());
15481548
} catch (Exception e) {
15491549
// Auto-generated catch block
15501550
com.neuronrobotics.sdk.common.Log.error(e);
15511551
}
1552-
creatureLab.generateCad();
1552+
creatureLab.generateCad(CSGDatabase.getInstance());
15531553
}
15541554
}.start();
15551555
}

src/main/java/com/neuronrobotics/bowlerstudio/creature/PhysicsWidget.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ public void run(){
164164
bases.add(base);
165165
File cache = new File(ScriptingEngine.getWorkspace().getAbsolutePath()+"/physics-"+base.getScriptingName());
166166
try {
167-
mujoco = new MuJoCoPhysicsManager(base.getScriptingName(),bases,movingObjects,staticObjects,cache);
167+
mujoco = new MuJoCoPhysicsManager(CSGDatabase.getInstance(),base.getScriptingName(),bases,movingObjects,staticObjects,cache);
168168

169169
} catch (IOException | JAXBException e) {
170170
// Auto-generated catch block
@@ -179,7 +179,7 @@ public void run(){
179179
mujoco.setIntegratorType(IntegratorType.IMPLICIT);
180180
mujoco.setCondim(4);
181181
try {
182-
mujoco.generateNewModel();
182+
mujoco.generateNewModel(CSGDatabase.getInstance());
183183
} catch (Exception e) {
184184
// Auto-generated catch block
185185
e.printStackTrace(System.out);

0 commit comments

Comments
 (0)