15 #ifndef BORNAGAIN_GUI_COREGUI_VIEWS_REALSPACEWIDGETS_REALSPACEBUILDERUTILS_H
16 #define BORNAGAIN_GUI_COREGUI_VIEWS_REALSPACEWIDGETS_REALSPACEBUILDERUTILS_H
48 const std::vector<std::vector<double>>& lattice_positions,
49 const std::vector<Particle3DContainer>& particle3DContainer_vector,
RealSpaceModel* model,
72 const QVector3D& origin = {});
75 double total_abundance = 1.0,
76 const QVector3D& origin = {});
79 double total_abundance = 1.0,
80 const QVector3D& origin = {});
84 double total_abundance = 1.0,
const QVector3D& origin = {});
86 std::vector<Particle3DContainer>
88 double total_abundance = 1.0,
const QVector3D& origin = {});
91 double total_abundance = 1.0,
92 const QVector3D& origin = {});
Defines IRotation classes.
BasicVector3D< double > kvector_t
Abstract base class of interference functions.
Abstract base class for rotations.
Interference function of a 2D paracrystal.
A composition of particles at fixed positions.
A particle with a core/shell geometry.
A particle type that is a parametric distribution of IParticle's.
A particle with a form factor and refractive index.
QVector< double > computeCumulativeAbundances(const SessionItem &layoutItem)
Particle3DContainer particleCoreShell3DContainer(const ParticleCoreShell &particleCoreShell, double total_abundance=1.0, const QVector3D &origin={})
Particle3DContainer particleComposition3DContainer(const ParticleComposition &particleComposition3DContainer, double total_abundance=1.0, const QVector3D &origin={})
void populateParticlesAtLatticePositions(const std::vector< std::vector< double >> &lattice_positions, const std::vector< Particle3DContainer > &particle3DContainer_vector, RealSpaceModel *model, const SceneGeometry &sceneGeometry, const RealSpaceBuilder *builder3D)
std::vector< Particle3DContainer > particle3DContainerVector(const SessionItem &layoutItem, const QVector3D &origin={})
void applyParticleTransformations(const Particle &particle, RealSpace::Particles::Particle &particle3D, const kvector_t &origin=kvector_t(0, 0, 0))
Apply transformations (translation, rotation) to a 3D Particle or to a particle belonging to a Partic...
std::vector< Particle3DContainer > particleDistribution3DContainer(const ParticleDistribution &particleDistribution, double total_abundance=1.0, const QVector3D &origin={})
void applyParticleCoreShellTransformations(const Particle &particle, RealSpace::Particles::Particle &particle3D, const ParticleCoreShell &particleCoreShell, const kvector_t &origin=kvector_t(0, 0, 0))
Apply transformations (translation, rotation) to a particle (core/shell) in a ParticleCoreShell.
Particle3DContainer mesoCrystal3DContainer(const MesoCrystalItem &mesoCrystalItem, double total_abundance=1.0, const QVector3D &origin={})
RealSpace::Vector3D implementParticleRotationfromIRotation(const IRotation *&rotation)
void applyParticleColor(const Particle &particle, RealSpace::Particles::Particle &particle3D, double alpha=1)
Particle3DContainer singleParticle3DContainer(const Particle &particle, double total_abundance=1.0, const QVector3D &origin={})