From: Marko Luukkainen Date: Fri, 15 Nov 2019 13:48:22 +0000 (+0200) Subject: Adjust turn component radius with combo box (instead of index value) X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=commitdiff_plain;h=eb221ba65b20ba9e8477c653e1c10ae1c2a0a4d0;p=simantics%2F3d.git Adjust turn component radius with combo box (instead of index value) gitlab #43 Change-Id: I5e5c5193c73bbad93c3eaa12fc58f1bc3a0598b8 --- diff --git a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/TurnComponent.java b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/TurnComponent.java index cd490a5d..1bf67441 100644 --- a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/TurnComponent.java +++ b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/TurnComponent.java @@ -1,12 +1,17 @@ package org.simantics.plant3d.scenegraph; +import java.util.ArrayList; import java.util.HashMap; +import java.util.List; import java.util.Map; import javax.vecmath.Vector3d; import org.simantics.g3d.math.MathTools; +import org.simantics.g3d.property.annotations.GetComboProperty; +import org.simantics.g3d.property.annotations.GetComboPropertyValue; import org.simantics.g3d.property.annotations.GetPropertyValue; +import org.simantics.g3d.property.annotations.SetComboPropertyValue; import org.simantics.g3d.property.annotations.SetPropertyValue; import org.simantics.g3d.scenegraph.base.ParentNode; import org.simantics.g3d.tools.NodeTools; @@ -110,15 +115,14 @@ public class TurnComponent extends PipelineComponent { return getControlPoint().getTurnAxis(); } - @GetPropertyValue(name="Turn Radius", value="TurnRadius", tabId = "Default") - public Double getTurnRadius() { + public Double getTurnRadius() { if (turnRadiusIndex != null) return getPipeRun().getTurnRadiusArray()[turnRadiusIndex]; return getPipeRun().getTurnRadiusArray()[0]; } @RelatedGetValue(Plant3D.URIs.HasTurnRadiusIndex) - @GetPropertyValue(name="Turn Radius Index", value=Plant3D.URIs.HasTurnRadiusIndex, tabId = "Default") + @GetComboPropertyValue(name="Turn Radius", value=Plant3D.URIs.HasTurnRadiusIndex, tabId = "Default") public Integer getTurnRadiusIndex() { // TODO: For backwards compatibility, we do not accept null values. @@ -129,7 +133,7 @@ public class TurnComponent extends PipelineComponent { } @RelatedSetValue(Plant3D.URIs.HasTurnRadiusIndex) - @SetPropertyValue(value=Plant3D.URIs.HasTurnRadiusIndex) + @SetComboPropertyValue(value=Plant3D.URIs.HasTurnRadiusIndex) public void setTurnRadiusIndex(Integer turnRadiusIndex) { if (this.turnRadiusIndex == turnRadiusIndex) return; @@ -144,6 +148,15 @@ public class TurnComponent extends PipelineComponent { PipingRules.requestUpdate(getControlPoint()); } + @GetComboProperty(value=Plant3D.URIs.HasTurnRadiusIndex) + public List _getTurnRadii() { + List values = new ArrayList(); + for (double d : getPipeRun().getTurnRadiusArray()) + values.add(d); + return values; + } + + @RelatedGetValue(Plant3D.URIs.HasRotationAngle) @GetPropertyValue(name="Rotation Angle", value=Plant3D.URIs.HasRotationAngle, tabId = "Default") public Double getRotationAngle() {