OBUnitCell Class Reference
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>

Detailed Description
Used for storing information about periodic boundary conditions with conversion to/from translation vectors and (a, b, c, alpha, beta, gamma)
Member Enumeration Documentation
enum LatticeType |
Constructor & Destructor Documentation
OBUnitCell | ( | ) |
public constructor
OBUnitCell | ( | const OBUnitCell & | src ) |
~OBUnitCell | ( | ) | [inline] |
Member Function Documentation
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
- Parameters:
-
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
- Parameters:
-
v1 The x-vector v2 The y-vector v3 The z-vector
- See also:
- OBUnitCell::GetCellVectors
void SetData | ( | const matrix3x3 | m ) |
Sets the unit cell matrix.
Implements blue-obelisk:calculateOrthogonalisationMatrix
- Parameters:
-
m The unit cell matrix (row vectors)
- See also:
- OBUnitCell::GetCellMatrix
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 | ( | ) |
- Returns:
- vector a
Referenced by OBUnitCell::GetLatticeType().
double GetB | ( | ) |
- Returns:
- vector b
Referenced by OBUnitCell::GetLatticeType().
double GetC | ( | ) |
- Returns:
- vector c
Referenced by OBUnitCell::GetLatticeType().
double GetAlpha | ( | ) |
- Returns:
- angle alpha
Referenced by OBUnitCell::GetLatticeType().
double GetBeta | ( | ) |
- Returns:
- angle beta
Referenced by OBUnitCell::GetLatticeType().
double GetGamma | ( | ) |
- Returns:
- angle gamma
Referenced by OBUnitCell::GetLatticeType().
vector3 GetOffset | ( | ) |
- Returns:
- any offset in the origin of the periodic boundaries
const SpaceGroup* GetSpaceGroup | ( | ) | [inline] |
- Returns:
- the text representation of the space group for this unit cell
Referenced by OBUnitCell::FillUnitCell().
const std::string GetSpaceGroupName | ( | ) | [inline] |
- Returns:
- the text representation of the space group for this unit cell
OBUnitCell::LatticeType GetLatticeType | ( | int | spacegroup ) |
- Returns:
- lattice type (based on the
spacegroup
)
OBUnitCell::LatticeType GetLatticeType | ( | ) |
- Returns:
- lattice type (based on angles and distances)
vector< vector3 > GetCellVectors | ( | ) |
Implements blue-obelisk:convertNotionalIntoCartesianCoordinates
- Returns:
- v1, v2, v3 cell vectors
matrix3x3 GetCellMatrix | ( | ) |
Access to the cell matrix as row vectors, useful for writing input files. Equivalent to the transpose of GetOrientationMatrix() * GetOrthoMatrix()
- Returns:
- The cell matrix with row vectors.
- See also:
- OBUnitCell::GetOrthoMatrix
- OBUnitCell::GetFractionalMatrix
- OBUnitCell::GetOrientationMatrix
- OBUnitCell::FractionalToCartesian
- OBUnitCell::CartesianToFractional
Referenced by OBUnitCell::GetCellVectors(), and OBUnitCell::GetCellVolume().
matrix3x3 GetOrthoMatrix | ( | ) |
- Returns:
- The orthogonalization matrix, used for converting from fractional to Cartesian coords.
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)
- Returns:
- The orientation matrix
matrix3x3 GetFractionalMatrix | ( | ) |
- Returns:
- The fractionalization matrix, used for converting from Cartesian to fractional coords.
Convenience function to convert fractional coordinates to cartesian coordinates. Returns
GetOrientationMatrix() * GetOrthoMatrix() * frac + GetOffset()
- Parameters:
-
frac Vector of fractional coordinates
- Returns:
- Cartesian coordinates
Referenced by OBUnitCell::FillUnitCell(), and OBUnitCell::WrapCartesianCoordinate().
Convenience function to convert cartesian coordinates to fractional coordinates. Returns
GetFractionalMatrix() * GetOrientationMatrix().inverse() * (cart - GetOffset())
- Parameters:
-
cart Vector of cartesian coordinates
- Returns:
- Fractional coordinates
Referenced by OBUnitCell::FillUnitCell(), and OBUnitCell::WrapCartesianCoordinate().
Wraps cartesian coordinate to fall within the unit cell.
- Parameters:
-
cart Vector of cartesian coordinates
- Returns:
- Cartesian coordinates within cell boundaries.
Wraps fractional coordinate to fall within the unit cell.
- Parameters:
-
frac Vector of fractional coordinates
- Returns:
- Fractional coordinates within cell boundaries (between 0 and 1).
Referenced by OBUnitCell::WrapCartesianCoordinate().
int GetSpaceGroupNumber | ( | std::string | name = "" ) |
- Returns:
- The numeric value of the given spacegroup
double GetCellVolume | ( | ) |
- Returns:
- The cell volume (in Angstroms^3)
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] |
- Returns:
- The attribute (key), which can be used to retrieve this data
Referenced by OBMoleculeFormat::MakeCombinedMolecule().
unsigned int GetDataType | ( | ) | const [inline, inherited] |
- Returns:
- the data type for this object as defined in OBGenericDataType
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] |
Member Data Documentation
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=().
The documentation for this class was generated from the following files: