X-Git-Url: https://gerrit.simantics.org/r/gitweb?a=blobdiff_plain;f=org.simantics.plant3d%2Fsrc%2Forg%2Fsimantics%2Fplant3d%2Fscenegraph%2FP3DRootNode.java;h=7a5ce551a7c317c16df776455125398213378934;hb=a3d63f1ba39c56c2b0236932965b9712654fad12;hp=5b7fe274c0b509dcba87151505d3794054a60e15;hpb=3f2597b685effc8f262143ea487f5391824930e1;p=simantics%2F3d.git diff --git a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/P3DRootNode.java b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/P3DRootNode.java index 5b7fe274..7a5ce551 100644 --- a/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/P3DRootNode.java +++ b/org.simantics.plant3d/src/org/simantics/plant3d/scenegraph/P3DRootNode.java @@ -27,7 +27,9 @@ import vtk.vtkProp; @GraphType(Plant3D.URIs.Plant) public class P3DRootNode extends ParentNode implements IG3DNode, NodeMapProvider { - + // Vertical direction that determines the interpretation of rotation angle origin + protected Vector3d upVector = new Vector3d(0.0, 1.0, 0.0); + @RelatedElementsAdd(Plant3D.URIs.children) public void addChild(INode node) { //public void addChild(IP3DVisualNode node) { @@ -157,11 +159,10 @@ public class P3DRootNode extends ParentNode implements IG3DNode, NodeMapP } - @SuppressWarnings("rawtypes") @Override - public Object getAdapter(Class adapter) { - if (NodeMap.class == adapter) - return nodeMap; + public T getAdapter(Class adapter) { + if (adapter.isAssignableFrom(NodeMap.class)) + return adapter.cast(nodeMap); return null; } @@ -184,4 +185,8 @@ public class P3DRootNode extends ParentNode implements IG3DNode, NodeMapP public TurnComponent createTurn() { return new TurnComponent(); } + + public Vector3d getUpVector() { + return upVector; + } }