OBGridData Class Reference
Store values for numeric grids such as orbitals or electrostatic potential. More...
#include <openbabel/griddata.h>

Public Types | |
| enum | Unit { BOHR, ANGSTROM, OTHER } |
Public Member Functions | |
| OBGridData () | |
| ~OBGridData () | |
| virtual OBGenericData * | Clone (OBBase *) const |
| 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 |
Property Methods | |
| void | GetAxes (double x[3], double y[3], double z[3]) const |
| vector3 | GetXAxis () const |
| vector3 | GetYAxis () const |
| vector3 | GetZAxis () const |
| void | GetAxes (vector3 &v1, vector3 &v2, vector3 &v3) const |
| void | GetNumberOfPoints (int &nx, int &ny, int &nz) const |
| int | GetNumberOfPoints () const |
| void | GetNumberOfSteps (int steps[3]) const |
| std::vector< double > | GetValues () const |
| double | GetValue (int i, int j, int k) const |
| double | GetValue (vector3 pos) const |
| Unit | GetUnit () const |
| double | GetMinValue () const |
| double | GetMaxValue () const |
| vector3 | GetOriginVector () const |
| void | GetOriginVector (double o[3]) const |
| vector3 | GetMaxVector () const |
| bool | GetUnrestricted () const |
| int | GetNumSymmetries () const |
Modification Methods | |
| void | SetNumberOfPoints (int nx, int ny, int nz) |
| void | SetLimits (const vector3 &origin, const vector3 &x, const vector3 &y, const vector3 &z) |
| void | SetLimits (const double origin[3], const double x[3], const double y[3], const double z[3]) |
| bool | SetValue (int i, int j, int k, double val) |
| void | SetValues (const std::vector< double > &v) |
| void | SetUnit (Unit u) |
| void | SetUnrestricted (bool u) |
| void | SetNumSymmetries (int s) |
Protected Attributes | |
| std::string | _attr |
| unsigned int | _type |
| DataOrigin | _source |
Detailed Description
Store values for numeric grids such as orbitals or electrostatic potential.
- Since:
- version 2.2
- See also:
- OBFloatGrid
Open Babel supports reading several types of grid file formats, including Gaussian cube, and OpenDX. The latter is notably used by the APBS program for numeric evaluation of molecular and protein electrostatic potential.
OBGridData *gd = new OBGridData; gd->SetAttribute("Example Grid"); // the title of the grid -- e.g., for user display vector<int> voxels(3); // the number of voxels in each direction vector3 origin; // the beginning x, y, z coordinate of the grid vector<vector3> axes; // the xyz displacements for each of the grid axes ... gd->SetNumberOfPoints(voxels[0], voxels[1], voxels[2]); gd->SetLimits(origin, axes[0], axes[1], axes[2]); gd->SetUnit(OBGridData::ANGSTROM); gd->SetOrigin(fileformatInput); // i.e., is this data from a file or determined by Open Babel for (int k = 0; k < voxels[2]; ++k) for (int j = 0; j < voxels[1]; ++j) for (int i = 0; i < voxels[0]; ++i) { gd->SetValue(i, j, k, grid[k*voxels[0]*voxels[1] + j*voxels[0] + i]); } mol->SetData(gd);
if (mol->HasData(OBGenericDataType::GridData)) { vector<OBGenericData*> grids = mol->GetAllData(OBGenericDataType::GridData) // Output the name of the grid if (grids[0] != NULL) cout << grids[0]->GetAttribute(); }
Member Enumeration Documentation
| enum Unit |
Constructor & Destructor Documentation
| OBGridData | ( | ) |
Constructor.
| ~OBGridData | ( | ) |
Destructor.
Member Function Documentation
| void GetAxes | ( | double | x[3], | |
| double | y[3], | |||
| double | z[3] | |||
| ) | const |
- Returns:
- the three axes parallel to the grid edges. The length of the returned vector is the step along that direction.
| vector3 GetXAxis | ( | ) | const |
- Returns:
- X axis direction.
| vector3 GetYAxis | ( | ) | const |
- Returns:
- Y axis direction.
| vector3 GetZAxis | ( | ) | const |
- Returns:
- Z axis direction.
- Returns:
- the three axes parallel to the grid edges
| void GetNumberOfPoints | ( | int & | nx, | |
| int & | ny, | |||
| int & | nz | |||
| ) | const |
- Returns:
- number of points along the three axes parallel to the grid edges.
| int GetNumberOfPoints | ( | ) | const |
- Returns:
- total number of points in the grid.
| void GetNumberOfSteps | ( | int | steps[3] | ) | const |
- Returns:
- number of points along the three axes parallel to the grid edges.
| std::vector< double > GetValues | ( | ) | const |
- Returns:
- grid values as a vector of doubles.
| double GetValue | ( | int | i, | |
| int | j, | |||
| int | k | |||
| ) | const |
| double GetValue | ( | vector3 | pos | ) | const |
- Returns:
- the value at a position in the grid (by interpolation)
| OBGridData::Unit GetUnit | ( | ) | const |
- Returns:
- the unit of measure for grid spacings.
| double GetMinValue | ( | ) | const |
- Returns:
- the minimum value of all points in the grid.
| double GetMaxValue | ( | ) | const |
- Returns:
- the maximum value of all points in the grid.
| vector3 GetOriginVector | ( | ) | const |
- Returns:
- vector3 of the origin (i.e., the minimum x, y, and z coords of the grid).
| void GetOriginVector | ( | double | o[3] | ) | const |
- Parameters:
-
o set to the origin (i.e., the minimum x, y, and z coords of the grid).
- Deprecated:
- Will be removed.
- See also:
- GetOriginVector()
| vector3 GetMaxVector | ( | ) | const |
- Returns:
- The maximum point in the grid.
| bool GetUnrestricted | ( | ) | const |
- Returns:
- the unrestricted flag.
| int GetNumSymmetries | ( | ) | const |
- Returns:
- the number of symmetries.
| void SetNumberOfPoints | ( | int | nx, | |
| int | ny, | |||
| int | nz | |||
| ) |
Set the limits (i.e., the origin point and the axes) NOTE: You must set the number of points first, with SetNumberOfPoints so the grid spacing can be calculated
Referenced by OBForceField::GetGrid().
| void SetLimits | ( | const double | origin[3], | |
| const double | x[3], | |||
| const double | y[3], | |||
| const double | z[3] | |||
| ) |
- Deprecated:
- Will be removed.
| bool SetValue | ( | int | i, | |
| int | j, | |||
| int | k, | |||
| double | val | |||
| ) |
| void SetValues | ( | const std::vector< double > & | v | ) |
Set the values, this vector must match the dimensions of the grid.
| void SetUnit | ( | OBGridData::Unit | u | ) |
Set the unit of measure.
| void SetUnrestricted | ( | bool | u | ) |
Set the unrestricted flag.
| void SetNumSymmetries | ( | int | s | ) |
Set the number of symmetries.
| virtual OBGenericData* Clone | ( | OBBase * | ) | const [inline, virtual, inherited] |
Reimplemented in AliasData, OBAtomClassData, OBCommentData, OBExternalBondData, OBPairData, OBSetData, OBVirtualBond, OBRingData, OBUnitCell, OBConformerData, OBSymmetryData, OBTorsionData, OBAngleData, OBChiralData, OBSerialNums, OBVibrationData, OBRotationData, OBVectorData, OBMatrixData, OBRateData, OBNasaThermoData, and OBRotamerList.
Referenced by OBBase::CloneData(), and OBMoleculeFormat::MakeCombinedMolecule().
| 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] |
- 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 OBDescriptor::FilterCompare(), and OBDescriptor::GetValues().
| virtual DataOrigin GetOrigin | ( | ) | const [inline, virtual, inherited] |
Member Data Documentation
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:

