Page MenuHome

Curve: CurveMapping Extend Option
AcceptedPublic

Authored by Jeroen Bakker (jbakker) on Fri, Nov 1, 2:29 PM.

Details

Summary

Extend options are currently stored per curve. This was not clearly
communicated to the user and they expected this to be a setting per
CurveMapping.

This change will move the option from Curve to CurveMapping. In
order to support this the API had to be changed.

BPY: CurveMap.evaluate is also moved to CurveMapping.evaluate what
breaks Python API. Cycles has been updated but other add-ons have
not. After release of 2.81 we can merge this to master and adapt
the add-ons.

Diff Detail

Repository
rB Blender
Branch
T67981 (branched from master)
Build Status
Buildable 5553
Build 5553: arc lint + arc unit

Event Timeline

Suggest to keep only CurveMapping.evaluate and remove the other, regarding the Python API.


Re:

Extend options are currently stored per curve. This was not clearly communicated to the user and they expected this to be a setting per CurveMapping.

This seems like something that could be solved by the UI instead of changing internal behavior.

The menu could be a popover with labels: "Curve Mapping" and "Curve" each with their own settings underneath them.

The down side of this patch is you can't change this option without impacting other curves in the mapping, it will likely break some small number of files with complex node setups that happen to set the option for some channels and not others.

Not to say this is a bad change, it just doesn't seem like this is an obvious case where this should be "solved" by changing internal behavior.

Jeroen Bakker (jbakker) planned changes to this revision.Fri, Nov 1, 3:55 PM

See decision in T67981 where this change was chosen. The overhaul was bigger than I had in mind as curves are used everywhere.
Will do the changes to the API as requested, is more a style thing.

Removed the Curve.evaluate function

This revision is now accepted and ready to land.Tue, Nov 5, 8:57 AM
Jeroen Bakker (jbakker) edited the summary of this revision. (Show Details)Tue, Nov 5, 8:59 AM
Jeroen Bakker (jbakker) edited the summary of this revision. (Show Details)
Jeroen Bakker (jbakker) planned changes to this revision.Tue, Nov 5, 9:35 AM

Patch currently fails regression tests

Patch vs Master

12 - object_modifier_array (SEGFAULT)
31 - cycles_mesh (Failed)
51 - eevee_mesh_test (Failed)
55 - eevee_shader_test (Failed)
71 - workbench_mesh_test (Failed)
This revision is now accepted and ready to land.Tue, Nov 5, 10:28 AM