import org.simantics.g3d.vtk.swt.vtkSwtAction;
import org.simantics.g3d.vtk.utils.vtkUtil;
import org.simantics.plant3d.Activator;
+import org.simantics.plant3d.gizmo.ConstraintPointGizmo;
import org.simantics.plant3d.gizmo.SplitPointSelectionGizmo;
import org.simantics.plant3d.gizmo.TerminalSelectionGizmo;
import org.simantics.plant3d.scenegraph.EndComponent;
private TranslateAxisGizmo translateAxisGizmo = new TranslateAxisGizmo();
private SplitPointSelectionGizmo splitPointSelectionGizmo;
+ private ConstraintPointGizmo constraintPointGizmo;
private TerminalSelectionGizmo terminalSelectionGizmo;
private NodeMap<vtkProp,INode> nodeMap;
nodeMap = root.getNodeMap();
splitPointSelectionGizmo = new SplitPointSelectionGizmo(panel);
terminalSelectionGizmo = new TerminalSelectionGizmo(panel);
+ constraintPointGizmo = new ConstraintPointGizmo(panel);
detector = new org.simantics.g3d.vtk.swt.ConstraintDetector(panel);
}
splitPointSelectionGizmo.deattach();
if (terminalSelectionGizmo.isAttached())
terminalSelectionGizmo.deattach();
+ if (constraintPointGizmo.isAttached())
+ constraintPointGizmo.deattach();
if (infoActor != null) {
panel.getRenderer().RemoveActor(infoActor);
infoActor.Delete();
private void updateConstraints() {
detector.clearConstraints();
+ constraintPointGizmo.clearPositions();
if (hoverObject == null) {
+ if (constraintPointGizmo.isAttached())
+ constraintPointGizmo.deattach();
return;
}
if (hoverObject instanceof Nozzle) {
c.getEnds(p1, p2);
detector.addContraintPoint(p1);
detector.addContraintPoint(p2);
+ detector.addContraintPoint(new Point3d(c.getWorldPosition()));
} else if (hoverObject instanceof TurnComponent) {
TurnComponent n = (TurnComponent)hoverObject;
detector.addContraintPoint(new Point3d(n.getWorldPosition()));
}
+ if (detector.getConstraintPoints().size() > 0) {
+ for (Point3d p : detector.getConstraintPoints()) {
+ constraintPointGizmo.addPosition(new Vector3d(p));
+ }
+ if (constraintPointGizmo.isAttached())
+ constraintPointGizmo.deattach();
+ constraintPointGizmo.attach(panel);
+ }
}
@Override