diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2015-04-16 16:50:06 +0300 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2015-04-16 16:50:06 +0300 |
commit | bda3e21e95eee58be91a3b6c7b8fde6930ac8f2f (patch) | |
tree | 2e75e9855067eb1f00a86f6c6b9db27e3fb4da15 /source/blender/pointcache/alembic/abc_particles.h | |
parent | ea189ce26e3f2c6102ce53394658cb8d0b36156e (diff) |
Revert recent commits, no time to improve things now.
Diffstat (limited to 'source/blender/pointcache/alembic/abc_particles.h')
-rw-r--r-- | source/blender/pointcache/alembic/abc_particles.h | 43 |
1 files changed, 43 insertions, 0 deletions
diff --git a/source/blender/pointcache/alembic/abc_particles.h b/source/blender/pointcache/alembic/abc_particles.h index c310d944343..3df60154813 100644 --- a/source/blender/pointcache/alembic/abc_particles.h +++ b/source/blender/pointcache/alembic/abc_particles.h @@ -46,6 +46,49 @@ class AbcDerivedMeshWriter; class AbcDerivedMeshReader; +class AbcHairChildrenWriter : public ParticlesWriter, public AbcWriter { +public: + AbcHairChildrenWriter(const std::string &name, Object *ob, ParticleSystem *psys); + ~AbcHairChildrenWriter(); + + void init_abc(Abc::OObject parent); + + void write_sample(); + +private: + ParticleSystemModifierData *m_psmd; + + AbcGeom::OCurves m_curves; + AbcGeom::OM33fArrayProperty m_prop_root_matrix; + AbcGeom::OV3fArrayProperty m_prop_root_positions; + AbcGeom::OFloatGeomParam m_param_times; + AbcGeom::OInt32ArrayProperty m_prop_parents; + AbcGeom::OFloatArrayProperty m_prop_parent_weights; +}; + + +class AbcHairWriter : public ParticlesWriter, public AbcWriter { +public: + AbcHairWriter(const std::string &name, Object *ob, ParticleSystem *psys); + ~AbcHairWriter(); + + void init(WriterArchive *archive); + void init_abc(Abc::OObject parent); + + void write_sample(); + +private: + ParticleSystemModifierData *m_psmd; + + AbcGeom::OCurves m_curves; + AbcGeom::OM33fGeomParam m_param_root_matrix; + AbcGeom::OFloatGeomParam m_param_times; + AbcGeom::OFloatGeomParam m_param_weights; + + AbcHairChildrenWriter m_child_writer; +}; + + class AbcStrandsChildrenWriter : public AbcWriter { public: AbcStrandsChildrenWriter(const std::string &name, const std::string &abc_name, DupliObjectData *dobdata); |