89c7c115cebb2ac0aaaeb98eb95decc7b5a129c8

Avoiding creating empty components can be a hassle for code that interacts with a geometry set. One easy way to do that was calling the functions that retrieved mutable access to geometry data directly, like get_mesh_for_write. This commit makes it so that sort of direct function does not create an empty component if there is no data. Another way to create an empty component was calling the replace_* methods with a null pointer. It's more convenient to have a nice API that handles those cases without creating an empty component. It's still convenient that the regular get_component_for_write adds the component if it doesn't exist, because that's often a nice way to add data to the geometry set. Differential Revision: https://developer.blender.org/D12862
…
…
.. Keep this document short & concise, linking to external resources instead of including content in-line. See 'release/text/readme.html' for the end user read-me. 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. .. figure:: https://code.blender.org/wp-content/uploads/2018/12/springrg.jpg :scale: 50 % :align: center Project Pages ------------- - `Main Website <http://www.blender.org>`__ - `Reference Manual <https://docs.blender.org/manual/en/latest/index.html>`__ - `User Community <https://www.blender.org/community/>`__ Development ----------- - `Build Instructions <https://wiki.blender.org/wiki/Building_Blender>`__ - `Code Review & Bug Tracker <https://developer.blender.org>`__ - `Developer Forum <https://devtalk.blender.org>`__ - `Developer Documentation <https://wiki.blender.org>`__ 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 <https://www.blender.org/about/license>`__ for details.
Description
Languages
C++
78.1%
Python
15%
C
2.8%
GLSL
1.8%
CMake
1.2%
Other
0.9%