< prev index next >

modules/graphics/src/main/java/javafx/scene/shape/Shape3D.java

Print this page

        

*** 72,81 **** --- 72,97 ---- Shape3DHelper.setShape3DAccessor(new Shape3DHelper.Shape3DAccessor() { @Override public void doUpdatePeer(Node node) { ((Shape3D) node).doUpdatePeer(); } + + @Override + public BaseBounds doComputeGeomBounds(Node node, + BaseBounds bounds, BaseTransform tx) { + return ((Shape3D) node).doComputeGeomBounds(bounds, tx); + } + + @Override + public boolean doComputeContains(Node node, double localX, double localY) { + return ((Shape3D) node).doComputeContains(localX, localY); + } + + @Override + public Object doProcessMXNode(Node node, MXNodeAlgorithm alg, MXNodeAlgorithmContext ctx) { + return ((Shape3D) node).doProcessMXNode(alg, ctx); + } }); } // NOTE: Need a way to specify shape tessellation resolution, may use metric relate to window resolution // Will not support dynamic refinement in FX8
*** 134,144 **** Material newMaterial = get(); if (newMaterial != null) { MaterialHelper.dirtyProperty(newMaterial).addListener(weakMaterialChangeListener); } NodeHelper.markDirty(Shape3D.this, DirtyBits.MATERIAL); ! impl_geomChanged(); old = newMaterial; } }; } return material; --- 150,160 ---- Material newMaterial = get(); if (newMaterial != null) { MaterialHelper.dirtyProperty(newMaterial).addListener(weakMaterialChangeListener); } NodeHelper.markDirty(Shape3D.this, DirtyBits.MATERIAL); ! NodeHelper.geomChanged(Shape3D.this); old = newMaterial; } }; } return material;
*** 203,230 **** }; } return cullFace; } ! /** ! * @treatAsPrivate implementation detail ! * @deprecated This is an internal API that is not intended for use and will be removed in the next version */ ! @Deprecated ! @Override ! public BaseBounds impl_computeGeomBounds(BaseBounds bounds, BaseTransform tx) { // TODO: 3D - Evaluate this logic return new BoxBounds(0, 0, 0, 0, 0, 0); } ! /** ! * @treatAsPrivate implementation detail ! * @deprecated This is an internal API that is not intended for use and will be removed in the next version */ ! @Deprecated ! @Override ! protected boolean impl_computeContains(double localX, double localY) { return false; } /* * Note: This method MUST only be called via its accessor method. --- 219,240 ---- }; } return cullFace; } ! /* ! * Note: This method MUST only be called via its accessor method. */ ! private BaseBounds doComputeGeomBounds(BaseBounds bounds, BaseTransform tx) { // TODO: 3D - Evaluate this logic return new BoxBounds(0, 0, 0, 0, 0, 0); } ! /* ! * Note: This method MUST only be called via its accessor method. */ ! private boolean doComputeContains(double localX, double localY) { return false; } /* * Note: This method MUST only be called via its accessor method.
*** 242,257 **** if (NodeHelper.isDirty(this, DirtyBits.NODE_CULLFACE)) { peer.setCullFace(getCullFace() == null ? CullFace.BACK : getCullFace()); } } ! /** ! * @treatAsPrivate implementation detail ! * @deprecated This is an internal API that is not intended for use and will be removed in the next version */ ! @Deprecated ! @Override ! public Object impl_processMXNode(MXNodeAlgorithm alg, MXNodeAlgorithmContext ctx) { throw new UnsupportedOperationException("Not supported yet."); } } --- 252,264 ---- if (NodeHelper.isDirty(this, DirtyBits.NODE_CULLFACE)) { peer.setCullFace(getCullFace() == null ? CullFace.BACK : getCullFace()); } } ! /* ! * Note: This method MUST only be called via its accessor method. */ ! private Object doProcessMXNode(MXNodeAlgorithm alg, MXNodeAlgorithmContext ctx) { throw new UnsupportedOperationException("Not supported yet."); } }
< prev index next >