BornAgain  1.19.0
Simulate and fit neutron and x-ray scattering at grazing incidence
RealSpaceBuilder.h
Go to the documentation of this file.
1 // ************************************************************************************************
2 //
3 // BornAgain: simulate and fit reflection and scattering
4 //
5 //! @file GUI/coregui/Views/RealSpaceWidgets/RealSpaceBuilder.h
6 //! @brief Defines class RealSpaceBuilder
7 //!
8 //! @homepage http://www.bornagainproject.org
9 //! @license GNU General Public License v3 or higher (see COPYING)
10 //! @copyright Forschungszentrum Jülich GmbH 2018
11 //! @authors Scientific Computing Group at MLZ (see CITATION, AUTHORS)
12 //
13 // ************************************************************************************************
14 
15 #ifndef BORNAGAIN_GUI_COREGUI_VIEWS_REALSPACEWIDGETS_REALSPACEBUILDER_H
16 #define BORNAGAIN_GUI_COREGUI_VIEWS_REALSPACEWIDGETS_REALSPACEBUILDER_H
17 
18 #include "GUI/ba3d/view/camera.h"
19 #include <QVector3D>
20 #include <QWidget>
21 
22 class SessionItem;
23 class RealSpaceModel;
24 class Shape3D;
25 class SceneGeometry;
27 
28 class RealSpaceBuilder : public QWidget {
29  Q_OBJECT
30 
31 public:
32  RealSpaceBuilder(QWidget* parent = nullptr);
33 
35 
36  void populate(RealSpaceModel* model, const SessionItem& item,
37  const SceneGeometry& sceneGeometry,
38  const RealSpace::Camera::Position& cameraPosition =
40  RealSpace::Vector3D(0, 0, 0), // center
42 
43  void populateMultiLayer(RealSpaceModel* model, const SessionItem& item,
44  const SceneGeometry& sceneGeometry, const QVector3D& origin = {});
45 
46  void populateLayer(RealSpaceModel* model, const SessionItem& layerItem,
47  const SceneGeometry& sceneGeometry, const QVector3D& origin = {},
48  const bool isTopLayer = false);
49 
50  void populateLayout(RealSpaceModel* model, const SessionItem& layoutItem,
51  const SceneGeometry& sceneGeometry, const QVector3D& origin = {});
52 
54  const SessionItem& particleItem) const;
55 
57  const Particle3DContainer& particle3DContainer,
58  const QVector3D& lattice_position = {}) const;
59 };
60 
61 #endif // BORNAGAIN_GUI_COREGUI_VIEWS_REALSPACEWIDGETS_REALSPACEBUILDER_H
Defines Camera class.
void populateParticleFromParticleItem(RealSpaceModel *model, const SessionItem &particleItem) const
void populate(RealSpaceModel *model, const SessionItem &item, const SceneGeometry &sceneGeometry, const RealSpace::Camera::Position &cameraPosition=RealSpace::Camera::Position(RealSpace::Vector3D(0, -200, 120), RealSpace::Vector3D(0, 0, 0), RealSpace::Vector3D::_z))
RealSpaceBuilder(QWidget *parent=nullptr)
void populateLayer(RealSpaceModel *model, const SessionItem &layerItem, const SceneGeometry &sceneGeometry, const QVector3D &origin={}, const bool isTopLayer=false)
void populateLayout(RealSpaceModel *model, const SessionItem &layoutItem, const SceneGeometry &sceneGeometry, const QVector3D &origin={})
void populateMultiLayer(RealSpaceModel *model, const SessionItem &item, const SceneGeometry &sceneGeometry, const QVector3D &origin={})
void populateParticleFromParticle3DContainer(RealSpaceModel *model, const Particle3DContainer &particle3DContainer, const QVector3D &lattice_position={}) const
static Vector3D const _z
Definition: def.h:49