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