#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 |
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(); }
enum Unit |
OBGridData | ( | ) |
Constructor.
~OBGridData | ( | ) |
Destructor.
void GetAxes | ( | double | x[3], | |
double | y[3], | |||
double | z[3] | |||
) | const |
vector3 GetXAxis | ( | ) | const |
vector3 GetYAxis | ( | ) | const |
vector3 GetZAxis | ( | ) | 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 |
OBGridData::Unit GetUnit | ( | ) | const |
double GetMinValue | ( | ) | const |
double GetMaxValue | ( | ) | const |
vector3 GetOriginVector | ( | ) | const |
void GetOriginVector | ( | double | o[3] | ) | const |
o | set to the origin (i.e., the minimum x, y, and z coords of the grid). |
vector3 GetMaxVector | ( | ) | const |
bool GetUnrestricted | ( | ) | const |
int GetNumSymmetries | ( | ) | const |
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] | |||
) |
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] |
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] |
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=().