Blender Git Loki
Git Commits -> Revision ad65238
March 26, 2015, 13:13 (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: ad65238df703b20ad4b758d2e43590c02f2406f6
Parent Commit: b82bf93
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)