API:IMolecule

From Wiketomica
Jump to: navigation, search
API Home Participants API Discussion Demos Downloads Documentation Contact Us Acknowledgements

IMolecule

Reason for existence

The IMolecule represents a group of atoms (as in a molecule). The IMolecule holds and manages a list of child IAtomPositioneds and provides it on request in the form of an IAtomList.

Proposed Interface

interface IMolecule {

    attribute int index;

    /**
     * Adds the given Atom as a child of this IMolecule.  The given child IAtom
     * should be parentless when this method is called.
     * @throws IllegalArgumentException if the given atom already has a parent.
     */
    void addChildAtom(in IAtomLeaf newChildAtom);

    /**
     * Removes the given child Atom from this IMolecule.
     * @throws IllegalArgumentException if the given atom is not a child.
     */
    void removeChildAtom(in IAtomLeaf oldChildAtom);

    /**
     * Returns the IAtom children of this IMolecule as an IAtomList
     */
    readonly attribute IAtomList childList;

    readonly attribute ISpecies getType();
}

Use

IAtomGroup would be used for any multi-atom molecule.

Notes

mol-sim-api discussion of IMolecule