import org.simantics.plant3d.actions.RemoveAndSplitAction;
import org.simantics.plant3d.actions.RoutePipeAction;
import org.simantics.plant3d.actions.TranslateInlineAction;
+import org.simantics.plant3d.ontology.Plant3D;
import org.simantics.plant3d.scenegraph.EndComponent;
import org.simantics.plant3d.scenegraph.Equipment;
import org.simantics.plant3d.scenegraph.IP3DNode;
panel.setPickType(4);
try {
- ControlPointFactory.preloadCache();
+ ControlPointFactory.preloadCache(getLibraryUri());
ComponentUtils.preloadCache();
} catch (Exception e) {
ExceptionUtils.logAndShowError("Cannot open Plant3D editor",e);
return new HoverHighlighter(panel,nodeMap);
}
- protected SelectionHighlighter<INode> createSelectionHighlighter() {
- return new SelectionHighlighter<INode>(panel,nodeMap);
+ protected SelectionHighlighter<Resource,INode> createSelectionHighlighter() {
+ return new SelectionHighlighter<Resource,INode>(panel,nodeMap);
+ }
+
+ protected String getLibraryUri() {
+ return Plant3D.URIs.Builtin;
}
protected void createActions() {
removeSplitAction = new RemoveAndSplitAction(nodeMap);
routePipeAction = new RoutePipeAction(panel,rootNode);
- addComponentAction = new AddComponentAction(panel, rootNode);
+ addComponentAction = new AddComponentAction(panel, rootNode, getLibraryUri());
}
public void populate() {
List<IG3DNode> selected = selectionProvider.getSelectedNodes();
try {
if (selected.size() == 0) {
- for (Item eq : P3DUtil.getEquipments()) {
+ for (Item eq : P3DUtil.getEquipments(getLibraryUri())) {
m.add(new AddEquipmentAction(rootNode, eq));
}
} else if (selected.size() == 1) {
if (node instanceof Equipment) {
m.add(translateAction);
m.add(rotateAction);
- for (Item eq : P3DUtil.getNozzles()) {
+ for (Item eq : P3DUtil.getNozzles(getLibraryUri())) {
AddNozzleAction add = new AddNozzleAction(rootNode, eq);
add.setEquipment((Equipment)node);
m.add(add);