15 #ifndef BORNAGAIN_GUI_MODEL_SAMPLE_ITEMWITHPARTICLES_H
16 #define BORNAGAIN_GUI_MODEL_SAMPLE_ITEMWITHPARTICLES_H
54 ItemWithParticles(
const QString& abundanceTooltip,
const QString& positionTooltip);
Defines class DoubleProperty.
Defines class RotationItems.
Defines class SelectionProperty.
Defines class VectorProperty.
Describes properties of a double value which are necessary to allow GUI representation,...
Class for representing a double value, its attributes and its accessors.
ItemWithParticles(const QString &abundanceTooltip, const QString &positionTooltip)
virtual void serialize(Streamer &s)=0
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
virtual QVector< ItemWithParticles * > containedItemsWithParticles() const =0
Return full hierarchical contained items with particles.
void setRotation(RotationItem *p)
nullptr is allowed and sets to "no rotation"
virtual ~ItemWithParticles()=default
Describes a selection (various possibilities and the current one).
Supports serialization to or deserialization from QXmlStream.
Describes properties of a 3D vector, consisting of three double values.
Holds a 3D vector of type R3 as well as additional info like label, tooltip.