Ignore:
Timestamp:
Nov 3, 2009, 4:34:31 PM (16 years ago)
Author:
Frederik Heber <heber@…>
Children:
a3ffb44
Parents:
08b88b
Message:

"not working parsed molecule into subgraph splitting"-BUG fixed, BugFinder branch can be closed.

  • config::Load() - atoms were not in the right order for MaxOrder-test (12). Hence, the BondFragmentAdjacency could not be parsed. Now, we just take the subgraphs as the association of each atom to a molecule, i.e. we make a list and then re-link each atom to its new connected subgraph molecule, which is returned as the MoleculeListClass.

other fixes:

File:
1 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/bondgraph.cpp

    r08b88b rc1b4a4  
    8484    return false;
    8585
    86   if (BondLengthMatrix == NULL) // no bond length matrix parsed?
     86  if (BondLengthMatrix == NULL) { // no bond length matrix parsed?
     87    SetMaxDistanceToMaxOfCovalentRadii(out, mol);
    8788    mol->CreateAdjacencyList(out, max_distance, IsAngstroem, &BondGraph::CovalentMinMaxDistance, this);
    88   else
     89  } else
    8990    mol->CreateAdjacencyList(out, max_distance, IsAngstroem, &BondGraph::BondLengthMatrixMinMaxDistance, this);
    9091
     
    105106};
    106107
    107 /** Determines the maximum of all element::CovalentRadius.
     108/** Determines the maximum of all element::CovalentRadius for elements present in \a *mol.
    108109 * \param *out output stream for debugging
    109  * \param *periode periodentafel with all elements.
     110 * \param *mol molecule with all atoms and their respective elements.
    110111 */
    111 double BondGraph::SetMaxDistanceToMaxOfCovalentRadii(ofstream * const out, const periodentafel * const periode)
     112double BondGraph::SetMaxDistanceToMaxOfCovalentRadii(ofstream * const out, const molecule * const mol)
    112113{
    113114  max_distance = 0.;
    114115
    115   element * Runner = periode->start;
    116   while (Runner->next != periode->end) {
     116  atom *Runner = mol->start;
     117  while (Runner->next != mol->end) {
    117118    Runner = Runner->next;
    118     if (Runner->CovalentRadius > max_distance)
    119       max_distance = Runner->CovalentRadius;
     119    if (Runner->type->CovalentRadius > max_distance)
     120      max_distance = Runner->type->CovalentRadius;
    120121  }
    121122  max_distance *= 2.;
Note: See TracChangeset for help on using the changeset viewer.