Class MulticenterSgroup

java.lang.Object
chemaxon.struc.Sgroup
chemaxon.struc.sgroup.MulticenterSgroup
All Implemented Interfaces:
Serializable

@PublicAPI public class MulticenterSgroup extends Sgroup
Multicenter S-group to represent complexes like markush ring structures, ferrocenes, metallocenes...
This sgroup represents a group of atoms with an atom called central atom. The atomic number of this central atom is MolAtom.MULTICENTER. The represented atoms are in the sgroup graph. Only the parent molecule of the sgroup contains the central atom, the sgroup graph doesn't.
Since:
Marvin 5.0, 01/09/2007
See Also:
  • Constructor Details

    • MulticenterSgroup

      public MulticenterSgroup(Molecule parent)
      Constructs a Multicenter S-group. Please note the S-group is not added automatically to the parent molecule.
      Parameters:
      parent - the parent molecule
      Since:
      Marvin 5.0
      See Also:
    • MulticenterSgroup

      protected MulticenterSgroup(MulticenterSgroup sg, Molecule m, Sgroup psg)
      Copy constructor.
      Parameters:
      sg - the S-group to copy
      m - the new parent molecule
      psg - the new parent S-group or null
      Since:
      Marvin 5.0
    • MulticenterSgroup

      protected MulticenterSgroup(MulticenterSgroup sg, Molecule m, Sgroup psg, int[] atomIndexMap)
      Copy constructor.
      Parameters:
      sg - the S-group to copy
      m - the new parent molecule
      psg - the new parent S-group or null
      atomIndexMap - indices of cloned atoms in the original molecule or null
      Since:
      Marvin 5.0
  • Method Details

    • cloneSgroup

      protected Sgroup cloneSgroup(Molecule m, Sgroup psg, int[] atomIndexMap)
      Gets a new Sgroup instance.
      Overrides:
      cloneSgroup in class Sgroup
      Parameters:
      m - the new parent molecule
      psg - the new parent S-group
      atomIndexMap - indices of cloned atoms in the original molecule or null
      Returns:
      the new object
      Since:
      Marvin 5.0.2
    • addCentralAtom

      public void addCentralAtom()
      Adds a central atom to this sgroup.
    • recalcCentralAtom

      public DPoint3 recalcCentralAtom()
      Recalculates and sets the coordinates of the central atom of this sgroup.
      Returns:
      the recalculated coordinates of the central atom
    • hasBrackets

      public boolean hasBrackets()
      Does a bracket belong to this sgroup?
      Overrides:
      hasBrackets in class Sgroup
      Returns:
      returns false
    • hasNonCoordinateBond

      public boolean hasNonCoordinateBond()
      Decides whether the central atom of the sgroup has a non-coordinate bond.
      Returns:
      returns true if the central atom of the sgroup has at least one non-coordinate bond, false otherwise.
    • getCentralAtom

      public MolAtom getCentralAtom()
      Gets the central atom of this sgroup.
      Returns:
      the central atom
    • setCentralAtom

      public void setCentralAtom(MolAtom atom)
      Sets the central atom of this sgroup.
      Parameters:
      atom - the central atom
    • replaceMulticenterAtom

      @Deprecated(forRemoval=true) @SubjectToRemoval(date=JUL_01_2025) public void replaceMulticenterAtom(MolAtom atom, MolAtom atom2)
      Deprecated, for removal: This API element is subject to removal in a future version.
      as of Marvin 2014.08.25.0, use setCentralAtom(chemaxon.struc.MolAtom) instead
      Replace an existing central atom by a new one in this S-group and its parent (recursively).
      Parameters:
      atom - the original atom
      atom2 - the new atom
    • replaceAtom

      public void replaceAtom(MolAtom oldAtom, MolAtom newAtom, int opts)
      Description copied from class: Sgroup
      Replace an existing atom by a new one in this S-group and its parent (recursively).
      Overrides:
      replaceAtom in class Sgroup
      Parameters:
      oldAtom - the original atom
      newAtom - the new atom
      opts - options
      See Also: