Hi, On Thu, Nov 10, 2011 at 4:32 PM, David Lonie <lonieda...@gmail.com> wrote: > Hi list, > > In atom.h, there are the following three functions: > > //! \return the internal atom index (e.g., inside an OBMol) > unsigned int GetIdx() const { return((int)_idx); } > unsigned int GetIndex() const { return _idx - 1; } > unsigned long GetId() const { return _id; } > > Can someone explain and/or document these in a bit more detail? I was > quite surprised that GetIdx and GetIndex are defined differently. What > is the role of _idx vs _id? Is there a reason that in GetIdx _idx is > cast from uint->int, then (implicitly) back to a uint? > > I also see: > > unsigned int _idx; //!< unique node index (GetIdx(), SetIdx()) > unsigned long _id; //!< unique id > > I'm not sure what the difference between these descriptions is either?
The idx is an atom index that goes from 1 to N (N = number of atoms). This is the _idx field and can be retreived using GetIdx(). The index (GetIndex()) is also an atom index but starts from 0 (0 to N-1). This is the _idx - 1 field. This function was added for more conformance to the bond indexes which start from 0. The _id (GetId()) field is a unique id that does not change if atoms are deleted and can be to identify atoms during an OBMol's lifespan. > The reason I ask is that I'm trying to limit an OBFF calculation with > OBForceField::AddInt[er,ra]Group[s], which takes the atom index, but > it's not clear to me whether this means the index, the idx, or the id. You usually have to see at the specific code. > Thanks in advance, > > Dave > > ------------------------------------------------------------------------------ > RSA(R) Conference 2012 > Save $700 by Nov 18 > Register now > http://p.sf.net/sfu/rsa-sfdev2dev1 > _______________________________________________ > OpenBabel-Devel mailing list > OpenBabel-Devel@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/openbabel-devel > ------------------------------------------------------------------------------ RSA(R) Conference 2012 Save $700 by Nov 18 Register now http://p.sf.net/sfu/rsa-sfdev2dev1 _______________________________________________ OpenBabel-Devel mailing list OpenBabel-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-devel