From e6eb5164ffb41cccb6448dfea3e459b9d11687a5 Mon Sep 17 00:00:00 2001 From: Matthias Puchner <github@mpuchner.de> Date: Mon, 20 Dec 2021 16:32:32 +0100 Subject: [PATCH] complete ParticleItem's serialization --- GUI/Model/Sample/ParticleItem.cpp | 16 +++++++++++----- GUI/Model/Sample/ParticleItem.h | 1 + 2 files changed, 12 insertions(+), 5 deletions(-) diff --git a/GUI/Model/Sample/ParticleItem.cpp b/GUI/Model/Sample/ParticleItem.cpp index 1e730bebcd8..380bd82e1a0 100644 --- a/GUI/Model/Sample/ParticleItem.cpp +++ b/GUI/Model/Sample/ParticleItem.cpp @@ -13,16 +13,13 @@ // ************************************************************************************************ #include "GUI/Model/Sample/ParticleItem.h" -#include "GUI/Model/Group/GroupItem.h" #include "GUI/Model/Job/JobItem.h" -#include "GUI/Model/Job/JobModelFunctions.h" #include "GUI/Model/Material/MaterialItem.h" #include "GUI/Model/Sample/FormFactorItemCatalog.h" #include "GUI/Model/Sample/FormFactorItems.h" #include "GUI/Model/Sample/ParticleCoreShellItem.h" -#include "GUI/Model/Sample/ParticleLayoutItem.h" -#include "GUI/Model/Session/SessionItemUtils.h" -#include "GUI/Model/Types/VectorItem.h" +#include "GUI/Model/Sample/RotationItemCatalog.h" +#include "GUI/Model/Session/Serializer.h" #include "Sample/Particle/Particle.h" namespace { @@ -41,6 +38,15 @@ ParticleItem::ParticleItem() : ItemWithParticles(abundance_tooltip, position_too m_formFactor.set(new CylinderItem()); } +void ParticleItem::serialize(Serializer& s) +{ + s.assertVersion(0); + s.rw(m_abundance); + s.rw(m_position); + s.rw<RotationItemCatalog>(m_rotation); + s.rw<FormFactorItemCatalog>(m_formFactor); +} + std::unique_ptr<Particle> ParticleItem::createParticle() const { auto domainMaterial = materialItem()->createMaterial(); diff --git a/GUI/Model/Sample/ParticleItem.h b/GUI/Model/Sample/ParticleItem.h index 29b6e19d92e..5eafe2ee829 100644 --- a/GUI/Model/Sample/ParticleItem.h +++ b/GUI/Model/Sample/ParticleItem.h @@ -28,6 +28,7 @@ class VectorItem; class ParticleItem : public ItemWithMaterial, public ItemWithParticles { public: ParticleItem(); + void serialize(Serializer& s) override; std::unique_ptr<Particle> createParticle() const; -- GitLab