848bd505b416a8d934759fee3d0e03f88fcd6847
evaluate_fcurve() take its FCurve as const instead of mutable
This required making a whole bunch of other functions in the call chain take const parameters as well. It also required changing some function pointers in some types to take const parameters, which in turn required changing all the functions that are pointed to by those function pointers to take const parameters as well. Additionally, there was one mutable usage of the `FModifier *` parameter in `fcm_cycles_time()` that had to be removed to make the call chain const. However, this turned out to be a code path that shouldn't be reachable, and would represent a bug elsewhere. So it was changed to an assert. All in all, the non-constness was deep and tangled. There's still a lot more that we can make const, but I wanted to keep this change as narrow and focused as possible.
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
