UnitCell type

type UnitCell
A UnitCell describes the bounding box of a system. It is represented by three base vectors of lengths a, b and c; and the angles between these vectors are alpha, beta and gamma.
function UnitCell(a::Number, b::Number, c::Number)
Create an UnitCell from the three lenghts, with all the angles equal to 90°.
function UnitCell(a::Number, b::Number, c::Number, α::Number, β::Number, γ::Number)
Create an UnitCell from the three lenghts and three angles.
function UnitCell(frame::Frame)
Get a copy of the UnitCell of a frame.
function deepcopy(cell::UnitCell)
Make a deep copy of a cell.
function volume(cell::UnitCell)
Get the unit cell volume.
function lengths(cell::UnitCell)
Get the three cell lengths (a, b and c) in angstroms.
function set_lengths!(cell::UnitCell, a::Real, b::Real, c::Real)

Set the cell lengths to a, b and c.

a, b and c should be in angstroms.

function angles(cell::UnitCell)
Get the three cell angles (alpha, beta and gamma) in degrees.
function set_angles!(cell::UnitCell, α::Real, β::Real, γ::Real)

Set the cell angles to α, β and γ.

α, β and γ should be in degrees.

function matrix(cell::UnitCell)

Get the cell matricial representation, i.e. the representation of the three base vectors as:

| a_x   b_x   c_x |
|  0    b_y   c_y |
|  0     0    c_z |
function shape(cell::UnitCell)
Get the cell shape, as a CellShape value.
function set_shape!(cell::UnitCell, shape::CellShape)
Set the cell shape to the given shape.
function wrap!(cell::UnitCell, vector::Vector{Float64})
Wrap a vector in the unit cell.