Used for storing information about periodic boundary conditions with conversion to/from translation vectors and (a, b, c, alpha, beta, gamma) More...
#include <openbabel/generic.h>
Used for storing information about periodic boundary conditions with conversion to/from translation vectors and (a, b, c, alpha, beta, gamma)
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 | ||
) |
Constructs the cell matrix in lower triangular form from the values supplied.
Implements blue-obelisk:calculateOrthogonalisationMatrix
a | The length a |
b | The length b |
c | The length c |
alpha | The angle alpha |
beta | The angle beta |
gamma | The angle gamma |
Referenced by OBUnitCell::SetData().
Constructs the cell matrix using the supplied row vectors.
Implements blue-obelisk:calculateOrthogonalisationMatrix
v1 | The x-vector |
v2 | The y-vector |
v3 | The z-vector |
void SetData | ( | const matrix3x3 | m ) |
Sets the unit cell matrix.
Implements blue-obelisk:calculateOrthogonalisationMatrix
m | The unit cell matrix (row vectors) |
void SetOffset | ( | const vector3 | v1 ) |
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
Referenced by OBUnitCell::FillUnitCell().
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 | ( | ) |
Referenced by OBUnitCell::GetLatticeType().
double GetB | ( | ) |
Referenced by OBUnitCell::GetLatticeType().
double GetC | ( | ) |
Referenced by OBUnitCell::GetLatticeType().
double GetAlpha | ( | ) |
Referenced by OBUnitCell::GetLatticeType().
double GetBeta | ( | ) |
Referenced by OBUnitCell::GetLatticeType().
double GetGamma | ( | ) |
Referenced by OBUnitCell::GetLatticeType().
vector3 GetOffset | ( | ) |
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 | ( | ) |
Implements blue-obelisk:convertNotionalIntoCartesianCoordinates
matrix3x3 GetCellMatrix | ( | ) |
Access to the cell matrix as row vectors, useful for writing input files. Equivalent to the transpose of GetOrientationMatrix() * GetOrthoMatrix()
Referenced by OBUnitCell::GetCellVectors(), and OBUnitCell::GetCellVolume().
matrix3x3 GetOrthoMatrix | ( | ) |
matrix3x3 GetOrientationMatrix | ( | ) |
Used to convert fractional and cartesian coordinates if the cell is not oriented in standard form (a parallel to x axis, b in xy plane)
matrix3x3 GetFractionalMatrix | ( | ) |
Convenience function to convert fractional coordinates to cartesian coordinates. Returns
GetOrientationMatrix() * GetOrthoMatrix() * frac + GetOffset()
frac | Vector of fractional coordinates |
Referenced by OBUnitCell::FillUnitCell(), and OBUnitCell::WrapCartesianCoordinate().
Convenience function to convert cartesian coordinates to fractional coordinates. Returns
GetFractionalMatrix() * GetOrientationMatrix().inverse() * (cart - GetOffset())
cart | Vector of cartesian coordinates |
Referenced by OBUnitCell::FillUnitCell(), and OBUnitCell::WrapCartesianCoordinate().
Wraps cartesian coordinate to fall within the unit cell.
cart | Vector of cartesian coordinates |
Wraps fractional coordinate to fall within the unit cell.
frac | Vector of fractional coordinates |
Referenced by OBUnitCell::WrapCartesianCoordinate().
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(), OBMol::DoTransformations(), OBMol::FindLSSR(), OBMol::FindSSSR(), OBForceField::GetAtomTypes(), OBMol::GetFormula(), OBMol::GetLSSR(), OBForceField::GetPartialCharges(), OBMol::GetSSSR(), 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::FindLSSR(), OBMol::FindSSSR(), OBMol::FindTorsions(), OBMol::GetFormula(), OBMol::GetLSSR(), 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 OBDepict::DrawMolecule(), OBDescriptor::FilterCompare(), and OBDescriptor::GetValues().
virtual DataOrigin GetOrigin | ( | ) | const [inline, virtual, inherited] |
Referenced by OBUnitCell::CartesianToFractional(), OBUnitCell::FractionalToCartesian(), OBUnitCell::GetA(), OBUnitCell::GetAlpha(), OBUnitCell::GetB(), OBUnitCell::GetBeta(), OBUnitCell::GetC(), OBUnitCell::GetCellMatrix(), OBUnitCell::GetFractionalMatrix(), OBUnitCell::GetGamma(), OBUnitCell::GetOrthoMatrix(), OBUnitCell::operator=(), and OBUnitCell::SetData().
std::string _spaceGroupName [protected] |
Referenced by OBUnitCell::GetSpaceGroupNumber(), OBUnitCell::operator=(), and OBUnitCell::SetData().
const SpaceGroup* _spaceGroup [protected] |
LatticeType _lattice [protected] |
Referenced by OBUnitCell::GetLatticeType(), OBUnitCell::operator=(), and OBUnitCell::SetData().
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=().