X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Fscenegraph%2Fcontrolpoint%2FControlPointFactory.java;h=99b1448cb8e498decc9c8eef3f7655bd0fdea324;hb=refs%2Fchanges%2F11%2F3111%2F1;hp=a6d1eb26880e7faed3b609181569980d2228e89f;hpb=9e1e51825bfdcd72d7006e1bff703e7eb52919c6;p=simantics%2F3d.git diff --git a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/controlpoint/ControlPointFactory.java b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/controlpoint/ControlPointFactory.java index a6d1eb26..99b1448c 100644 --- a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/controlpoint/ControlPointFactory.java +++ b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/controlpoint/ControlPointFactory.java @@ -11,7 +11,7 @@ import org.simantics.db.exception.DatabaseException; import org.simantics.db.request.Read; import org.simantics.plant3d.ontology.Plant3D; import org.simantics.plant3d.scenegraph.PipelineComponent; -import org.simantics.plant3d.scenegraph.controlpoint.PipeControlPoint.Type; +import org.simantics.plant3d.scenegraph.controlpoint.PipeControlPoint.PointType; import org.simantics.plant3d.utils.Item; import org.simantics.plant3d.utils.P3DUtil; @@ -45,6 +45,8 @@ public class ControlPointFactory { PipeControlPoint pcp = new PipeControlPoint(component); pcp.setType(inst.type); pcp.setFixed(inst.fixed); + pcp.setRotate(inst.isRotate); + pcp.setReverse(inst.isReverse); switch(inst.type) { case END: @@ -58,7 +60,6 @@ public class ControlPointFactory { sub.setFixed(inst.fixed); sub.setSub(true); sub.setDeletable(false); -// pcp.setOffset(0.0); if (inst.isOffset) pcp.setOffset(0.0); } @@ -73,11 +74,12 @@ public class ControlPointFactory { private static class Instruction { - Type type; + PointType type; boolean fixed; boolean isOffset; boolean isSizeChange; - + boolean isRotate; + boolean isReverse; } @@ -91,15 +93,17 @@ public class ControlPointFactory { i.fixed = false; i.isOffset = false; i.isSizeChange = false; - i.type = Type.INLINE; + i.isRotate = false; + i.isReverse = false; + i.type = PointType.INLINE; if (graph.isInheritedFrom(res, p3d.Nozzle)) { i.fixed = true; i.isOffset = false; i.isSizeChange = false; - i.type = Type.END; + i.type = PointType.END; } else if (graph.isInheritedFrom(res, p3d.InlineComponent)){ - i.type = Type.INLINE; + i.type = PointType.INLINE; if (graph.hasStatement(res,p3d.VariableLengthInlineComponent)) { i.fixed = false; } else if (graph.hasStatement(res,p3d.FixedLengthInlineComponent)) { @@ -113,9 +117,16 @@ public class ControlPointFactory { if (graph.hasStatement(res,p3d.OffsetComponent)) { i.isOffset = true; } + if (graph.hasStatement(res,p3d.RotateComponent)) { + i.isRotate = true; + } + + if (graph.hasStatement(res,p3d.ReverseComponent)) { + i.isReverse = true; + } } else if (graph.isInheritedFrom(res, p3d.TurnComponent)) { - i.type = Type.TURN; + i.type = PointType.TURN; if (graph.hasStatement(res,p3d.VariableAngleTurnComponent)) { i.fixed = false; } else if (graph.hasStatement(res,p3d.FixedAngleTurnComponent)) { @@ -123,7 +134,7 @@ public class ControlPointFactory { } } else if (graph.isInheritedFrom(res, p3d.EndComponent)) { i.fixed = false; - i.type = Type.END; + i.type = PointType.END; } else { return null; }