The attached test is for a fake-3D rotation of a text string by using a perspective transform. It's been working fine till FX SDK B35. It failed and the rotating text wasn't rendered at B36. I attached 2 versions for B35/B36. They are same code except some FX package renamings in import block.
I updated to print out a rectangle of the text.boundsInLocal. The text has the perspective transform as an effect. As noticed below, in B35, the text was rendered correctly and its text.boundsInLocal returns the correct bounding box. However in B36, this behavior regressed.
B35:
===
run-single:
+> r: 0.0, x/y=0.0/0.0, w/h=0.0/0.0
default camera = 3D Surface transform matrix
1.0 0.0 0.0 0.0
0.0 1.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 1.0 0.0
+> r: 0.0, x/y=44.1031494140625/0.0, w/h=0.0/0.0
+> r: 0.0, x/y=44.1031494140625/125.078125, w/h=0.0/0.0
+> r: 0.0, x/y=44.1031494140625/125.078125, w/h=566.5219116210938/0.0
+> r: 0.0, x/y=44.1031494140625/125.078125, w/h=566.5219116210938/127.01171875
B36:
===
run-single:
+> r: 0.0, x/y=0.0/0.0, w/h=0.0/0.0
default camera = 3D Surface transform matrix
1.0 0.0 0.0 0.0
0.0 1.0 0.0 0.0
0.0 0.0 0.0 0.0
0.0 0.0 1.0 0.0
+> r: 0.0, x/y=0.0/0.0, w/h=0.0/0.0
+> r: 0.0, x/y=0.0/0.0, w/h=0.0/0.0
+> r: 0.0, x/y=0.0/0.0, w/h=0.0/0.0
+> r: 0.0, x/y=0.0/0.0, w/h=0.0/0.0
+> r: 0.00418879015992357, x/y=0.0/0.0, w/h=0.0/0.0
+> r: 0.11100293521494987, x/y=0.0/0.0, w/h=0.0/0.0
+> r: 0.1801179732194183, x/y=0.0/0.0, w/h=0.0/0.0
3D rotation is one of the key user scenarios.
- blocks
-
JDK-8107324 coordinate translation methods such as Node's parentToLocal, sceneToLocal, localToParent, localToScene need to take geometry altering effects into account.
-
- Resolved
-
- relates to
-
JDK-8107616 Picking needs to take geometry-altering effects into account
-
- Closed
-