]> gerrit.simantics Code Review - simantics/3d.git/blobdiff - org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/controlpoint/ControlPointFactory.java
Support for reversible in-line components
[simantics/3d.git] / org.simantics.plant3d / src / org / simantics / plant3d / scenegraph / controlpoint / ControlPointFactory.java
index 193cdd27d16745d6483b83ee99a802185604ca06..71602dcc0ff163220a36b741a78ec9c4d082111d 100644 (file)
@@ -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:
                        
@@ -57,7 +59,7 @@ public class ControlPointFactory {
                                sub.setType(inst.type);
                                sub.setFixed(inst.fixed);
                                sub.setSub(true);
-//                             pcp.setOffset(0.0);
+                               sub.setDeletable(false);
                                if (inst.isOffset)
                                        pcp.setOffset(0.0);
                        }
@@ -76,7 +78,8 @@ public class ControlPointFactory {
                boolean fixed;
                boolean isOffset;
                boolean isSizeChange;
-               
+               boolean isRotate;
+               boolean isReverse;
                
        }
        
@@ -90,6 +93,8 @@ public class ControlPointFactory {
                                i.fixed = false;
                                i.isOffset = false;
                                i.isSizeChange = false;
+                               i.isRotate = false;
+                               i.isReverse = false;
                                i.type = Type.INLINE;
                                if (graph.isInheritedFrom(res, p3d.Nozzle)) {
                                        i.fixed = true;
@@ -112,6 +117,13 @@ 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;