15 #ifndef BORNAGAIN_CORE_LATTICE_LATTICE2D_H
16 #define BORNAGAIN_CORE_LATTICE_LATTICE2D_H
34 virtual double length1()
const = 0;
35 virtual double length2()
const = 0;
36 virtual double latticeAngle()
const = 0;
37 virtual double unitCellArea()
const = 0;
39 double rotationAngle()
const {
return m_xi; }
41 ReciprocalBases reciprocalBases()
const;
43 void setRotationEnabled(
bool enabled);
53 BasicLattice(
double length1,
double length2,
double angle,
double xi);
59 virtual double length1()
const {
return m_length1; }
60 virtual double length2()
const {
return m_length2; }
61 virtual double latticeAngle()
const {
return m_angle; }
62 virtual double unitCellArea()
const;
65 double m_length1, m_length2;
78 virtual double length1()
const {
return m_length; }
79 virtual double length2()
const {
return m_length; }
80 virtual double latticeAngle()
const;
81 virtual double unitCellArea()
const;
96 virtual double length1()
const {
return m_length; }
97 virtual double length2()
const {
return m_length; }
98 virtual double latticeAngle()
const;
99 virtual double unitCellArea()
const;
Defines and implements the standard mix-in ICloneable.
void accept(INodeVisitor *visitor) const final
Calls the INodeVisitor's visit method.
void accept(INodeVisitor *visitor) const final
Calls the INodeVisitor's visit method.
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.
virtual void onChange()
Action to be taken in inherited class when a parameter has changed.
void accept(INodeVisitor *visitor) const final
Calls the INodeVisitor's visit method.
double m_asy
x,y coordinates of a*
double m_bsy
x,y coordinates of b*