Your code is correct.

Behind the scenes something has gone wrong with AddHydrogens(). Almost
in the first line of that function, it sets the AddedHydrogens Flags.
Then, it immediately calls Begin/EndModify() which wipes *all* flags
from the molecule. I'm pretty sure this is not the right thing to do,
although it apparently fixed some bug (PR#1665519).

I could just move the Begin/EndModify to earlier in the function and
that would solve your immediate problem. I'm not so familiar with
EndModify though, and so am ccing to Geoff for comment...

- Noel

On 10 August 2010 18:21, Alex Henderson <blueobel...@geordiesoft.co.uk> wrote:
> Hi,
>
> I don't know if I'm doing something wrong (always a good chance of that!),
> but I seem to get the wrong answer when I ask if a molecule has hydrogens.
> Could someone please set me on the right track, I'm kind of new to
> OpenBabel.
>
> Thanks,
> Alex
>
> System:
> Windows Vista; Visual Studio 2008; OpenBabel trunk updated 10 Aug 2010
>
> Example code:
>
> #include <string>
> #include <sstream>
> #include <openbabel/mol.h>
> #include <openbabel/obconversion.h>
>
> int main()
> {
>     std::string smiles = "CCO";
>     std::stringstream smilesStream(smiles);
>     OpenBabel::OBConversion conv(&smilesStream);
>     OpenBabel::OBMol mol;
>
>     conv.SetInFormat("smi");
>     conv.Read(&mol);
>
>     int numberOfAtomsBefore = mol.NumAtoms();    // 3
>
>     bool resultOfAdding = mol.AddHydrogens();            // true
>     bool resultOfChecking = mol.HasHydrogensAdded();    // false
>
>     int numberOfAtomsAfter = mol.NumAtoms();    // 9
>
>     return 0;
> }
>
>
>
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by
>
> Make an app they can't live without
> Enter the BlackBerry Developer Challenge
> http://p.sf.net/sfu/RIM-dev2dev
> _______________________________________________
> OpenBabel-Devel mailing list
> OpenBabel-Devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/openbabel-devel
>
>

------------------------------------------------------------------------------
This SF.net email is sponsored by 

Make an app they can't live without
Enter the BlackBerry Developer Challenge
http://p.sf.net/sfu/RIM-dev2dev 
_______________________________________________
OpenBabel-Devel mailing list
OpenBabel-Devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-devel

Reply via email to