diff --git a/GUI/Views/RealSpaceWidgets/RealSpaceBuilder.cpp b/GUI/Views/RealSpaceWidgets/RealSpaceBuilder.cpp index 26c107eb49b4f21610385b3062b688627b2e22c4..455a597a92a54c295f4bb2611d8b179ae472d92c 100644 --- a/GUI/Views/RealSpaceWidgets/RealSpaceBuilder.cpp +++ b/GUI/Views/RealSpaceWidgets/RealSpaceBuilder.cpp @@ -33,16 +33,28 @@ #include <QDebug> namespace { -std::unique_ptr<IInterference> GetInterference(const ParticleLayoutItem& layoutItem); + +std::unique_ptr<IInterference> GetInterference(const ParticleLayoutItem& layoutItem) +{ + auto interferenceItem = layoutItem.interference(); + if (interferenceItem) { + auto P_interference = interferenceItem->createInterference(); + if (P_interference) + return std::unique_ptr<IInterference>(P_interference.release()); + } + return std::make_unique<InterferenceNone>(); } +} // namespace + + RealSpaceBuilder::RealSpaceBuilder(QWidget* parent) : QWidget(parent) {} RealSpaceBuilder::~RealSpaceBuilder() = default; void RealSpaceBuilder::populate(RealSpaceModel* model, const SessionItem& item, const SceneGeometry& sceneGeometry, - const GUI::RealSpace::Camera::Position& cameraPosition) + const GUI::RealSpace::Camera::Position& cameraPosition) const { // default value of cameraPosition is in RealSpaceBuilder.h @@ -57,15 +69,14 @@ void RealSpaceBuilder::populate(RealSpaceModel* model, const SessionItem& item, else if (item.hasModelType<ParticleLayoutItem>()) populateLayout(model, dynamic_cast<const ParticleLayoutItem&>(item), sceneGeometry); - else if (item.hasModelType<ParticleItem>() - || item.hasModelType<ParticleCompositionItem>() - || item.hasModelType<ParticleCoreShellItem>() - || item.hasModelType<MesoCrystalItem>()) + else if (item.hasModelType<ParticleItem>() || item.hasModelType<ParticleCompositionItem>() + || item.hasModelType<ParticleCoreShellItem>() || item.hasModelType<MesoCrystalItem>()) populateParticleFromParticleItem(model, item); } void RealSpaceBuilder::populateMultiLayer(RealSpaceModel* model, const MultiLayerItem& mlayerItem, - const SceneGeometry& sceneGeometry, const QVector3D&) + const SceneGeometry& sceneGeometry, + const QVector3D&) const { double total_height(0.0); int index(0); @@ -95,8 +106,8 @@ void RealSpaceBuilder::populateLayer(RealSpaceModel* model, const LayerItem& lay } void RealSpaceBuilder::populateLayout(RealSpaceModel* model, const ParticleLayoutItem& layoutItem, - const SceneGeometry& sceneGeometry, const QVector3D& origin) - const + const SceneGeometry& sceneGeometry, + const QVector3D& origin) const { // If there is no particle to populate if (layoutItem.particles().empty()) @@ -171,16 +182,3 @@ void RealSpaceBuilder::populateParticleFromParticle3DContainer( } } } - -namespace { -std::unique_ptr<IInterference> GetInterference(const ParticleLayoutItem& layoutItem) -{ - auto interferenceItem = layoutItem.interference(); - if (interferenceItem) { - auto P_interference = interferenceItem->createInterference(); - if (P_interference) - return std::unique_ptr<IInterference>(P_interference.release()); - } - return std::make_unique<InterferenceNone>(); -} -} // namespace diff --git a/GUI/Views/RealSpaceWidgets/RealSpaceBuilder.h b/GUI/Views/RealSpaceWidgets/RealSpaceBuilder.h index 8b107472807ed3e122b8ade9e6bb4ed45aaa01d1..57d2ea8d81ae7b04d4d2fe8cc9b88fa9e98eb15a 100644 --- a/GUI/Views/RealSpaceWidgets/RealSpaceBuilder.h +++ b/GUI/Views/RealSpaceWidgets/RealSpaceBuilder.h @@ -41,10 +41,10 @@ public: const GUI::RealSpace::Camera::Position& cameraPosition = GUI::RealSpace::Camera::Position(GUI::RealSpace::Vector3D(0, -200, 120), // eye GUI::RealSpace::Vector3D(0, 0, 0), // center - GUI::RealSpace::Vector3D::_z)); // up - + GUI::RealSpace::Vector3D::_z)) // up + const; void populateMultiLayer(RealSpaceModel* model, const MultiLayerItem& mlayerItem, - const SceneGeometry& sceneGeometry, const QVector3D& origin = {}); + const SceneGeometry& sceneGeometry, const QVector3D& origin = {}) const; void populateLayer(RealSpaceModel* model, const LayerItem& layerItem, const SceneGeometry& sceneGeometry, const QVector3D& origin = {},