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*