1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#![allow(dead_code)]
pub mod atom;
pub mod bond;
pub mod builder_typestate;
pub mod error;
pub mod lattice;
pub mod model_type;
pub mod param_writer;
pub mod parser;
#[cfg(test)]
mod test;

extern crate castep_periodic_table as cpt;
extern crate nalgebra as na;

use na::UnitQuaternion;

pub use atom::Atom;
pub use lattice::LatticeModel;
pub use model_type::cell::CellModel;
pub use model_type::msi::MsiModel;
pub use model_type::ModelInfo;

/// Transformation for atoms and lattices.
pub trait Transformation {
    fn rotate(&mut self, rotate_quatd: &UnitQuaternion<f64>);
    fn translate(&mut self, translate_matrix: &na::Translation<f64, 3>);
}