#include <openbabel/generic.h>
Inheritance diagram for OBUnitCell:
Public Types | |
enum | LatticeType { Undefined, Triclinic, Monoclinic, Orthorhombic, Tetragonal, Rhombohedral, Hexagonal, Cubic } |
Public Member Functions | |
OBUnitCell () | |
OBUnitCell (const OBUnitCell &) | |
virtual OBGenericData * | Clone (OBBase *) const |
~OBUnitCell () | |
OBUnitCell & | operator= (const OBUnitCell &) |
void | SetData (const double a, const double b, const double c, const double alpha, const double beta, const double gamma) |
void | SetData (const vector3 v1, const vector3 v2, const vector3 v3) |
void | SetOffset (const vector3 v1) |
void | SetSpaceGroup (const std::string sg) |
void | SetSpaceGroup (const int sg) |
void | SetLatticeType (const LatticeType lt) |
double | GetA () |
double | GetB () |
double | GetC () |
double | GetAlpha () |
double | GetBeta () |
double | GetGamma () |
vector3 | GetOffset () |
const std::string | GetSpaceGroup () |
LatticeType | GetLatticeType (int spacegroup) |
LatticeType | GetLatticeType () |
std::vector< vector3 > | GetCellVectors () |
matrix3x3 | GetCellMatrix () |
matrix3x3 | GetOrthoMatrix () |
matrix3x3 | GetFractionalMatrix () |
int | GetSpaceGroupNumber (std::string name) |
double | GetCellVolume () |
void | SetAttribute (const std::string &v) |
void | SetOrigin (const DataOrigin s) |
virtual const std::string & | GetAttribute () const |
unsigned int | GetDataType () const |
virtual const std::string & | GetValue () const |
virtual DataOrigin | GetOrigin () const |
Protected Attributes | |
double | _a |
double | _b |
double | _c |
double | _alpha |
double | _beta |
double | _gamma |
vector3 | _offset |
vector3 | _v1 |
vector3 | _v2 |
vector3 | _v3 |
std::string | _spaceGroup |
int | _numericSpaceGroup |
LatticeType | _lattice |
std::string | _attr |
unsigned int | _type |
DataOrigin | _source |
enum LatticeType |
OBUnitCell | ( | ) |
public constructor
OBUnitCell | ( | const OBUnitCell & | ) |
~OBUnitCell | ( | ) | [inline] |
virtual OBGenericData* Clone | ( | OBBase * | ) | const [inline, virtual] |
Reimplemented from OBGenericData.
OBUnitCell & operator= | ( | const OBUnitCell & | ) |
void SetData | ( | const double | a, | |
const double | b, | |||
const double | c, | |||
const double | alpha, | |||
const double | beta, | |||
const double | gamma | |||
) | [inline] |
Sets the vectors and angles of the unitcell.
a | The length a | |
b | The length b | |
c | The length c | |
alpha | The angle alpha | |
beta | The angle beta | |
gamma | The angle gamma |
Sets the vectors, angles and lengths of the unitcell.
The angles and lengths of the unitcell will be calculated from the vectors v1
, v2
and v3
. Those vectors will as well be stored internally. Implements blue-obelisk:convertCartesianIntoNotionalCoordinates
v1 | The x-vector | |
v2 | The y-vector | |
v3 | The z-vector |
void SetOffset | ( | const vector3 | v1 | ) | [inline] |
Set the offset to the origin to v1
.
void SetSpaceGroup | ( | const std::string | sg | ) | [inline] |
Set the space group symbol for this unit cell. Does not create an OBSymmetryData entry or attempt to convert between different symbol notations
void SetSpaceGroup | ( | const int | sg | ) | [inline] |
Set the space group for this unit cell. Each spacegroup-symbol has a numeric equivalent which is easier to use to convert between notations. Does not create an OBSymmetryData entry or attempt to convert between different symbol notations
void SetLatticeType | ( | const LatticeType | lt | ) | [inline] |
Set the Bravais lattice type for this unit cell.
double GetA | ( | ) | [inline] |
double GetB | ( | ) | [inline] |
double GetC | ( | ) | [inline] |
double GetAlpha | ( | ) | [inline] |
double GetBeta | ( | ) | [inline] |
double GetGamma | ( | ) | [inline] |
vector3 GetOffset | ( | ) | [inline] |
const std::string GetSpaceGroup | ( | ) | [inline] |
OBUnitCell::LatticeType GetLatticeType | ( | int | spacegroup | ) |
spacegroup
)
OBUnitCell::LatticeType GetLatticeType | ( | ) |
vector< vector3 > GetCellVectors | ( | ) |
matrix3x3 GetCellMatrix | ( | ) |
matrix3x3 GetOrthoMatrix | ( | ) |
Implements blue-obelisk:calculateOrthogonalisationMatrix.
matrix3x3 GetFractionalMatrix | ( | ) |
Matrix to convert from Cartesian to fractional Implements blue-obelisk:convertCartesianIntoFractionalCoordinates
int GetSpaceGroupNumber | ( | std::string | name | ) |
double GetCellVolume | ( | ) |
void SetAttribute | ( | const std::string & | v | ) | [inline, inherited] |
Set the attribute (key), which can be used to retrieve this data.
void SetOrigin | ( | const DataOrigin | s | ) | [inline, inherited] |
Set the origin of this data, which can be used to filter the data.
virtual const std::string& GetAttribute | ( | ) | const [inline, virtual, inherited] |
unsigned int GetDataType | ( | ) | const [inline, inherited] |
virtual const std::string& GetValue | ( | ) | const [inline, virtual, inherited] |
Base class returns a default value (the attribute type) but should never be called.
Reimplemented in OBCommentData, OBPairData, and OBPairTemplate.
virtual DataOrigin GetOrigin | ( | ) | const [inline, virtual, inherited] |
double _a [protected] |
double _b [protected] |
double _c [protected] |
double _alpha [protected] |
double _beta [protected] |
double _gamma [protected] |
std::string _spaceGroup [protected] |
int _numericSpaceGroup [protected] |
LatticeType _lattice [protected] |
std::string _attr [protected, inherited] |
attribute tag (e.g., "UnitCell", "Comment" or "Author")
unsigned int _type [protected, inherited] |
attribute type -- declared for each subclass
DataOrigin _source [protected, inherited] |
source of data for accounting