tornavis/source/blender/blenkernel
Bastien Montagne 13f591d400 ID Duplicate: Factorize a lot the code.
Now that we have a uniform consistent behavior in all our ID duplicate
funtions, we can easily factorize it greatly. Code gets cleaner,
smaller, and less error-prone.

Note that ultimately, this duplicate/deep copy behavior could be added
as a callback of IDTypeInfo.
We could also rethink the duplicate flags (some data, even some obdata,
like Lattice, are not coverred currently).
And so on. But at least code should now be much more easily maintainable
and extendable.
2020-06-17 17:06:05 +02:00
..
intern ID Duplicate: Factorize a lot the code. 2020-06-17 17:06:05 +02:00
BKE_DerivedMesh.h Cleanup: `make format` after SortedIncludes change 2020-03-19 09:33:58 +01:00
BKE_action.h Cleanup: take includes out of 'extern "C"' blocks 2020-05-08 18:22:41 +02:00
BKE_addon.h Cleanup: Rename ExtensionRNA variables from ext to rna_ext 2020-04-03 18:25:52 +02:00
BKE_anim_data.h Fix/refactor foreach_id handling of animdata. 2020-05-26 12:33:28 +02:00
BKE_anim_path.h Cleanup: use const arguments to deform functions 2020-06-13 16:20:09 +10:00
BKE_anim_visualization.h Cleanup: split `BKE_anim.h` and `anim.c` into smaller pieces 2020-04-03 12:13:51 +02:00
BKE_animsys.h Cleanup: take includes out of 'extern "C"' blocks 2020-05-08 18:22:41 +02:00
BKE_appdir.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_armature.h Cleanup: use const arguments to deform functions 2020-06-13 16:20:09 +10:00
BKE_autoexec.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_blender.h Blender: change bugfix release versioning from a/b/c to .1/.2/.3 2020-05-29 17:48:26 +02:00
BKE_blender_copybuffer.h IDs: change FILTER_ID_* to 64 bit to make space for new ID types 2020-03-03 17:34:21 +01:00
BKE_blender_undo.h Add experimental global undo speedup. 2020-03-17 15:02:05 +01:00
BKE_blender_user_menu.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
BKE_blender_version.h Merge branch 'blender-v2.83-release' 2020-05-29 18:05:04 +02:00
BKE_blendfile.h Preferences: don't store preferences in the startup 2019-07-31 21:36:12 +10:00
BKE_boids.h Cleanup: Fix forward declaration of headers 2020-03-06 17:26:32 +01:00
BKE_bpath.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_brush.h GPencil: Fix unreported missing Sculpt/Vertex/Weight paint brushes 2020-05-15 16:50:38 +02:00
BKE_bvhutils.h BVHCache: Performance 2020-06-02 16:01:14 +02:00
BKE_cachefile.h Cleanup: CacheFile: Move to IDTypeInfo and remove unused BKE API. 2020-03-09 12:49:04 +01:00
BKE_callbacks.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_camera.h Cleanup: spelling 2020-05-28 16:42:31 +10:00
BKE_ccg.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_cdderivedmesh.h Cleanup: double-spaces in comments 2020-05-09 17:15:43 +10:00
BKE_cloth.h Cloth: implement support for a hydrostatic pressure gradient. 2020-06-12 18:19:40 +03:00
BKE_collection.h Refactor duplicate of data-blocks. 2020-06-17 17:06:05 +02:00
BKE_collision.h Cleanup: `make format` after SortedIncludes change 2020-03-19 09:33:58 +01:00
BKE_colorband.h Cleanup: spelling, comments 2020-03-29 17:11:41 +11:00
BKE_colortools.h Refactor: Move curvemapping .blend read/write to blenkernel 2020-06-16 16:59:52 +02:00
BKE_constraint.h Revert "Constraints: remove special meaning of Local Space for parentless Objects." 2020-03-09 10:44:55 +01:00
BKE_context.h Cleanup: take includes out of 'extern "C"' blocks 2020-05-08 18:22:41 +02:00
BKE_crazyspace.h Fix T63384: Vertices are moving in different directions 2019-06-05 15:17:53 +02:00
BKE_curve.h Cleanup: use const arguments to deform functions 2020-06-13 16:20:09 +10:00
BKE_curveprofile.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_customdata.h Cleanup: double-spaces in comments 2020-05-09 17:15:43 +10:00
BKE_customdata_file.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_data_transfer.h Cleanup: double-spaces in comments 2020-05-09 17:15:43 +10:00
BKE_deform.h Cleanup: use const arguments to deform functions 2020-06-13 16:20:09 +10:00
BKE_derived_node_tree.hh Nodes: efficient node tree queries and inlining 2020-06-09 17:08:41 +02:00
BKE_displist.h Cleanup: `make format` after SortedIncludes change 2020-03-19 09:33:58 +01:00
BKE_displist_tangent.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_duplilist.h Cleanup: split `BKE_anim.h` and `anim.c` into smaller pieces 2020-04-03 12:13:51 +02:00
BKE_dynamicpaint.h Cleanup: take includes out of 'extern "C"' blocks 2020-05-08 18:22:41 +02:00
BKE_editlattice.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_editmesh.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_editmesh_bvh.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_editmesh_cache.h Mesh: skip conversion from edit-mesh to mesh in edit-mode 2020-05-25 23:07:30 +10:00
BKE_editmesh_tangent.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_effect.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_fcurve.h Code Cleanup: fcurve function naming 2020-06-05 09:30:15 +02:00
BKE_fcurve_driver.h Cleanup: take includes out of 'extern "C"' blocks 2020-05-08 18:22:41 +02:00
BKE_fluid.h Fluid: Improved cache 'Replay' option 2020-04-22 16:16:23 +02:00
BKE_font.h Cleanup: VFont: Move to IDTypeInfo and remove unused BKE API 2020-03-06 20:07:02 +01:00
BKE_freestyle.h ClangFormat: apply to source, most of intern 2019-04-17 06:21:24 +02:00
BKE_global.h VR: Initial Virtual Reality support - Milestone 1, Scene Inspection 2020-03-17 21:42:44 +01:00
BKE_gpencil.h Fix T77156: GPencil view layer filter by layer not working 2020-06-03 15:57:09 +02:00
BKE_gpencil_curve.h GPencil: Split Curve geometry functions to new file 2020-05-06 18:14:05 +02:00
BKE_gpencil_geom.h GPencil: Convert and Bake mesh animation to grease pencil strokes 2020-06-16 15:28:46 +02:00
BKE_gpencil_modifier.h GPencil: Fix typo error in previous rename 2020-05-08 11:15:42 +02:00
BKE_hair.h Cleanup: remove old header conventions recently re-introduced 2020-03-20 12:19:09 +11:00
BKE_icons.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_idprop.h IDProperties: add a foreach looper and use it in libquery code. 2020-04-28 15:25:19 +02:00
BKE_idtype.h Initial step to move libquery to IDTypeInfo. 2020-05-07 16:49:11 +02:00
BKE_image.h Cleanup: take includes out of 'extern "C"' blocks 2020-05-08 18:22:41 +02:00
BKE_image_save.h Cleanup: redundant struct declarations 2019-08-25 16:45:47 +10:00
BKE_ipo.h Cleanup: Ipo: Move to IDTypeInfo and remove unused BKE API. 2020-03-09 18:09:23 +01:00
BKE_kelvinlet.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_key.h Cleanup: ShapeKey: Move to IDTypeInfo and remove unused BKE API. 2020-03-06 12:52:52 +01:00
BKE_keyconfig.h Cleanup: Rename ExtensionRNA variables from ext to rna_ext 2020-04-03 18:25:52 +02:00
BKE_lattice.h Cleanup: use const arguments to deform functions 2020-06-13 16:20:09 +10:00
BKE_layer.h Collections: preserve exclude flag of child collections when unexcluding 2020-04-09 21:46:22 +02:00
BKE_lib_id.h ID Duplicate: Factorize a lot the code. 2020-06-17 17:06:05 +02:00
BKE_lib_override.h Enable (deep) copy of overrides. 2020-06-10 16:48:49 +02:00
BKE_lib_query.h Libquery: Refactor: add bmain to data passed to callback. 2020-05-25 15:28:15 +02:00
BKE_lib_remap.h Cleanup: take includes out of 'extern "C"' blocks 2020-05-08 18:22:41 +02:00
BKE_library.h Cleanup: take includes out of 'extern "C"' blocks 2020-05-08 18:22:41 +02:00
BKE_light.h Merge remote-tracking branch 'origin/blender-v2.83-release' 2020-05-25 10:45:39 +02:00
BKE_lightprobe.h Cleanup: move camera, lights, world to IDTypeInfo 2020-03-06 12:19:11 +01:00
BKE_linestyle.h Cleanup: FreestyleLineStyle: Move to IDTypeInfo and remove unused BKE API. 2020-03-09 16:56:53 +01:00
BKE_main.h Merge branch 'blender-v2.83-release' 2020-05-29 18:05:04 +02:00
BKE_main_idmap.h Add an session-wise uuid integer to IDs. 2020-03-05 16:30:12 +01:00
BKE_mask.h Cleanup: macro hygiene, parenthesize arguments 2020-04-05 13:53:32 +10:00
BKE_material.h Fix T72506 EEVEE: Collection Holdout propagates accross material instances 2020-04-23 17:41:21 +02:00
BKE_mball.h Cleanup: MetaBall: Move to IDTypeInfo and remove unused BKE API. 2020-03-06 16:23:23 +01:00
BKE_mball_tessellate.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_mesh.h Cleanup: move BKE_mesh_wrapper functions into own header 2020-06-10 22:34:11 +10:00
BKE_mesh_iterators.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_mesh_mapping.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_mesh_mirror.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_mesh_remap.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_mesh_remesh_voxel.h Sculpt Face Sets 2020-03-05 21:07:20 +01:00
BKE_mesh_runtime.h Cleanup: Remove unused function 2020-03-17 17:40:54 +01:00
BKE_mesh_tangent.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_mesh_wrapper.h Cleanup: minor changes to deform functions 2020-06-12 14:39:49 +10:00
BKE_modifier.h Cleanup: doxy comments 2020-06-17 14:00:09 +10:00
BKE_movieclip.h Cleanup: MovieClip: Move to IDTypeInfo and remove unused BKE API. 2020-03-09 16:56:53 +01:00
BKE_multires.h Cleanup: double-spaces in comments 2020-05-09 17:15:43 +10:00
BKE_nla.h Fix/refactor foreach_id handling of animdata. 2020-05-26 12:33:28 +02:00
BKE_node.h Nodes: add Combine Strings and Group Instance ID node UIs 2020-05-04 12:49:25 +02:00
BKE_node_tree_ref.hh Nodes: efficient node tree queries and inlining 2020-06-09 17:08:41 +02:00
BKE_object.h Refactor duplicate of data-blocks. 2020-06-17 17:06:05 +02:00
BKE_object_deform.h Weight Paint: Implement a new Lock-Relative mode. 2020-03-18 11:55:44 +03:00
BKE_object_facemap.h Mesh: support face-maps when joining 2019-09-20 12:09:22 +10:00
BKE_ocean.h Cleanup: blenkernel proper header inclusion for BKE_ocean.h 2020-03-17 10:12:47 -06:00
BKE_outliner_treehash.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_packedFile.h Cleanup: sort file, struct lists 2020-03-20 12:19:44 +11:00
BKE_paint.h Cleanup: remove unnecessary header 2020-06-15 01:07:50 +10:00
BKE_particle.h Cleanup: spelling 2020-05-28 16:42:31 +10:00
BKE_pbvh.h Fix T76776: Implement vertex_visibility_get for PBVH_GRIDS 2020-06-02 20:52:46 +02:00
BKE_pointcache.h Cleanup: Move pointcache dna to separate file 2020-06-09 17:01:54 +02:00
BKE_pointcloud.h Cleanup: remove old header conventions recently re-introduced 2020-03-20 12:19:09 +11:00
BKE_report.h Cleanup: take includes out of 'extern "C"' blocks 2020-05-08 18:22:41 +02:00
BKE_rigidbody.h Cleanup: macro hygiene, parenthesize arguments 2020-04-05 13:53:32 +10:00
BKE_scene.h Cleanup: rename `BKE_scene_copy` to `_update`. 2020-06-10 19:45:52 +02:00
BKE_screen.h Cleanup: spelling, correct reference to 'Mesh.mcol' 2020-05-29 12:58:29 +10:00
BKE_sequencer.h Merge branch 'blender-v2.83-release' 2020-05-13 16:08:41 +10:00
BKE_sequencer_offscreen.h Cleanup: Use `_fn` as a suffix for callbacks in VSE code 2020-04-05 23:39:20 +02:00
BKE_shader_fx.h GPencil: Refactor - Rename modifier and shder functions 2020-05-08 10:34:42 +02:00
BKE_shrinkwrap.h Cleanup: spelling 2020-03-11 21:39:56 +11:00
BKE_simulation.h Cleanup: sort file, structs 2020-05-27 10:52:07 +10:00
BKE_softbody.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_sound.h Audaspace: update from upstream 2020-05-03 15:30:35 +02:00
BKE_speaker.h Cleanup: Speaker: Move to IDTypeInfo and remove unused BKE API. 2020-03-08 20:10:07 +01:00
BKE_studiolight.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_subdiv.h OpenSubdiv: Cleanup, Remove from legacy SubsurfCCG code 2020-05-18 17:06:48 +02:00
BKE_subdiv_ccg.h Cleanup: use doxy sections for multires & subdiv sources 2020-04-29 12:21:12 +10:00
BKE_subdiv_deform.h Cleanup: spelling 2020-04-03 12:38:04 +11:00
BKE_subdiv_eval.h Subdiv: Split evaluation begin+refine into separate steps 2020-04-01 09:32:46 +02:00
BKE_subdiv_foreach.h Subdiv: Extend some comments 2020-03-30 12:26:45 +02:00
BKE_subdiv_mesh.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_subdiv_topology.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
BKE_subsurf.h OpenSubdiv: Cleanup, Remove from legacy SubsurfCCG code 2020-05-18 17:06:48 +02:00
BKE_text.h Cleanup: Text: Move to IDTypeInfo and remove unused BKE API. 2020-03-06 20:07:02 +01:00
BKE_text_suggestions.h Cleanup: take includes out of 'extern "C"' blocks 2020-05-08 18:22:41 +02:00
BKE_texture.h Refactor: Move brush foreach_id to new IDTypeInfo structure. 2020-05-13 19:52:19 +02:00
BKE_tracking.h Tracking: Specify image image for (un)distortion model 2020-04-20 16:26:31 +02:00
BKE_undo_system.h Fix sculpt/paint missing undo-step limiting 2020-05-14 14:52:07 +10:00
BKE_unit.h ClangFormat: run with ReflowComments on source/ 2019-05-01 11:13:14 +10:00
BKE_volume.h Volumes: add volume.grids.frame_filepath to get the current frame filepath 2020-04-05 21:27:30 +02:00
BKE_volume_render.h Cleanup: remove old header conventions recently re-introduced 2020-03-20 12:19:09 +11:00
BKE_workspace.h Cleanup/refactor: Workspace API, boilerplate code, early exit 2020-05-26 20:32:21 +02:00
BKE_world.h Cleanup: move camera, lights, world to IDTypeInfo 2020-03-06 12:19:11 +01:00
BKE_writeavi.h Cleanup: pass const args (mostly Scene & RenderData) 2020-03-13 17:27:11 +11:00
BKE_writeffmpeg.h Cleanup: pass const args (mostly Scene & RenderData) 2020-03-13 17:27:11 +11:00
CMakeLists.txt Cleanup: split object data deform functions into their own files 2020-06-12 16:27:46 +10:00
nla_private.h Cleanup: `make format` after SortedIncludes change 2020-03-19 09:33:58 +01:00
particle_private.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00
tracking_private.h Cleanup: make remaining blenkernel headers work in C++ 2020-03-02 15:07:49 +01:00