It seems to be working. Thanks a lot.

2014-05-07 19:46 GMT-04:00 David Hall <li...@cowsandmilk.net>:
> Never written something like this, but briefly looking at some code in 
> openbabel for reading molecules, you should do
>
> atom = obMol.NewAtom();
>
> At the beginning of each loop. Your code looks like it is just due 
> referencing an unset pointer, so no surprise it segfaults.
>
> You maybe also have to do
>
> obMol.ReserveAtoms(molecule.size);
>
> -David
>
>> On May 7, 2014, at 7:05 PM, Nicolas Cheron <nicolas.cheron.bou...@gmail.com> 
>> wrote:
>>
>> Dear all,
>>
>> I am working with a program (in C++) which has its own way of dealing
>> with atoms and molecules. I would like to use the OpenBabel library to
>> assign types to atoms. For now, when I need to do it I write a .xyz
>> file and then read it in an OBMol object and assign the types.
>>
>> This works, but I am not happy because it could be more efficient.
>> Thus, I would like to create the OBMol object by hand. I was thinking
>> of something such as:
>>
>> struct Atom{
>>     float x;
>>     float y;
>>     float z;
>>     char Type[4];                // Element name (H, C, N, O...).
>>     char PotentialType[3];   // Atom type for the scoring function.
>> };
>>
>> struct Molecule{
>>     Atom atom[150];
>>     int size;
>> };
>>
>> /////////////
>>
>> OpenBabel::OBMol obMol;
>> OpenBabel::OBAtom *atom;
>> for (int i=0; i<molecule.size ; i++ ) {
>>     atom->SetVector(molecule.atom[i].x, molecule.atom[i].y,
>> molecule.atom[i].z);
>>     atom->SetType(molecule.atom[i].Type);
>>     obMol.InsertAtom(*atom);
>>     }
>> obMol.ConnectTheDots();
>>
>> When I am doing this the code compiles but crashes (Segmentation
>> fault) and I have not been able to find what is going wrong. I have
>> also tried with SetVector(const vector3 & v ) but it is the same.
>>
>>
>> Does anyone have a clue of how I can create this object atom by atom?
>>
>> Thank you
>>
>> Nicolas
>>
>> ------------------------------------------------------------------------------
>> Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
>> &#149; 3 signs your SCM is hindering your productivity
>> &#149; Requirements for releasing software faster
>> &#149; Expert tips and advice for migrating your SCM now
>> http://p.sf.net/sfu/perforce
>> _______________________________________________
>> OpenBabel-discuss mailing list
>> OpenBabel-discuss@lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

------------------------------------------------------------------------------
Is your legacy SCM system holding you back? Join Perforce May 7 to find out:
&#149; 3 signs your SCM is hindering your productivity
&#149; Requirements for releasing software faster
&#149; Expert tips and advice for migrating your SCM now
http://p.sf.net/sfu/perforce
_______________________________________________
OpenBabel-discuss mailing list
OpenBabel-discuss@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/openbabel-discuss

Reply via email to