15 #ifndef BORNAGAIN_CORE_LATTICE_LATTICE2D_H
16 #define BORNAGAIN_CORE_LATTICE_LATTICE2D_H
Defines and implements the standard mix-in ICloneable.
virtual double unitCellArea() const
virtual double latticeAngle() const
virtual double length1() const
BasicLattice * clone() const
BasicLattice(double length1, double length2, double angle, double xi)
virtual double length2() const
void accept(INodeVisitor *visitor) const final
Calls the INodeVisitor's visit method.
HexagonalLattice * clone() const
virtual double length2() const
virtual double unitCellArea() const
virtual double length1() const
virtual double latticeAngle() const
void accept(INodeVisitor *visitor) const final
Calls the INodeVisitor's visit method.
HexagonalLattice(double length, double xi)
Interface for polymorphic classes that should not be copied, except by explicit cloning.
Visitor interface to visit ISample objects.
Base class for tree-like structures containing parameterized objects.
double rotationAngle() const
ReciprocalBases reciprocalBases() const
virtual double latticeAngle() const =0
virtual void onChange()
Action to be taken in inherited class when a parameter has changed.
virtual double length2() const =0
virtual double length1() const =0
void setRotationEnabled(bool enabled)
virtual Lattice2D * clone() const =0
Lattice2D(const NodeMeta &meta, const std::vector< double > &PValues)
virtual double unitCellArea() const =0
SquareLattice(double length, double xi=0.0)
virtual double unitCellArea() const
SquareLattice * clone() const
void accept(INodeVisitor *visitor) const final
Calls the INodeVisitor's visit method.
virtual double latticeAngle() const
virtual double length2() const
virtual double length1() const
double m_asy
x,y coordinates of a*
double m_bsy
x,y coordinates of b*