16 #include "Base/Vector/RotMatrix.h"
19 #include "Sample/Particle/IParticle.h"
20 #include "Sample/Scattering/Rotations.h"
24 const QString& positionTooltip)
27 RealLimits::limited(0.0, 1.0),
"abundance");
72 return std::unique_ptr<IRotation>(IRotation::createRotation(matrix));
Defines abstract item with a material property.
Defines class RotationItemCatalog.
Describes properties of a double value which are necessary to allow GUI representation,...
void set(double d)
Set the contained value.
void init(const QString &label, const QString &tooltip, double value, const variant< QString, Unit > &unit, const QString &persistentTag)
ItemWithParticles(const QString &abundanceTooltip, const QString &positionTooltip)
void setPosition(const R3 &position)
VectorProperty m_position
SelectionProperty< RotationItem * > m_rotation
std::unique_ptr< IRotation > createRotation() const
nullptr only if "no rotation". Can contain identity!
DoubleDescriptor abundance() const
void setAbundance(double abundance)
DoubleProperty m_abundance
SelectionDescriptor< RotationItem * > rotation()
Returns selection descriptor for rotation methods.
VectorDescriptor positionVector() const
void setRotation(RotationItem *p)
nullptr is allowed and sets to "no rotation"
RotMatrix rotation() const
Describes a selection (various possibilities and the current one).
void set(T t, bool callInitializer=false)
Directly set the new item.
T get() const
Direct access to the stored pointer.
void init(const QString &label, const QString &tooltip, const QString &persistentTag, ArgsForCreation... argsForCreation)
Initialize by means of a catalog class and optional creation arguments.
Describes properties of a 3D vector, consisting of three double values.
void init(const QString &label, const QString &tooltip, const variant< QString, Unit > &unit, const QString &persistentTag)