public final class ExtendedTetrahedral extends Object
 p0           p2     p<i>: periphals
  \          /       t<i>: terminals
   t0 = f = t1       f:    focus
  /          \
 p1           p3
 
 The data structure stores, the central 'focus' atom and the four peripheral
 atoms. The peripheral atoms are stored in a single array, {p0, p1,
 p2, p3}, the first two and last two entries should be attached to the same
 terminal atom (t0 or t1). For convenience the terminal atoms can be found with
 findTerminalAtoms(IAtomContainer).
 
 
 p0           p2          p0   p2
  \          /              \ /
   t0 = f = t1       -->     c       c: t0/f/t1
  /          \              / \
 p1           p3           p1  p3
 
 The configuration treats the focus and terminal atoms as a single atom, the
 neighbours {p1, p2, p3} then proceeded either clockwise or
 anti-clockwise when the centre (t0/f/t1) is viewed from the first peripheral
 atom p0.
 
 If any of the peripherals are implicit hydrogen atoms, then the terminal atom
 to which the hydrogen is attached can be used as a placeholder.| Modifier and Type | Field and Description | 
|---|---|
protected static int | 
A  | 
protected static int | 
B  | 
protected static int | 
C  | 
protected static int | 
D  | 
protected static int | 
E  | 
protected static int | 
F  | 
AL, Allenal, AT, Atropisomeric, CFG_MASK, CisTrans, CLS_MASK, CT, CU, Cumulene, GRP_ABS, GRP_MASK, GRP_NUM_MASK, GRP_NUM_SHIFT, GRP_RAC, GRP_RAC1, GRP_RAC2, GRP_RAC3, GRP_RAC4, GRP_RAC5, GRP_REL, GRP_REL1, GRP_REL2, GRP_REL3, GRP_REL4, GRP_REL5, GRP_TYPE_MASK, HBPY8, HBPY9, HeptagonalBipyramidal, HexagonalBipyramidal, LEFT, OC, Octahedral, OPPOSITE, PBPY, PentagonalBipyramidal, RIGHT, SP, SP4, SPU, SPY, SPZ, SquarePlanar, SquarePyramidal, TBPY, Tetrahedral, TH, TOGETHER, TrigonalBipyramidal| Constructor and Description | 
|---|
ExtendedTetrahedral(IAtom focus,
                   IAtom[] peripherals,
                   int config)  | 
ExtendedTetrahedral(IAtom focus,
                   IAtom[] peripherals,
                   ITetrahedralChirality.Stereo winding)
Create an extended tetrahedral stereo element for the provided 'focus'
 and 'peripherals' in the given 'winding'. 
 | 
| Modifier and Type | Method and Description | 
|---|---|
boolean | 
contains(IAtom atom)
Does the stereo element contain the provided atom. 
 | 
protected IStereoElement<IAtom,IAtom> | 
create(IAtom focus,
      List<IAtom> carriers,
      int cfg)  | 
IAtom[] | 
findTerminalAtoms(IAtomContainer container)
Helper method to locate two terminal atoms in a container for this
 extended tetrahedral element. 
 | 
static IAtom[] | 
findTerminalAtoms(IAtomContainer container,
                 IAtom focus)
Helper method to locate two terminal atoms in a container for a given
 focus. 
 | 
IAtom | 
focus()
The central atom in the cumulated system. 
 | 
IChemObjectBuilder | 
getBuilder()
Returns a  
IChemObjectBuilder for the data classes that extend
 this class. | 
List<C> | 
getCarriers()
The carriers of the stereochemistry 
 | 
int | 
getConfig()
Access the configuration order and class of the stereochemistry. 
 | 
int | 
getConfigClass()
The configuration class of the stereochemistry. 
 | 
int | 
getConfigOrder()
The configuration order of the stereochemistry. 
 | 
F | 
getFocus()
The focus atom or bond at the 'centre' of the stereo-configuration. 
 | 
int | 
getGroupInfo()
Access the stereo group information - see class doc. 
 | 
static int | 
getLength(IAtomContainer container,
         IAtom focus)  | 
protected static <T> T[] | 
invapply(T[] src,
        int[] perm)  | 
IStereoElement<F,C> | 
map(Map<IAtom,IAtom> atoms,
   Map<IBond,IBond> bonds)
Map the atoms/bonds in this instance to a new stereo element using the
 provided atom/bond mapping. 
 | 
IStereoElement<F,C> | 
map(Map<IChemObject,IChemObject> chemobjs)  | 
protected static int | 
numCarriers(int cfg)  | 
IAtom[] | 
peripherals()
The neighbouring peripherals atoms, these are attached to the terminal
 atoms in the cumulated system. 
 | 
protected void | 
setBuilder(IChemObjectBuilder builder)  | 
void | 
setConfigOrder(int cfg)
Set the configuration order of the stereochemistry. 
 | 
void | 
setGroupInfo(int grp)
Set the stereo group information - see class doc. 
 | 
ITetrahedralChirality.Stereo | 
winding()
The winding of the peripherals, when viewed from the first atom. 
 | 
protected static final int A
protected static final int B
protected static final int C
protected static final int D
protected static final int E
protected static final int F
public ExtendedTetrahedral(IAtom focus, IAtom[] peripherals, ITetrahedralChirality.Stereo winding)
focus - the central cumulated atomperipherals - atoms attached to the terminal atomswinding - the configurationpublic IAtom focus()
public IAtom[] peripherals()
public ITetrahedralChirality.Stereo winding()
public static IAtom[] findTerminalAtoms(IAtomContainer container, IAtom focus)
container - structure representationfocus - cumulated atompublic IAtom[] findTerminalAtoms(IAtomContainer container)
container - structure representationpublic static int getLength(IAtomContainer container, IAtom focus)
protected static int numCarriers(int cfg)
public F getFocus()
getFocus in interface IStereoElement<F extends IChemObject,C extends IChemObject>public List<C> getCarriers()
getCarriers in interface IStereoElement<F extends IChemObject,C extends IChemObject>public int getConfigClass()
getConfigClass in interface IStereoElement<F extends IChemObject,C extends IChemObject>public int getConfigOrder()
getConfigOrder in interface IStereoElement<F extends IChemObject,C extends IChemObject>public int getConfig()
getConfig in interface IStereoElement<F extends IChemObject,C extends IChemObject>public void setConfigOrder(int cfg)
setConfigOrder in interface IStereoElement<F extends IChemObject,C extends IChemObject>cfg - the new configurationpublic int getGroupInfo()
getGroupInfo in interface IStereoElement<F extends IChemObject,C extends IChemObject>public void setGroupInfo(int grp)
setGroupInfo in interface IStereoElement<F extends IChemObject,C extends IChemObject>grp - the group infopublic boolean contains(IAtom atom)
contains in interface IStereoElement<F extends IChemObject,C extends IChemObject>atom - an atom to test membershippublic IStereoElement<F,C> map(Map<IAtom,IAtom> atoms, Map<IBond,IBond> bonds)
map in interface IStereoElement<F extends IChemObject,C extends IChemObject>atoms - nullable atom mapping, used to convert the original atoms to their mapped
              counterpartsbonds - nullable bond mapping, used to convert the original bonds to their mapped
              counterpartspublic IStereoElement<F,C> map(Map<IChemObject,IChemObject> chemobjs)
map in interface IStereoElement<F extends IChemObject,C extends IChemObject>public IChemObjectBuilder getBuilder()
IChemObjectBuilder for the data classes that extend
 this class.getBuilder in interface ICDKObjectIChemObjectBuilder matching this ICDKObjectprotected void setBuilder(IChemObjectBuilder builder)
protected static <T> T[] invapply(T[] src,
                                  int[] perm)
Copyright © 2022. All rights reserved.