#include <openbabel/generic.h>
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 SpaceGroup *sg) |
void | SetSpaceGroup (const std::string sg) |
void | SetSpaceGroup (const int sg) |
void | SetLatticeType (const LatticeType lt) |
void | FillUnitCell (OBMol *) |
double | GetA () |
double | GetB () |
double | GetC () |
double | GetAlpha () |
double | GetBeta () |
double | GetGamma () |
vector3 | GetOffset () |
const SpaceGroup * | GetSpaceGroup () |
const std::string | GetSpaceGroupName () |
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 | _spaceGroupName |
const SpaceGroup * | _spaceGroup |
LatticeType | _lattice |
std::string | _attr |
unsigned int | _type |
DataOrigin | _source |
enum LatticeType |
OBUnitCell | ( | ) |
public constructor
OBUnitCell | ( | const OBUnitCell & | src | ) |
~OBUnitCell | ( | ) | [inline] |
virtual OBGenericData* Clone | ( | OBBase * | ) | const [inline, virtual] |
Reimplemented from OBGenericData.
OBUnitCell & operator= | ( | const OBUnitCell & | src | ) |
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 SpaceGroup * | sg | ) | [inline] |
Set the space group for this unit cell. Does not create an OBSymmetryData entry
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.
void FillUnitCell | ( | OBMol * | mol | ) |
Duplicate symmetry-unique atoms to fill out the unit cell of the molecule, based on the known space group
double GetA | ( | ) | [inline] |
double GetB | ( | ) | [inline] |
double GetC | ( | ) | [inline] |
double GetAlpha | ( | ) | [inline] |
double GetBeta | ( | ) | [inline] |
double GetGamma | ( | ) | [inline] |
vector3 GetOffset | ( | ) | [inline] |
const SpaceGroup* GetSpaceGroup | ( | ) | [inline] |
Referenced by OBUnitCell::FillUnitCell().
const std::string GetSpaceGroupName | ( | ) | [inline] |
OBUnitCell::LatticeType GetLatticeType | ( | int | spacegroup | ) |
spacegroup
) OBUnitCell::LatticeType GetLatticeType | ( | ) |
vector< vector3 > GetCellVectors | ( | ) |
matrix3x3 GetCellMatrix | ( | ) |
matrix3x3 GetOrthoMatrix | ( | ) |
Implements blue-obelisk:calculateOrthogonalisationMatrix.
Referenced by OBUnitCell::FillUnitCell(), OBUnitCell::GetCellMatrix(), and OBUnitCell::GetCellVectors().
matrix3x3 GetFractionalMatrix | ( | ) |
Referenced by OBUnitCell::FillUnitCell().
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.
Referenced by OBGastChrg::AssignPartialCharges(), OBForceField::GetAtomTypes(), OBMol::GetFormula(), OBForceField::GetPartialCharges(), OBDescriptor::PredictAndSave(), and OBMol::SetFormula().
void SetOrigin | ( | const DataOrigin | s | ) | [inline, inherited] |
Set the origin of this data, which can be used to filter the data.
Referenced by OBGastChrg::AssignPartialCharges(), OpenBabel::CalcSignedVolume(), OBMol::FindAngles(), OBMol::FindSSSR(), OBMol::FindTorsions(), OBMol::GetFormula(), OBMol::GetSSSR(), OBDescriptor::PredictAndSave(), and OBMol::SetFormula().
virtual const std::string& GetAttribute | ( | ) | const [inline, virtual, inherited] |
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
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, and OBPairData.
Referenced by OBDescriptor::FilterCompare(), and OBDescriptor::GetValues().
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] |
Referenced by OBUnitCell::GetCellMatrix(), OBUnitCell::GetCellVectors(), OBUnitCell::operator=(), and OBUnitCell::SetData().
Referenced by OBUnitCell::GetCellMatrix(), OBUnitCell::GetCellVectors(), OBUnitCell::operator=(), and OBUnitCell::SetData().
translation vectors
Referenced by OBUnitCell::GetCellMatrix(), OBUnitCell::GetCellVectors(), OBUnitCell::operator=(), and OBUnitCell::SetData().
std::string _spaceGroupName [protected] |
Referenced by OBUnitCell::GetSpaceGroupNumber(), and OBUnitCell::operator=().
const SpaceGroup* _spaceGroup [protected] |
Referenced by OBUnitCell::GetLatticeType(), OBUnitCell::GetSpaceGroupNumber(), and OBUnitCell::operator=().
LatticeType _lattice [protected] |
Referenced by OBUnitCell::GetLatticeType(), and OBUnitCell::operator=().
std::string _attr [protected, inherited] |
attribute tag (e.g., "UnitCell", "Comment" or "Author")
Referenced by OBRotamerList::Clone(), and OBNasaThermoData::OBNasaThermoData().
unsigned int _type [protected, inherited] |
attribute type -- declared for each subclass
Referenced by OBRotamerList::Clone(), and OBNasaThermoData::OBNasaThermoData().
DataOrigin _source [protected, inherited] |
source of data for accounting
Referenced by OBChiralData::operator=(), OBTorsionData::operator=(), OBAngleData::operator=(), OBConformerData::operator=(), and OBSymmetryData::operator=().