Class: AbstractAtom

AbstractAtom

new AbstractAtom(id, coord2D, coord3D)

Represent an abstract atom, parent for dummy atom, concrete atom or variable atom.
Parameters:
Name Type Description
id String Id of this node.
coord2D Object The 2D coordinates of node, {x, y}, can be null.
coord3D Object The 3D coordinates of node, {x, y, z}, can be null.
Properties:
Name Type Description
explicitHydrogenCount Int Explicit hydrogen count on atom.
Source:

Extends

Methods

appendLinkedConnector(connector)

Link a connector to this node.
Parameters:
Name Type Description
connector Kekule.ChemStructureConnector
Inherited From:
Source:

compareStructure(targetObj, options) → {Int}

Explicit set compare method to chem structure and compare to targetObj.
Parameters:
Name Type Description
targetObj Kekule.ChemObject
options Hash
Inherited From:
Source:
Returns:
Type
Int

doMayContainElement(atomicNum) → {Bool}

Do actual judge of method mayContainElement. Descendants need to override this method.
Parameters:
Name Type Description
atomicNum Int
Source:
Returns:
Type
Bool

equalStructure(targetObj, options) → {Bool}

Check if this object and targetObj has equivalent chem structure.
Parameters:
Name Type Description
targetObj Kekule.ChemObject
options Hash
Inherited From:
Source:
Returns:
Type
Bool

fetchChargeMarker() → {Kekule.ChemMarker.ChemPropertyMarker}

Get charge marker of node. If no such a marker currently and canCreate is true, a new marker will be created.
Inherited From:
Source:
Returns:
Type
Kekule.ChemMarker.ChemPropertyMarker

fetchRadicalMarker() → {Kekule.ChemMarker.ChemPropertyMarker}

Get radical marker of node. If no such a marker currently and canCreate is true, a new marker will be created.
Inherited From:
Source:
Returns:
Type
Kekule.ChemMarker.ChemPropertyMarker

getConnectorTo(obj) → {Kekule.ChemStructureConnector}

Get connector between this object and another object.
Parameters:
Name Type Description
obj Kekule.ChemStructureObject
Inherited From:
Source:
Returns:
Type
Kekule.ChemStructureConnector

getContainerBox(coordMode, allowCoordBorrow) → {Hash}

Calculate the box to contain the object. Descendants may override this method.
Parameters:
Name Type Description
coordMode Int Determine to calculate 2D or 3D box. Value from Kekule.CoordMode.
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Box information. {x1, y1, z1, x2, y2, z2} (in 2D mode z1 and z2 will not be set).
Type
Hash

getContainerBox2D(allowCoordBorrow) → {Hash}

Calculate the 2D box to contain the object.
Parameters:
Name Type Description
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Box information. {x1, y1, z1, x2, y2, z2} (in 2D mode z1 and z2 will not be set).
Type
Hash

getContainerBox3D(allowCoordBorrow) → {Hash}

Calculate the 3D box to contain the object.
Parameters:
Name Type Description
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Box information. {x1, y1, z1, x2, y2, z2} (in 2D mode z1 and z2 will not be set).
Type
Hash

getCurrConnectableObj() → {Kekule.ChemStructureObject}

Returns self or child object that can directly linked to a connector. For atom or other simple chem objetc, this function should just returns self, for structure fragment, this function need to returns an anchor node.
Inherited From:
Source:
Returns:
Type
Kekule.ChemStructureObject

getHydrogenCount(includingBondedHydrogen)

Returns hydrogen count linked to this atom. Same as getExplicitHydrogenCount if includingBondedHydrogen is false.
Parameters:
Name Type Description
includingBondedHydrogen Bool If true, hydrogen siblings will also be take into consideration.
Source:

getLabel() → {String}

Returns a label that represents current node. Desendants should override this method.
Inherited From:
Source:
Returns:
Type
String

getLinkedBonds(bondType) → {Array}

Returns linked instances of Kekule.Bond to this node.
Parameters:
Name Type Description
bondType Int
Inherited From:
Source:
Returns:
Type
Array

getLinkedChemNodes(ignoreHydrogenAtoms) → {Array}

Returns neighbor nodes linked to this node through proper connectors.
Parameters:
Name Type Description
ignoreHydrogenAtoms Bool Whether explicit hydrogen atoms are returned. Default is false.
Inherited From:
Source:
Returns:
Type
Array

getLinkedConnectorAt(index) → {Kekule.ChemStructureConnector}

Get linked connector object at index.
Parameters:
Name Type Description
index Int
Inherited From:
Source:
Returns:
Type
Kekule.ChemStructureConnector

getLinkedConnectorCount() → {Int}

Return count of linkedConnectors.
Inherited From:
Source:
Returns:
Type
Int

getLinkedDoubleBonds() → {Array}

Returns linked double covalent bond to this node.
Inherited From:
Source:
Returns:
Type
Array

getLinkedHydrogenAtoms() → {Array}

Returns linked hydrogen atoms.
Inherited From:
Source:
Returns:
Type
Array

getLinkedMultipleBonds() → {Array}

Returns linked multiple covalent bond to this node.
Inherited From:
Source:
Returns:
Type
Array

getLinkedNonHydrogenConnectors() → {Array}

Returns connectors that connected to a non hydrogen node.
Inherited From:
Source:
Returns:
Type
Array

getLinkedNonHydrogenObjs() → {Array}

Returns linked objects except hydrogen atoms.
Inherited From:
Source:
Returns:
Type
Array

getLinkedObjsOnConnector() → {Array}

Returns other objects connected to this one through connector.
Inherited From:
Source:
Returns:
Type
Array

getParentFragment() → {Kekule.StructureFragment}

If Kekule.ChemStructureObject#parent is a Kekule.StructureFragment, returns this fragment.
Inherited From:
Source:
Returns:
Type
Kekule.StructureFragment

getPrimaryIsotope() → {Kekule.Isotope}

Returns the most possible isotope of node. To Kekule.Atom, this should be simplely the isotope of atom while variable atom or pseudoatom may has its own implementation. This method returns null if isotope is uncertain to this node. Descendants need to override this method.
Inherited From:
Source:
Returns:
Type
Kekule.Isotope

getRootFragment() → {Kekule.StructureFragment}

Returns the root parent of Kekule.StructureFragment, rather than subgroups.
Inherited From:
Source:
Returns:
Type
Kekule.StructureFragment

indexOfLinkedConnector(connector) → {Int}

Returns index of connector connected to node.
Parameters:
Name Type Description
connector Kekule.ChemStructureConnector
Inherited From:
Source:
Returns:
Type
Int

isHydrogenAtom() → {Bool}

Returns whether this node is a H atom (but not D or T).
Inherited From:
Source:
Returns:
Type
Bool

isSaturated() → {Bool}

Returns whether this atom is a saturated one.
Source:
Returns:
Type
Bool

mayContainElement(atomicNumberOrSymbol) → {Bool}

Returns when this node is an atom of certain element or maybe or may include element (peusdo atom or atom list).
Parameters:
Name Type Description
atomicNumberOrSymbol Variant
Source:
Returns:
Type
Bool

removeLinkedConnector(connector)

Remove a connector in linkedContainer.
Parameters:
Name Type Description
connector Kekule.ChemStructureConnector
Inherited From:
Source:

removeLinkedConnectorAt(index)

Remove connector at index of linkedConnectors.
Parameters:
Name Type Description
index Int
Inherited From:
Source:

removeThisFromLinkedConnector()

Remove this node from all linked connectors. Ths method should be called before a object is removed from a structure.
Inherited From:
Source:

setHydrogenCount(value)

Same as setExplicitHydrogenCount.
Parameters:
Name Type Description
value Int
Source:

Events

structureChange

Invoked when object is changed and the change is related with structure (e.g. modify a bond, change a atomic number...). Event has field: {origin: the change source object (may be a child of event.target}.
Inherited From:
Source:

AbstractAtom

new AbstractAtom()

Source:

Methods

appendLinkedConnector(connector)

Link a connector to this node.
Parameters:
Name Type Description
connector Kekule.ChemStructureConnector
Inherited From:
Source:

compareStructure(targetObj, options) → {Int}

Explicit set compare method to chem structure and compare to targetObj.
Parameters:
Name Type Description
targetObj Kekule.ChemObject
options Hash
Inherited From:
Source:
Returns:
Type
Int

doMayContainElement(atomicNum) → {Bool}

Do actual judge of method mayContainElement. Descendants need to override this method.
Parameters:
Name Type Description
atomicNum Int
Source:
Returns:
Type
Bool

equalStructure(targetObj, options) → {Bool}

Check if this object and targetObj has equivalent chem structure.
Parameters:
Name Type Description
targetObj Kekule.ChemObject
options Hash
Inherited From:
Source:
Returns:
Type
Bool

fetchChargeMarker() → {Kekule.ChemMarker.ChemPropertyMarker}

Get charge marker of node. If no such a marker currently and canCreate is true, a new marker will be created.
Inherited From:
Source:
Returns:
Type
Kekule.ChemMarker.ChemPropertyMarker

fetchRadicalMarker() → {Kekule.ChemMarker.ChemPropertyMarker}

Get radical marker of node. If no such a marker currently and canCreate is true, a new marker will be created.
Inherited From:
Source:
Returns:
Type
Kekule.ChemMarker.ChemPropertyMarker

getConnectorTo(obj) → {Kekule.ChemStructureConnector}

Get connector between this object and another object.
Parameters:
Name Type Description
obj Kekule.ChemStructureObject
Inherited From:
Source:
Returns:
Type
Kekule.ChemStructureConnector

getContainerBox(coordMode, allowCoordBorrow) → {Hash}

Calculate the box to contain the object. Descendants may override this method.
Parameters:
Name Type Description
coordMode Int Determine to calculate 2D or 3D box. Value from Kekule.CoordMode.
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Box information. {x1, y1, z1, x2, y2, z2} (in 2D mode z1 and z2 will not be set).
Type
Hash

getContainerBox2D(allowCoordBorrow) → {Hash}

Calculate the 2D box to contain the object.
Parameters:
Name Type Description
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Box information. {x1, y1, z1, x2, y2, z2} (in 2D mode z1 and z2 will not be set).
Type
Hash

getContainerBox3D(allowCoordBorrow) → {Hash}

Calculate the 3D box to contain the object.
Parameters:
Name Type Description
allowCoordBorrow Bool
Inherited From:
Source:
Returns:
Box information. {x1, y1, z1, x2, y2, z2} (in 2D mode z1 and z2 will not be set).
Type
Hash

getCurrConnectableObj() → {Kekule.ChemStructureObject}

Returns self or child object that can directly linked to a connector. For atom or other simple chem objetc, this function should just returns self, for structure fragment, this function need to returns an anchor node.
Inherited From:
Source:
Returns:
Type
Kekule.ChemStructureObject

getHydrogenCount(includingBondedHydrogen)

Returns hydrogen count linked to this atom. Same as getExplicitHydrogenCount if includingBondedHydrogen is false.
Parameters:
Name Type Description
includingBondedHydrogen Bool If true, hydrogen siblings will also be take into consideration.
Source:

getLabel() → {String}

Returns a label that represents current node. Desendants should override this method.
Inherited From:
Source:
Returns:
Type
String

getLinkedBonds(bondType) → {Array}

Returns linked instances of Kekule.Bond to this node.
Parameters:
Name Type Description
bondType Int
Inherited From:
Source:
Returns:
Type
Array

getLinkedChemNodes(ignoreHydrogenAtoms) → {Array}

Returns neighbor nodes linked to this node through proper connectors.
Parameters:
Name Type Description
ignoreHydrogenAtoms Bool Whether explicit hydrogen atoms are returned. Default is false.
Inherited From:
Source:
Returns:
Type
Array

getLinkedConnectorAt(index) → {Kekule.ChemStructureConnector}

Get linked connector object at index.
Parameters:
Name Type Description
index Int
Inherited From:
Source:
Returns:
Type
Kekule.ChemStructureConnector

getLinkedConnectorCount() → {Int}

Return count of linkedConnectors.
Inherited From:
Source:
Returns:
Type
Int

getLinkedDoubleBonds() → {Array}

Returns linked double covalent bond to this node.
Inherited From:
Source:
Returns:
Type
Array

getLinkedHydrogenAtoms() → {Array}

Returns linked hydrogen atoms.
Inherited From:
Source:
Returns:
Type
Array

getLinkedMultipleBonds() → {Array}

Returns linked multiple covalent bond to this node.
Inherited From:
Source:
Returns:
Type
Array

getLinkedNonHydrogenConnectors() → {Array}

Returns connectors that connected to a non hydrogen node.
Inherited From:
Source:
Returns:
Type
Array

getLinkedNonHydrogenObjs() → {Array}

Returns linked objects except hydrogen atoms.
Inherited From:
Source:
Returns:
Type
Array

getLinkedObjsOnConnector() → {Array}

Returns other objects connected to this one through connector.
Inherited From:
Source:
Returns:
Type
Array

getParentFragment() → {Kekule.StructureFragment}

If Kekule.ChemStructureObject#parent is a Kekule.StructureFragment, returns this fragment.
Inherited From:
Source:
Returns:
Type
Kekule.StructureFragment

getPrimaryIsotope() → {Kekule.Isotope}

Returns the most possible isotope of node. To Kekule.Atom, this should be simplely the isotope of atom while variable atom or pseudoatom may has its own implementation. This method returns null if isotope is uncertain to this node. Descendants need to override this method.
Inherited From:
Source:
Returns:
Type
Kekule.Isotope

getRootFragment() → {Kekule.StructureFragment}

Returns the root parent of Kekule.StructureFragment, rather than subgroups.
Inherited From:
Source:
Returns:
Type
Kekule.StructureFragment

indexOfLinkedConnector(connector) → {Int}

Returns index of connector connected to node.
Parameters:
Name Type Description
connector Kekule.ChemStructureConnector
Inherited From:
Source:
Returns:
Type
Int

isHydrogenAtom() → {Bool}

Returns whether this node is a H atom (but not D or T).
Inherited From:
Source:
Returns:
Type
Bool

isSaturated() → {Bool}

Returns whether this atom is a saturated one.
Source:
Returns:
Type
Bool

mayContainElement(atomicNumberOrSymbol) → {Bool}

Returns when this node is an atom of certain element or maybe or may include element (peusdo atom or atom list).
Parameters:
Name Type Description
atomicNumberOrSymbol Variant
Source:
Returns:
Type
Bool

removeLinkedConnector(connector)

Remove a connector in linkedContainer.
Parameters:
Name Type Description
connector Kekule.ChemStructureConnector
Inherited From:
Source:

removeLinkedConnectorAt(index)

Remove connector at index of linkedConnectors.
Parameters:
Name Type Description
index Int
Inherited From:
Source:

removeThisFromLinkedConnector()

Remove this node from all linked connectors. Ths method should be called before a object is removed from a structure.
Inherited From:
Source:

setHydrogenCount(value)

Same as setExplicitHydrogenCount.
Parameters:
Name Type Description
value Int
Source:

Events

structureChange

Invoked when object is changed and the change is related with structure (e.g. modify a bond, change a atomic number...). Event has field: {origin: the change source object (may be a child of event.target}.
Inherited From:
Source: