Problem summary
B-spline ShapeControlPoint no longer accessible via python in 10.0v1
It worked in 9.0v8
Customer reported version
nuke.10.0v1
Customer reported platform
OSX & Linux
Steps to reproduce
1. Open Nuke10.0v1
2. Create a checkerboard node
3. Create a RotoPaint node
4. Right click the Bezier tool (3rd icon down) and select B-spline
5. Draw shape in the viewer
6. Select Rotopaint node
7. Copy and paste the following into the script editor and run it:
import nuke, nuke.rotopaint as rp
rotoNode = nuke.selectedNode()
rotoCurve = rotoNode['curves']
rotoRoot = rotoCurve.rootLayer
for shape in rotoRoot:
for point in shape: ###this is where the error happens
print point
Reproduced by support
yes. Nuke9.0v8 works, 10.0v1 fails, on OS 10.10.5
Expected behaviour
The expected result is something like this - which works in Nuke9.0v8:
# Result: <_curveknob.ShapeControlPoint object at 0x176159bd0>
<_curveknob.ShapeControlPoint object at 0x176159918>
<_curveknob.ShapeControlPoint object at 0x176159bd0>
<_curveknob.ShapeControlPoint object at 0x176159918>
<_curveknob.ShapeControlPoint object at 0x176159bd0>
<_curveknob.ShapeControlPoint object at 0x176159918>
<_curveknob.ShapeControlPoint object at 0x176159bd0>
<_curveknob.ShapeControlPoint object at 0x176159918>
Actual behaviour
# Result: Traceback (most recent call last):
File "<string>", line 6, in <module>
ValueError: internal error - missing feather control point data for this shape