< 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 >