|
||||||||||
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 typepublic 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 nullMethod 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_GENERIC
public int getSubType()
SST_ALTERNATING
,
SST_RANDOM
,
SST_BLOCK
public void setSubType(int t)
t
- the typegetSubType()
public int getConnectivity()
SCN_EITHER_UNKNOWN
,
SCN_HEAD_TO_HEAD
,
SCN_HEAD_TO_TAIL
public 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 atompublic 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 bondpublic 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 bondprotected 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
otherwisepublic static void sort(Sgroup[] sgroups, int o)
sgroups
- the array to sorto
- the sort orderSORT_PARENT_CHILD
,
SORT_CHILD_PARENT
public 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 |