/* $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; import javax.vecmath.Point2d; import javax.vecmath.Point3d; /** * Represents the idea of an chemical atom. * * @cdk.module interfaces * * @author egonw * @cdk.created 2005-08-24 * @cdk.keyword atom * @cdk.githash */ public interface IAtom extends IAtomType { /** * Sets the partial charge of this atom. * * @param charge The partial charge * @see #getCharge */ public void setCharge(Double charge); /** * Returns the partial charge of this atom. * * @return the charge of this atom * @see #setCharge */ public Double getCharge(); /** * Sets the implicit hydrogen count of this atom. * * @param hydrogenCount The number of hydrogen atoms bonded to this atom. * @see #getHydrogenCount */ public void setHydrogenCount(Integer hydrogenCount); /** * Returns the implicit hydrogen count of this atom. * * @return The hydrogen count of this atom. * @see #setHydrogenCount */ public Integer getHydrogenCount(); /** * Sets a point specifying the location of this * atom in a 2D space. * * @param point2d A point in a 2D plane * @see #getPoint2d */ public void setPoint2d(Point2d point2d); /** * Sets a point specifying the location of this * atom in 3D space. * * @param point3d A point in a 3-dimensional space * @see #getPoint3d */ public void setPoint3d(Point3d point3d); /** * Sets a point specifying the location of this * atom in a Crystal unit cell. * * @param point3d A point in a 3d fractional unit cell space * @see #getFractionalPoint3d * @see org.openscience.cdk.Crystal */ public void setFractionalPoint3d(Point3d point3d); /** * Sets the stereo parity for this atom. * * @param stereoParity The stereo parity for this atom * @see org.openscience.cdk.CDKConstants for predefined values. * @see #getStereoParity */ public void setStereoParity(Integer stereoParity); /** * Returns a point specifying the location of this * atom in a 2D space. * * @return A point in a 2D plane. Null if unset. * @see #setPoint2d */ public Point2d getPoint2d(); /** * Returns a point specifying the location of this * atom in a 3D space. * * @return A point in 3-dimensional space. Null if unset. * @see #setPoint3d */ public Point3d getPoint3d(); /** * Returns a point specifying the location of this * atom in a Crystal unit cell. * * @return A point in 3d fractional unit cell space. Null if unset. * @see #setFractionalPoint3d * @see org.openscience.cdk.CDKConstants for predefined values. */ public Point3d getFractionalPoint3d(); /** * Returns the stereo parity of this atom. It uses the predefined values * found in CDKConstants. * * @return The stereo parity for this atom * @see org.openscience.cdk.CDKConstants * @see #setStereoParity */ public Integer getStereoParity(); }