Open Babel
3.0
|
#include <openbabel/stereo/tetraplanar.h>
Public Member Functions | |
OBTetraPlanarStereo (OBMol *mol) | |
virtual | ~OBTetraPlanarStereo () |
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 |
Geniric (for all OBStereo::Type) stereochemistry | |
OBMol * | GetMolecule () const |
virtual OBStereo::Type | GetType () const =0 |
void | SetSpecified (bool specified) |
bool | IsSpecified () const |
Static Public Member Functions | |
template<typename ConfigType > | |
static ConfigType | ToConfig (const ConfigType &cfg, unsigned long start, OBStereo::Shape shape=OBStereo::ShapeU) |
Protected Attributes | |
std::string | _attr |
unsigned int | _type |
DataOrigin | _source |
Base class for handling and storing planar stereochemistry with 4 reference atoms.
The four reference ids can be treated like a sequence of 4 numbers. Each element can only occur once. This means there are 4! = 24 combinations.
These are the 24 possible combinations or permutations.
Based on which reference ids are on opposite sides (180°), it is possible to divide these 24 combinations in three sets. For this it is also needed to make use of a shape to map the reference id indexes on the points in the plane. Without these shapes or a fixed meaning, these sequences have no meaning. The use of these shapes (U, Z & 4) is illustrated in the figure below:
In the figure, it can be seen the OBStereo::ShapeU implies the 1st reference id in the sequence is opposite to the 3th and the 2nd is opposite to the 4th. The same can be done for OBStereo::ShapeZ and OBStereo::Shape
Grouped by opposite reference ids using OBStereo::Shape4
Internally the reference ids are stored in a U shape. The OBTetraPlanarStereo::ToInternal() and OBTetraPlanarStereo::ToShape() methods convert between the internally used U shape and the other shapes.
Like all stereo classes, errors, warnings or info is reported using OBMessageHandler.
OBTetraPlanarStereo | ( | OBMol * | mol | ) |
|
virtual |
|
inlinestatic |
Referenced by OBCisTransConfig::operator==(), and OBSquarePlanarConfig::operator==().
|
inlineinherited |
Get the molecule. This can be used by subclasses when more information is needed (e.g. OBCisTransStereo::GetCisRef, ...).
|
pure virtualinherited |
Reimplemented by subclasses to return the type defined in OBStereo::Type.
Implemented in OBCisTransStereo, OBTetrahedralStereo, and OBSquarePlanarStereo.
|
inlineinherited |
Set whether the stereochemistry is specified. Comparing a specified OBStereoBase derived class (or it's Config struct) with an unspecified one, always returns true.
|
inlineinherited |
|
inlinevirtualinherited |
Reimplemented in OBMatrixData, OBVectorData, OBRotationData, OBElectronicTransitionData, OBOrbitalData, OBDOSData, OBVibrationData, OBSerialNums, OBAngleData, OBTorsionData, OBSymmetryData, OBConformerData, OBUnitCell, OBCisTransStereo, OBRingData, OBVirtualBond, OBTetrahedralStereo, OBSquarePlanarStereo, OBSetData, OBNasaThermoData, OBPairTemplate< ValueT >, OBPairData, OBExternalBondData, AliasData, OBRotamerList, OBCommentData, and OBRateData.
Referenced by OBBase::CloneData(), OBAtom::Duplicate(), OBMoleculeFormat::MakeCombinedMolecule(), and OBMol::operator=().
|
inlineinherited |
Set the attribute (key), which can be used to retrieve this data.
Referenced by OBGastChrg::AssignPartialCharges(), OpenBabel::ComparePairSecond(), OBMol::DoTransformations(), OBMol::FindLSSR(), OBMol::FindSSSR(), OBForceField::GetAtomTypes(), OBMol::GetFormula(), OBMol::GetLSSR(), OBForceField::GetPartialCharges(), OBMol::GetSSSR(), OBDescriptor::PredictAndSave(), and OBMol::SetFormula().
|
inlineinherited |
Set the origin of this data, which can be used to filter the data.
Referenced by OBGastChrg::AssignPartialCharges(), OpenBabel::ComparePairSecond(), OBMol::DoTransformations(), OBMol::FindAngles(), OBMol::FindLSSR(), OBMol::FindSSSR(), OBMol::FindTorsions(), OBMol::GetFormula(), OBMol::GetLSSR(), OBMol::GetSSSR(), OBDescriptor::PredictAndSave(), and OBMol::SetFormula().
|
inlinevirtualinherited |
Referenced by OpenBabel::extract_thermochemistry(), and OBMoleculeFormat::MakeCombinedMolecule().
|
inlineinherited |
|
inlinevirtualinherited |
Base class returns a default value (the attribute type) but should never be called.
Reimplemented in OBPairData, and OBCommentData.
Referenced by OBDepict::AddAtomLabels(), OBDepict::DrawMolecule(), OBDescriptor::FilterCompare(), and OBDescriptor::GetValues().
|
inlinevirtualinherited |
|
protectedinherited |
attribute tag (e.g., "UnitCell", "Comment" or "Author")
Referenced by OBRotamerList::Clone(), and OBNasaThermoData::OBNasaThermoData().
|
protectedinherited |
attribute type – declared for each subclass
Referenced by OBRotamerList::Clone(), and OBNasaThermoData::OBNasaThermoData().
|
protectedinherited |
source of data for accounting
Referenced by OBConformerData::operator=(), OBSymmetryData::operator=(), OBTorsionData::operator=(), and OBAngleData::operator=().