diff --git a/GUI/Model/Sample/ParticleCompositionItem.cpp b/GUI/Model/Sample/ParticleCompositionItem.cpp index f033b019c7d1ca6b58135d69c537f6c26f242448..0564bf75da770a6dc15c7428766a5e5474debe81 100644 --- a/GUI/Model/Sample/ParticleCompositionItem.cpp +++ b/GUI/Model/Sample/ParticleCompositionItem.cpp @@ -65,8 +65,8 @@ std::unique_ptr<ParticleComposition> ParticleCompositionItem::createParticleComp } else if (auto* compositionItem = dynamic_cast<ParticleCompositionItem*>(p)) { if (auto P_child_composition = compositionItem->createParticleComposition()) P_composition->addParticle(*P_child_composition); - } else if (auto* mesoCrystalItem = dynamic_cast<MesocrystalItem*>(p)) { - if (auto P_meso = mesoCrystalItem->createMesocrystal()) + } else if (auto* mesocrystalItem = dynamic_cast<MesocrystalItem*>(p)) { + if (auto P_meso = mesocrystalItem->createMesocrystal()) P_composition->addParticle(*P_meso); } } diff --git a/GUI/View/Realspace/RealSpaceBuilder.cpp b/GUI/View/Realspace/RealSpaceBuilder.cpp index 28dac5761bed7fb2f6cf6aca7123bf8272db4c4a..c92a4a4022dfb1166933e00a8a6413e5997f502f 100644 --- a/GUI/View/Realspace/RealSpaceBuilder.cpp +++ b/GUI/View/Realspace/RealSpaceBuilder.cpp @@ -156,11 +156,11 @@ void RealSpaceBuilder::populateParticleFromParticleItem(RealSpace::Model* model, return; auto particleComposition = particleCompositionItem->createParticleComposition(); particle3DContainer = m_builderUtils->particleComposition3DContainer(*particleComposition); - } else if (const auto* mesoCrystalItem = dynamic_cast<const MesocrystalItem*>(&particleItem)) { + } else if (const auto* mesocrystalItem = dynamic_cast<const MesocrystalItem*>(&particleItem)) { // If there is no particle to populate inside MesocrystalItem - if (!mesoCrystalItem->basisParticle()) + if (!mesocrystalItem->basisParticle()) return; - particle3DContainer = m_builderUtils->mesoCrystal3DContainer(*mesoCrystalItem); + particle3DContainer = m_builderUtils->mesocrystal3DContainer(*mesocrystalItem); } populateParticleFromParticle3DContainer(model, particle3DContainer); diff --git a/GUI/View/Realspace/RealSpaceBuilderUtils.cpp b/GUI/View/Realspace/RealSpaceBuilderUtils.cpp index e59784b4e19b451458de254e130b9d18b48be07a..199bad9dabcc3dcc7bced449a6986a728e088d64 100644 --- a/GUI/View/Realspace/RealSpaceBuilderUtils.cpp +++ b/GUI/View/Realspace/RealSpaceBuilderUtils.cpp @@ -239,12 +239,12 @@ GUI::RealSpace::BuilderUtils::particle3DContainerVector(const ParticleLayoutItem auto particleComposition = compositionItem->createParticleComposition(); particle3DContainer = particleComposition3DContainer(*particleComposition, total_abundance, origin); - } else if (const auto* mesoCrystalItem = dynamic_cast<MesocrystalItem*>(particleItem)) { + } else if (const auto* mesocrystalItem = dynamic_cast<MesocrystalItem*>(particleItem)) { // If there is no particle to populate inside MesocrystalItem - if (!mesoCrystalItem->basisParticle()) + if (!mesocrystalItem->basisParticle()) continue; - particle3DContainer = GUI::RealSpace::BuilderUtils::mesoCrystal3DContainer( - *mesoCrystalItem, total_abundance, origin); + particle3DContainer = GUI::RealSpace::BuilderUtils::mesocrystal3DContainer( + *mesocrystalItem, total_abundance, origin); } cumulative_abundance += particle3DContainer.cumulativeAbundance(); @@ -323,7 +323,7 @@ Particle3DContainer GUI::RealSpace::BuilderUtils::particleComposition3DContainer particle3DContainer = particleCoreShell3DContainer(*p, 1.0, origin); } else if (dynamic_cast<const Mesocrystal*>(pc_particle)) { // TODO: Implement method to populate Mesocrystal from CORE and NOT from MesocrystalItem - // as it is done currently in GUI::RealSpace::BuilderUtils::mesoCrystal3DContainer + // as it is done currently in GUI::RealSpace::BuilderUtils::mesocrystal3DContainer std::ostringstream ostr; ostr << "Sorry, Mesocrystal inside ParticleComposition not yet implemented"; ostr << "\n\nStay tuned!"; @@ -345,13 +345,13 @@ Particle3DContainer GUI::RealSpace::BuilderUtils::particleComposition3DContainer return result; } -Particle3DContainer GUI::RealSpace::BuilderUtils::mesoCrystal3DContainer( - const MesocrystalItem& mesoCrystalItem, double total_abundance, const QVector3D& origin) +Particle3DContainer GUI::RealSpace::BuilderUtils::mesocrystal3DContainer( + const MesocrystalItem& mesocrystalItem, double total_abundance, const QVector3D& origin) { - RealSpaceMesocrystal mesoCrystalUtils(&mesoCrystalItem, total_abundance, origin, + RealSpaceMesocrystal mesocrystalUtils(&mesocrystalItem, total_abundance, origin, m_fnColorFromMaterialName); - Particle3DContainer mesoCrystal3DContainer = mesoCrystalUtils.populateMesocrystal(); + Particle3DContainer mesocrystal3DContainer = mesocrystalUtils.populateMesocrystal(); - return mesoCrystal3DContainer; + return mesocrystal3DContainer; } diff --git a/GUI/View/Realspace/RealSpaceBuilderUtils.h b/GUI/View/Realspace/RealSpaceBuilderUtils.h index 466c6c878c2b32c52ce1afcfbbf9ae7e36d56b5d..4a4c671ba0f539862f915154d73c71f8f650332b 100644 --- a/GUI/View/Realspace/RealSpaceBuilderUtils.h +++ b/GUI/View/Realspace/RealSpaceBuilderUtils.h @@ -96,7 +96,7 @@ public: particleComposition3DContainer(const ParticleComposition& particleComposition3DContainer, double total_abundance = 1.0, const QVector3D& origin = {}); - Particle3DContainer mesoCrystal3DContainer(const MesocrystalItem& mesoCrystalItem, + Particle3DContainer mesocrystal3DContainer(const MesocrystalItem& mesocrystalItem, double total_abundance = 1.0, const QVector3D& origin = {}); diff --git a/GUI/View/Realspace/RealSpaceMesocrystalUtils.cpp b/GUI/View/Realspace/RealSpaceMesocrystalUtils.cpp index f39920023df9e26b93755d7a115e1a2f9f4ddfc3..00e8eaefc324fff0d5ec99fafa73e8421266b379 100644 --- a/GUI/View/Realspace/RealSpaceMesocrystalUtils.cpp +++ b/GUI/View/Realspace/RealSpaceMesocrystalUtils.cpp @@ -361,10 +361,10 @@ bool isPositionInsideMesocrystal(const IFormFactor* outerShape, R3 positionInsid RealSpaceMesocrystal::RealSpaceMesocrystal( - const MesocrystalItem* mesoCrystalItem, double total_abundance, const QVector3D& origin, + const MesocrystalItem* mesocrystalItem, double total_abundance, const QVector3D& origin, std::function<QColor(const QString&)> fnColorFromMaterialName) { - m_mesoCrystalItem = mesoCrystalItem; + m_mesocrystalItem = mesocrystalItem; m_total_abundance = total_abundance; m_origin = origin; m_builderUtils = std::make_unique<GUI::RealSpace::BuilderUtils>(fnColorFromMaterialName); @@ -372,44 +372,44 @@ RealSpaceMesocrystal::RealSpaceMesocrystal( Particle3DContainer RealSpaceMesocrystal::populateMesocrystal() { - auto mesoCrystal = m_mesoCrystalItem->createMesocrystal(); + auto mesocrystal = m_mesocrystalItem->createMesocrystal(); - std::unique_ptr<Mesocrystal> M_clone(mesoCrystal->clone()); // clone of the mesoCrystal + std::unique_ptr<Mesocrystal> M_clone(mesocrystal->clone()); // clone of the mesocrystal - // These methods DO NOT add rotation/translation of the mesoCrystal to its children + // These methods DO NOT add rotation/translation of the mesocrystal to its children // and hence they need to be added manually - auto lattice = m_mesoCrystalItem->getLattice(); - auto particleBasis = m_mesoCrystalItem->getBasis(); - auto outerShapeff = m_mesoCrystalItem->getOuterShape(); + auto lattice = m_mesocrystalItem->getLattice(); + auto particleBasis = m_mesocrystalItem->getBasis(); + auto outerShapeff = m_mesocrystalItem->getOuterShape(); - const auto* mesoCrystal_rotation = M_clone->rotation(); - auto mesoCrystal_translation = M_clone->particlePosition(); + const auto* mesocrystal_rotation = M_clone->rotation(); + auto mesocrystal_translation = M_clone->particlePosition(); - Particle3DContainer mesoCrystalBasis3DContainer; + Particle3DContainer mesocrystalBasis3DContainer; if (dynamic_cast<const ParticleComposition*>(particleBasis.get())) { const auto* particleComposition = dynamic_cast<const ParticleComposition*>(particleBasis.get()); - mesoCrystalBasis3DContainer = + mesocrystalBasis3DContainer = m_builderUtils->particleComposition3DContainer(*particleComposition, 1.0, m_origin); } else if (dynamic_cast<const ParticleCoreShell*>(particleBasis.get())) { const auto* particleCoreShell = dynamic_cast<const ParticleCoreShell*>(particleBasis.get()); - mesoCrystalBasis3DContainer = + mesocrystalBasis3DContainer = m_builderUtils->particleCoreShell3DContainer(*particleCoreShell, 1.0, m_origin); } else if (dynamic_cast<const Mesocrystal*>(particleBasis.get())) { // TODO: Implement method to populate Mesocrystal from CORE and NOT from MesocrystalItem - // as it is done currently in GUI::RealSpace::BuilderUtils::mesoCrystal3DContainer + // as it is done currently in GUI::RealSpace::BuilderUtils::mesocrystal3DContainer std::ostringstream ostr; ostr << "Sorry, Mesocrystal inside Mesocrystal not yet implemented"; ostr << "\n\nStay tuned!"; throw std::runtime_error(ostr.str()); } else { const auto* particle = dynamic_cast<const Particle*>(particleBasis.get()); - mesoCrystalBasis3DContainer = + mesocrystalBasis3DContainer = m_builderUtils->singleParticle3DContainer(*particle, 1.0, m_origin); } - Particle3DContainer mesoCrystal3DContainer; + Particle3DContainer mesocrystal3DContainer; for (int k = -n; k <= n; k++) { for (int j = -n; j <= n; j++) { @@ -418,8 +418,8 @@ Particle3DContainer RealSpaceMesocrystal::populateMesocrystal() + k * lattice.basisVectorC(); if (isPositionInsideMesocrystal(outerShapeff.get(), positionInside)) { - for (size_t it = 0; it < mesoCrystalBasis3DContainer.containerSize(); ++it) { - auto particle3D = mesoCrystalBasis3DContainer.createParticle(it); + for (size_t it = 0; it < mesocrystalBasis3DContainer.containerSize(); ++it) { + auto particle3D = mesocrystalBasis3DContainer.createParticle(it); particle3D->addTranslation( QVector3D(static_cast<float>(positionInside.x()), static_cast<float>(positionInside.y()), @@ -427,15 +427,15 @@ Particle3DContainer RealSpaceMesocrystal::populateMesocrystal() particle3D->addExtrinsicRotation( m_builderUtils->implementParticleRotationfromIRotation( - mesoCrystal_rotation)); + mesocrystal_rotation)); particle3D->addTranslation( - QVector3D(static_cast<float>(mesoCrystal_translation.x()), - static_cast<float>(mesoCrystal_translation.y()), - static_cast<float>(mesoCrystal_translation.z()))); + QVector3D(static_cast<float>(mesocrystal_translation.x()), + static_cast<float>(mesocrystal_translation.y()), + static_cast<float>(mesocrystal_translation.z()))); - mesoCrystal3DContainer.addParticle( - particle3D.release(), mesoCrystalBasis3DContainer.particle3DBlend(it)); + mesocrystal3DContainer.addParticle( + particle3D.release(), mesocrystalBasis3DContainer.particle3DBlend(it)); } } } @@ -445,20 +445,20 @@ Particle3DContainer RealSpaceMesocrystal::populateMesocrystal() // Add outer shape for visualization auto outerShape3D = GUI::View::TransformTo3D::createParticlefromFormfactor(outerShapeff.get()); outerShape3D->addTransform( - m_builderUtils->implementParticleRotationfromIRotation(mesoCrystal_rotation), - QVector3D(static_cast<float>(mesoCrystal_translation.x()), - static_cast<float>(mesoCrystal_translation.y()), - static_cast<float>(mesoCrystal_translation.z()))); + m_builderUtils->implementParticleRotationfromIRotation(mesocrystal_rotation), + QVector3D(static_cast<float>(mesocrystal_translation.x()), + static_cast<float>(mesocrystal_translation.y()), + static_cast<float>(mesocrystal_translation.z()))); // assign grey (default) color to the outer shape QColor color = {}; color.setAlphaF(0.3); outerShape3D->color = color; - mesoCrystal3DContainer.addParticle(outerShape3D.release(), true); + mesocrystal3DContainer.addParticle(outerShape3D.release(), true); // set the correct abundance for the Mesocrystal - mesoCrystal3DContainer.setCumulativeAbundance(M_clone->abundance() / m_total_abundance); - mesoCrystal3DContainer.setParticleType("Mesocrystal"); + mesocrystal3DContainer.setCumulativeAbundance(M_clone->abundance() / m_total_abundance); + mesocrystal3DContainer.setParticleType("Mesocrystal"); - return mesoCrystal3DContainer; + return mesocrystal3DContainer; } diff --git a/GUI/View/Realspace/RealSpaceMesocrystalUtils.h b/GUI/View/Realspace/RealSpaceMesocrystalUtils.h index 6ecabd4857eab351d8d1ef61878e76f1ff422d27..7aae608a06dab5e81865eebd679ae49d918e821f 100644 --- a/GUI/View/Realspace/RealSpaceMesocrystalUtils.h +++ b/GUI/View/Realspace/RealSpaceMesocrystalUtils.h @@ -29,14 +29,14 @@ class RealSpaceMesocrystal { public: ~RealSpaceMesocrystal() = default; - RealSpaceMesocrystal(const MesocrystalItem* mesoCrystalItem, double total_abundance, + RealSpaceMesocrystal(const MesocrystalItem* mesocrystalItem, double total_abundance, const QVector3D& origin, std::function<QColor(const QString&)> fnColorFromMaterialName); Particle3DContainer populateMesocrystal(); private: - const MesocrystalItem* m_mesoCrystalItem; + const MesocrystalItem* m_mesocrystalItem; double m_total_abundance; QVector3D m_origin; std::unique_ptr<GUI::RealSpace::BuilderUtils> m_builderUtils; diff --git a/GUI/View/SampleDesigner/MesocrystalForm.cpp b/GUI/View/SampleDesigner/MesocrystalForm.cpp index c383aee6715a81aae59e8b6da57bf0bcae239015..1334b4b4f329d53fc883bc3ef6a6258ad411b5ca 100644 --- a/GUI/View/SampleDesigner/MesocrystalForm.cpp +++ b/GUI/View/SampleDesigner/MesocrystalForm.cpp @@ -120,7 +120,7 @@ void MesocrystalForm::enableStructureEditing(bool b) m_removeAction->setVisible(b); } -MesocrystalItem* MesocrystalForm::mesoCrystalItem() const +MesocrystalItem* MesocrystalForm::mesocrystalItem() const { return m_item; } diff --git a/GUI/View/SampleDesigner/MesocrystalForm.h b/GUI/View/SampleDesigner/MesocrystalForm.h index fef651849d9db06de2af67d2bcd13e0769de5d9a..b671c1187880a8a256357f3e4cdcbe6d4f50a9e7 100644 --- a/GUI/View/SampleDesigner/MesocrystalForm.h +++ b/GUI/View/SampleDesigner/MesocrystalForm.h @@ -31,7 +31,7 @@ public: bool allowRemove = true); void enableStructureEditing(bool b); - MesocrystalItem* mesoCrystalItem() const; + MesocrystalItem* mesocrystalItem() const; void createBasisWidgets(); private: diff --git a/GUI/View/SampleDesigner/SampleEditorController.cpp b/GUI/View/SampleDesigner/SampleEditorController.cpp index 28a912ee119eaff05f4803c8cfb48133a859f3b8..2e4cb8cebe0132655cedabcffe408cb4f1843186 100644 --- a/GUI/View/SampleDesigner/SampleEditorController.cpp +++ b/GUI/View/SampleDesigner/SampleEditorController.cpp @@ -452,7 +452,7 @@ void SampleEditorController::setSampleDescription(const QString& description) void SampleEditorController::setMesocrystalBasis(MesocrystalForm* widget, ItemWithParticlesCatalog::Type type) { - auto* meso = widget->mesoCrystalItem(); + auto* meso = widget->mesocrystalItem(); meso->setBasis(createAndInitParticle(type)); widget->createBasisWidgets(); m_sampleForm->updateUnits(); @@ -462,7 +462,7 @@ void SampleEditorController::setMesocrystalBasis(MesocrystalForm* widget, void SampleEditorController::setMesocrystalBasis(MesocrystalForm* widget, FormFactorItemCatalog::Type type) { - auto* meso = widget->mesoCrystalItem(); + auto* meso = widget->mesocrystalItem(); meso->setBasis(createAndInitParticle(type)); widget->createBasisWidgets(); m_sampleForm->updateUnits();