|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectchemaxon.struc.Sgroup
S-group.
| Field Summary | |
static int |
SCN_EITHER_UNKNOWN
Either unknown S-group connectivity. |
static int |
SCN_HEAD_TO_HEAD
Head-to-head S-group connectivity. |
static int |
SCN_HEAD_TO_TAIL
Head-to-tail S-group connectivity. |
protected SelectionMolecule |
sgroupGraph
The S-group's internal structure. |
protected int |
sgroupType
The S-group type. |
static int |
SORT_CHILD_PARENT
Parent-child sort order. |
static int |
SORT_PARENT_CHILD
Parent-child sort order. |
static int |
SST_ALTERNATING
Alternating polymer S-group subtype. |
static int |
SST_BLOCK
Block polymer S-group subtype. |
static int |
SST_RANDOM
Random polymer S-group subtype. |
static int |
ST_ANY
Any polymer S-group type. |
static int |
ST_COPOLYMER
Copolymer S-group type. |
static int |
ST_CROSSLINK
Crosslink S-group type. |
static int |
ST_DATA
Data S-group type. |
static int |
ST_FORMULATION
Formulation S-group type. |
static int |
ST_GENERIC
Generic S-group type. |
static int |
ST_MER
Mer S-group type. |
static int |
ST_MIXTURE
Mixture S-group type. |
static int |
ST_MODIFICATION
Modification S-group type. |
static int |
ST_MONOMER
Monomer S-group type. |
static int |
ST_MULTIPLE
Multiple group S-group type. |
static int |
ST_SRU
SRU S-group type. |
static int |
ST_SUPERATOM
Superatom S-group type. |
static int |
XSTATE_C
S-group is contracted (useful only in GUI!). |
static int |
XSTATE_NONE
S-group is in an undetermined state. |
static int |
XSTATE_X
S-group is expanded. |
static int |
XSTATE_XC
S-group is expanded but its atoms have the same coordinates as in contracted state. |
| Constructor Summary | |
|
Sgroup(Molecule parent,
int t)
Creates an S-group with the specified parent and type. |
|
Sgroup(Molecule parent,
int t,
int xstate)
Creates an S-group with the specified parent and type. |
protected |
Sgroup(Sgroup sg,
Molecule m,
Sgroup psg)
Copy constructor. |
| Method Summary | |
void |
add(MolAtom a)
Adds a new atom to the S-group. |
void |
addChildSgroup(Sgroup sg)
Adds a child S-group. |
boolean |
areChildSgroupsVisible()
Checks whether the child S-groups are visible. |
Sgroup |
cloneSgroup(Molecule m,
Sgroup psg)
Gets a new Sgroup instance. |
SelectionMolecule |
cloneStructure()
Gets the clone of the structure stored. |
boolean |
containsAllAtomsOf(Sgroup sg)
Checks if the S-group contains the atoms of another S-group. |
protected boolean |
contract(int opts)
Sets the state to XSTATE_C. |
int |
countAllAtoms()
Counts the total number of atoms recursively. |
Molecule |
createMolecule()
Creates a molecule object that contains only this group. |
protected boolean |
expand(int f)
Sets the state to XSTATE_X or XSTATE_XC. |
MolBond[] |
findCrossingBonds()
Finds the crossing bonds. |
Sgroup |
findSmallestSgroupContaining(MolAtom a)
Finds the smallest S-group containing the specified node. |
Sgroup |
findSmallestSgroupOf(MolAtom a)
Finds the smallest S-group that has the specified node. |
MolAtom |
getAtom(int i)
Gets an atom in the S-group. |
MolAtom[] |
getAtomArray()
Gets the array of atoms in the S-group. |
int |
getAtomCount()
Gets the number of atoms in the S-group. |
Sgroup |
getChildSgroup(int i)
Gets a child S-group. |
int |
getChildSgroupCount()
Gets the number of child S-groups. |
int |
getConnectivity()
Gets S-group connectivity. |
MolAtom[] |
getCrossingAtoms(MolBond[] xbonds)
Gets the atoms that have crossing bonds. |
Molecule |
getParentMolecule()
Gets the parent molecule. |
Sgroup |
getParentSgroup()
Gets the parent S-group. |
SelectionMolecule |
getSgroupGraph()
Gets the molecule graph. |
java.lang.String |
getSubscript()
Gets the subscript for non-superatom S-groups. |
int |
getSubType()
Gets polymer S-group subtype. |
java.lang.String |
getSuperscript()
Gets the superscript for non-superatom S-groups. |
int |
getType()
Gets S-group type. |
int |
getXState()
Gets the expanded/contracted state. |
boolean |
hasAtom(MolAtom a)
Is the specified atom an element of this group? |
boolean |
hasBrackets()
Checks if brackets should be painted or not. |
int |
indexOf(MolAtom a)
Gets the atom index in the S-group graph. |
boolean |
isBracketVisible()
Tests whether the bracket is visible. |
boolean |
isEmpty()
Is it an empty S-group? |
boolean |
isVisible()
Checks whether this group is 'visible' (all parents are expanded in case of superatom S-groups) or not. |
void |
removeAtom(MolAtom a)
Removes an atom and its bonds from the S-group. |
protected void |
removeBond(MolBond b)
Removes a bond from the S-group. |
void |
removeEdges()
Removes the edge references. |
protected static void |
removeGroupedAtom(MoleculeGraph m,
MolAtom a,
MolBond[] v)
Removes an atom from the molecule and remove its specified bonds. |
void |
replaceAtom(MolAtom olda,
MolAtom newa)
Replace an existing atom by a new one in this S-group and its parent (recursively). |
void |
setAtom(int i,
MolAtom a)
Sets the specified atom in the S-group graph. |
void |
setConnectivity(int c)
Sets S-group connectivity. |
void |
setGUIStateRecursively(boolean v)
Sets the expanded/contracted state recursively. |
protected void |
setParentMolecule(Molecule p)
Sets the parent molecule. |
void |
setSgroupGraph(SelectionMolecule smol)
Sets the molecule graph. |
void |
setSubscript(java.lang.String s)
Sets the subscript for non-superatom S-groups. |
void |
setSubType(int t)
Sets polymer S-group subtype. |
void |
setXState(int state)
Sets the expanded/contracted state. |
static void |
sort(Sgroup[] sgroups,
int o)
Sorts S-groups in parent-child or child-parent order. |
java.lang.String |
toString()
Overrides Object.toString() to ease debugging. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
| Field Detail |
public static final int ST_SUPERATOM
public static final int ST_MULTIPLE
public static final int ST_SRU
public static final int ST_MONOMER
public static final int ST_MER
public static final int ST_COPOLYMER
public static final int ST_CROSSLINK
public static final int ST_MODIFICATION
public static final int ST_MIXTURE
public static final int ST_FORMULATION
public static final int ST_DATA
public static final int ST_ANY
public static final int ST_GENERIC
public static final int SST_ALTERNATING
public static final int SST_RANDOM
public static final int SST_BLOCK
public static final int SCN_EITHER_UNKNOWN
public static final int SCN_HEAD_TO_HEAD
public static final int SCN_HEAD_TO_TAIL
public static final int XSTATE_NONE
setXState(int),
Constant Field Valuespublic static final int XSTATE_X
setXState(int),
Constant Field Valuespublic static final int XSTATE_C
setXState(int),
Constant Field Valuespublic static final int XSTATE_XC
setXState(int),
Constant Field Valuespublic static final int SORT_PARENT_CHILD
sort(Sgroup[], int),
Constant Field Valuespublic static final int SORT_CHILD_PARENT
sort(Sgroup[], int),
Constant Field Valuesprotected transient int sgroupType
protected transient SelectionMolecule sgroupGraph
| Constructor Detail |
public Sgroup(Molecule parent,
int t)
parent - the parent moleculet - S-group type
public Sgroup(Molecule parent,
int t,
int xstate)
parent - the parent moleculet - S-group typexstate - the expanded statesetXState(int)
protected Sgroup(Sgroup sg,
Molecule m,
Sgroup psg)
sg - the S-group to copym - the new parent moleculepsg - the new parent S-group or null| Method Detail |
public void setSgroupGraph(SelectionMolecule smol)
smol - the molecule graphpublic SelectionMolecule getSgroupGraph()
protected final void setParentMolecule(Molecule p)
p - the parent moleculepublic final Molecule getParentMolecule()
public final int getChildSgroupCount()
public final Sgroup getChildSgroup(int i)
i - the child index
public final void addChildSgroup(Sgroup sg)
sg - the childpublic final Sgroup findSmallestSgroupContaining(MolAtom a)
a - the node
public final Sgroup findSmallestSgroupOf(MolAtom a)
a - the node
public final Sgroup getParentSgroup()
public final int getXState()
XSTATE_X,
XSTATE_C,
XSTATE_XC
public final void setXState(int state)
throws java.lang.IllegalArgumentException
state - the expanded/contracted state
java.lang.IllegalArgumentException - if the group is invisible
(it has a non-expanded parent)XSTATE_X,
XSTATE_C,
XSTATE_XC
public final void setGUIStateRecursively(boolean v)
throws java.lang.IllegalArgumentException
v - true sets XSTATE_C if previous state was
XSTATE_XC, false sets XSTATE_XC if previous
state was XSTATE_C, no operation in other cases
java.lang.IllegalArgumentException - if the group is invisible
(it has a non-expanded parent)setXState(int)
protected boolean expand(int f)
throws java.lang.IllegalArgumentException
XSTATE_X or XSTATE_XC.
f - options, only the Expandable.REVERSIBLE_EXPAND
and the Expandable.MDL_EXPAND flags are taken
into account
java.lang.IllegalArgumentException - if the group is invisible
(it has a non-expanded parent)setXState(int)
protected boolean contract(int opts)
throws java.lang.IllegalArgumentException
XSTATE_C.
opts - neglected
java.lang.IllegalArgumentException - if the group is invisible
(it has a non-expanded parent)setXState(int)public java.lang.String getSuperscript()
public java.lang.String getSubscript()
public void setSubscript(java.lang.String s)
s - the subscriptpublic int getType()
ST_SUPERATOM,
ST_MULTIPLE,
ST_SRU,
ST_MONOMER,
ST_MER,
ST_COPOLYMER,
ST_CROSSLINK,
ST_MODIFICATION,
ST_MODIFICATION,
ST_MIXTURE,
ST_FORMULATION,
ST_DATA,
ST_ANY,
ST_GENERICpublic int getSubType()
SST_ALTERNATING,
SST_RANDOM,
SST_BLOCKpublic void setSubType(int t)
t - the typegetSubType()public int getConnectivity()
SCN_EITHER_UNKNOWN,
SCN_HEAD_TO_HEAD,
SCN_HEAD_TO_TAILpublic void setConnectivity(int c)
c - the connectivitygetConnectivity()public boolean hasBrackets()
public final SelectionMolecule cloneStructure()
public Molecule createMolecule()
public final MolAtom[] getAtomArray()
public final MolAtom getAtom(int i)
i - the atom index
public final int countAllAtoms()
public final boolean isEmpty()
public Sgroup cloneSgroup(Molecule m,
Sgroup psg)
m - the new parent moleculepsg - the new parent S-group
public final int getAtomCount()
public int indexOf(MolAtom a)
a - the atom
public boolean hasAtom(MolAtom a)
a - the atom
public boolean containsAllAtomsOf(Sgroup sg)
public void add(MolAtom a)
a - the atom
public void setAtom(int i,
MolAtom a)
i - the indexa - the atompublic void removeEdges()
public void removeAtom(MolAtom a)
a - the atomprotected void removeBond(MolBond b)
b - the bond
public void replaceAtom(MolAtom olda,
MolAtom newa)
olda - the original atomnewa - the new atompublic MolBond[] findCrossingBonds()
public MolAtom[] getCrossingAtoms(MolBond[] xbonds)
throws java.lang.IllegalArgumentException
xbonds - the crossing bonds
java.lang.IllegalArgumentException - if a bond in the specified
array is not a crossing bond
protected static void removeGroupedAtom(MoleculeGraph m,
MolAtom a,
MolBond[] v)
m - the molecule grapha - the atomv - bonds to remove from the atom, remove all bonds if nullCGraph.removeNode(int, int)public boolean areChildSgroupsVisible()
public final boolean isVisible()
public boolean isBracketVisible()
true if visible, false otherwise
public static void sort(Sgroup[] sgroups,
int o)
sgroups - the array to sorto - the sort orderSORT_PARENT_CHILD,
SORT_CHILD_PARENTpublic java.lang.String toString()
@', and the unsigned
hexadecimal representation of the hash code of the object.
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||