gemmi::UnitCell struct

Constructors, destructors, conversion operators

UnitCell() defaulted
UnitCell(double a_, double b_, double c_, double alpha_, double beta_, double gamma_)

Public functions

auto is_crystal() const -> bool
auto operator==(const UnitCell& o) const -> bool
auto operator!=(const UnitCell& o) const -> bool
auto approx(const UnitCell& o, double epsilon) const -> bool
void calculate_properties()
void set_matrices_from_fract(const Transform& f)
void set(double a_, double b_, double c_, double alpha_, double beta_, double gamma_)
template<typename SG>
void set_cell_images_from_spacegroup(const SG* sg)
auto orthogonalize(const Fractional& f) const -> Position
auto fractionalize(const Position& o) const -> Fractional
auto orthogonalize_difference(const Fractional& delta) const -> Position
auto distance_sq(const Fractional& pos1, const Fractional& pos2) const -> double
auto distance_sq(const Position& pos1, const Position& pos2) const -> double
auto volume_per_image() const -> double
auto search_pbc_images(Fractional&& diff, SymImage& image) const -> bool
auto find_nearest_image(const Position& ref, const Position& pos, Asu asu) const -> SymImage
void apply_transform(Fractional& fpos, int image_idx) const
void apply_transform_inverse(Fractional& fpos, int image_idx) const
auto find_nearest_pbc_image(const Position& ref, const Position& pos, int image_idx) const -> SymImage
auto orthogonalize_in_pbc(const Position& ref, const Fractional& fpos) const -> Position
auto is_special_position(const Fractional& fpos, double max_dist) const -> int
auto is_special_position(const Position& pos, double max_dist = 0.8) const -> int
auto calculate_1_d2(double h, double k, double l) const -> double
auto calculate_1_d2(const Miller& hkl) const -> double
auto calculate_d(const Miller& hkl) const -> double

Public variables

double a
double b
double c
double alpha
double beta
double gamma
Transform orth
Transform frac
double volume
double ar
double br
double cr
double cos_alphar
double cos_betar
double cos_gammar
bool explicit_matrices
std::vector<FTransform> images