Blender Git Loki
Git Commits -> Revision 9146dcf
March 23, 2015, 11:23 (GMT) |
Initial code to support dupli group instancing and overrides through Alembic caches. This creates representations (Abc::Object) for Blender Object and Group datablocks in the Alembic files and uses Alembic instancing to define the dupligroup hierarchy. This leads to a relatively flat hierarchy in Alembic files: Top -> Object/Group -> DerivedMesh/Particles/Hair/Cloth/Smoke/... The dupligroup structure can not be represented by a hierarchical structure such as the Alembic object nesting, because of the many-to-many relationship between objects and groups (a group can contain multiple objects, multiple objects can instance the same group). Instead we use the instancing feature of Alembic to represent dupligroups. This is created in 2 stages to ensure all the main ID blocks have been serialized before creating references. |
Commit Details:
Full Hash: 9146dcfda718a05a6693fd758bbb535fd0d5c621
Parent Commit: 62ec825
Lines Changed: +778, -78
4 Added Paths:
/source/blender/pointcache/alembic/abc_group.cpp (+96, -0) (View)
/source/blender/pointcache/alembic/abc_group.h (+62, -0) (View)
/source/blender/pointcache/alembic/abc_object.cpp (+88, -0) (View)
/source/blender/pointcache/alembic/abc_object.h (+64, -0) (View)
/source/blender/pointcache/alembic/abc_group.h (+62, -0) (View)
/source/blender/pointcache/alembic/abc_object.cpp (+88, -0) (View)
/source/blender/pointcache/alembic/abc_object.h (+64, -0) (View)
22 Modified Paths:
/source/blender/blenkernel/BKE_anim.h (+7, -0) (Diff)
/source/blender/blenkernel/BKE_cache_library.h (+6, -2) (Diff)
/source/blender/blenkernel/intern/cache_library.c (+76, -5) (Diff)
/source/blender/blenkernel/intern/object.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/object_dupli.c (+116, -0) (Diff)
/source/blender/editors/io/io_cache_library.c (+1, -1) (Diff)
/source/blender/makesdna/DNA_object_types.h (+3, -0) (Diff)
/source/blender/pointcache/alembic/abc_cloth.cpp (+15, -13) (Diff)
/source/blender/pointcache/alembic/abc_mesh.cpp (+22, -20) (Diff)
/source/blender/pointcache/alembic/abc_particles.cpp (+34, -32) (Diff)
/source/blender/pointcache/alembic/abc_reader.cpp (+19, -0) (Diff)
/source/blender/pointcache/alembic/abc_reader.h (+3, -0) (Diff)
/source/blender/pointcache/alembic/abc_writer.cpp (+19, -0) (Diff)
/source/blender/pointcache/alembic/abc_writer.h (+21, -0) (Diff)
/source/blender/pointcache/alembic/alembic.cpp (+22, -0) (Diff)
/source/blender/pointcache/alembic/CMakeLists.txt (+4, -0) (Diff)
/source/blender/pointcache/intern/export.cpp (+1, -1) (Diff)
/source/blender/pointcache/intern/ptc_types.h (+51, -3) (Diff)
/source/blender/pointcache/intern/writer.cpp (+2, -1) (Diff)
/source/blender/pointcache/intern/writer.h (+3, -0) (Diff)
/source/blender/pointcache/PTC_api.cpp (+32, -0) (Diff)
/source/blender/pointcache/PTC_api.h (+9, -0) (Diff)
/source/blender/blenkernel/BKE_cache_library.h (+6, -2) (Diff)
/source/blender/blenkernel/intern/cache_library.c (+76, -5) (Diff)
/source/blender/blenkernel/intern/object.c (+2, -0) (Diff)
/source/blender/blenkernel/intern/object_dupli.c (+116, -0) (Diff)
/source/blender/editors/io/io_cache_library.c (+1, -1) (Diff)
/source/blender/makesdna/DNA_object_types.h (+3, -0) (Diff)
/source/blender/pointcache/alembic/abc_cloth.cpp (+15, -13) (Diff)
/source/blender/pointcache/alembic/abc_mesh.cpp (+22, -20) (Diff)
/source/blender/pointcache/alembic/abc_particles.cpp (+34, -32) (Diff)
/source/blender/pointcache/alembic/abc_reader.cpp (+19, -0) (Diff)
/source/blender/pointcache/alembic/abc_reader.h (+3, -0) (Diff)
/source/blender/pointcache/alembic/abc_writer.cpp (+19, -0) (Diff)
/source/blender/pointcache/alembic/abc_writer.h (+21, -0) (Diff)
/source/blender/pointcache/alembic/alembic.cpp (+22, -0) (Diff)
/source/blender/pointcache/alembic/CMakeLists.txt (+4, -0) (Diff)
/source/blender/pointcache/intern/export.cpp (+1, -1) (Diff)
/source/blender/pointcache/intern/ptc_types.h (+51, -3) (Diff)
/source/blender/pointcache/intern/writer.cpp (+2, -1) (Diff)
/source/blender/pointcache/intern/writer.h (+3, -0) (Diff)
/source/blender/pointcache/PTC_api.cpp (+32, -0) (Diff)
/source/blender/pointcache/PTC_api.h (+9, -0) (Diff)