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=().