Logo Search packages:      
Sourcecode: cdk version File versions  Download package

IAtomType.java

/* $Revision$ $Author$ $Date$
 *
 * Copyright (C) 2006-2007  Egon Willighagen <egonw@users.sf.net>
 *
 * Contact: cdk-devel@lists.sourceforge.net
 *
 * This program is free software; you can redistribute it and/or
 * modify it under the terms of the GNU Lesser General Public License
 * as published by the Free Software Foundation; either version 2.1
 * of the License, or (at your option) any later version.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU Lesser General Public License for more details.
 *
 * You should have received a copy of the GNU Lesser General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
 */
package org.openscience.cdk.interfaces;

/**
 * The base class for atom types. Atom types are typically used to describe the
 * behaviour of an atom of a particular element in different environment like 
 * sp<sup>3</sup> hybridized carbon C3, etc., in some molecular modelling 
 * applications.
 *
 * @cdk.module  interfaces
 * @cdk.githash
 *
 * @author      egonw
 * @cdk.created 2005-08-24
 *
 * @cdk.keyword atom, type
 */
00037 public interface IAtomType extends IIsotope {

      public enum Hybridization {
          S,
          SP1,     // linear
          SP2,     // trigonal planar (single pi-electron in pz)
          SP3,     // tetrahedral
          PLANAR3, // trigonal planar (lone pair in pz)
          SP3D1,   // trigonal planar
          SP3D2,   // octahedral
          SP3D3,   // pentagonal bipyramid
          SP3D4,   // square antiprim??
          SP3D5    // tricapped trigonal prism
      }
      
      /**
       * Sets the if attribute of the AtomType object.
       *
       * @param  identifier  The new AtomTypeID value. Null if unset.
     * @see    #getAtomTypeName
       */
      public void setAtomTypeName(String identifier);

      /**
       * Sets the MaxBondOrder attribute of the AtomType object.
       *
       * @param  maxBondOrder  The new MaxBondOrder value
     * @see    #getMaxBondOrder
       */
      public void setMaxBondOrder(IBond.Order maxBondOrder);

      /**
       * Sets the the exact bond order sum attribute of the AtomType object.
       *
       * @param  bondOrderSum  The new bondOrderSum value
     * @see    #getBondOrderSum
       */
      public void setBondOrderSum(Double bondOrderSum);

      /**
       * Gets the id attribute of the AtomType object.
       *
       * @return    The id value
     * @see       #setAtomTypeName
       */
      public String getAtomTypeName();

      /**
       * Gets the MaxBondOrder attribute of the AtomType object.
       *
       * @return    The MaxBondOrder value
     * @see       #setMaxBondOrder
       */
      public IBond.Order getMaxBondOrder();

      /**
       * Gets the bondOrderSum attribute of the AtomType object.
       *
       * @return    The bondOrderSum value
     * @see       #setBondOrderSum
       */
      public Double getBondOrderSum();
      
    /**
     * Sets the formal charge of this atom.
     *
     * @param  charge  The formal charge
     * @see    #getFormalCharge
     */
    public void setFormalCharge(Integer charge);
    
    /**
     * Returns the formal charge of this atom.
     *
     * @return the formal charge of this atom
     * @see    #setFormalCharge
     */
    public Integer getFormalCharge();
    
    /**
     * Sets the formal neighbour count of this atom.
     *
     * @param  count  The neighbour count
     * @see    #getFormalNeighbourCount
     */
    public void setFormalNeighbourCount(Integer count);
    
    /**
     * Returns the formal neighbour count of this atom.
     *
     * @return the formal neighbour count of this atom
     * @see    #setFormalNeighbourCount
     */
    public Integer getFormalNeighbourCount();
    
    /**
     * Sets the hybridization of this atom.
     *
     * @param  hybridization  The hybridization
     * @see    #getHybridization
     */
    public void setHybridization(Hybridization hybridization);
    
    /**
     * Returns the hybridization of this atom.
     *
     * @return the hybridization of this atom
     * @see    #setHybridization
     */
    public Hybridization getHybridization();

    /**
     * Sets the covalent radius for this AtomType.
     *
     * @param radius The covalent radius for this AtomType
     * @see    #getCovalentRadius
     */
    public void setCovalentRadius(Double radius);
    
    /**
     * Returns the covalent radius for this AtomType.
     *
     * @return The covalent radius for this AtomType
     * @see    #setCovalentRadius
     */
    public Double getCovalentRadius();
    
      /**
       * Sets the the exact electron valency of the AtomType object.
       *
       * @param  valency  The new valency value
       * @see    #getValency()
       */
      public void setValency(Integer valency);

      /**
       * Gets the the exact electron valency of the AtomType object.
       *
       * @return The valency value
       * @see    #setValency(Integer)
       */
      public Integer getValency();

}


Generated by  Doxygen 1.6.0   Back to index