Ignore:
Timestamp:
Oct 12, 2009, 12:10:43 PM (16 years ago)
Author:
Frederik Heber <heber@…>
Children:
cf4b78
Parents:
7c2f6b
git-author:
Frederik Heber <heber@…> (10/12/09 12:04:44)
git-committer:
Frederik Heber <heber@…> (10/12/09 12:10:43)
Message:

First half of molecule_fragmentation.cpp refactoring.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • molecuilder/src/molecule_template.hpp

    r7c2f6b rff9879  
    439439
    440440// for atom ints
    441 template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int TesselPoint::*index, void (*Setor)(T *, T) )
    442 {
    443   atom *Walker = start;
    444   while (Walker->next != end) {
    445     Walker = Walker->next;
    446     (*Setor) (&array[(Walker->*index)], 1);
    447   }
    448 };
    449 template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int TesselPoint::*index, void (*Setor)(T *, T), T value )
     441template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int TesselPoint::*index, void (*Setor)(T *, T *) )
     442{
     443  atom *Walker = start;
     444  int inc = 1;
     445  while (Walker->next != end) {
     446    Walker = Walker->next;
     447    (*Setor) (&array[(Walker->*index)], &inc);
     448  }
     449};
     450template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int TesselPoint::*index, void (*Setor)(T *, T *), T value )
     451{
     452  atom *Walker = start;
     453  while (Walker->next != end) {
     454    Walker = Walker->next;
     455    (*Setor) (&array[(Walker->*index)], &value);
     456  }
     457};
     458template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int TesselPoint::*index, void (*Setor)(T *, T *), T *value )
    450459{
    451460  atom *Walker = start;
     
    456465};
    457466// for element ints inside atom class
    458 template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int element::*index, void (*Setor)(T *, T) )
    459 {
    460   atom *Walker = start;
    461   while (Walker->next != end) {
    462     Walker = Walker->next;
    463     (*Setor) (&array[(Walker->type->*index)], 1);
    464   }
    465 };
    466 template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int element::*index, void (*Setor)(T *, T), T value )
     467template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int element::*index, void (*Setor)(T *, T *) )
     468{
     469  atom *Walker = start;
     470  int inc = 1;
     471  while (Walker->next != end) {
     472    Walker = Walker->next;
     473    (*Setor) (&array[(Walker->type->*index)], &inc);
     474  }
     475};
     476template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int element::*index, void (*Setor)(T *, T *), T value )
     477{
     478  atom *Walker = start;
     479  while (Walker->next != end) {
     480    Walker = Walker->next;
     481    (*Setor) (&array[(Walker->type->*index)], &value);
     482  }
     483};
     484template <typename T> void molecule::SetIndexedArrayForEachAtomTo ( T *array, int element::*index, void (*Setor)(T *, T *), T *value )
    467485{
    468486  atom *Walker = start;
     
    489507};
    490508
     509template <typename T> void molecule::SetAtomValueToIndexedArray ( T *array, int TesselPoint::*index, T atom::*value )
     510{
     511  atom *Walker = start;
     512  while (Walker->next != end) {
     513    Walker = Walker->next;
     514    Walker->*value = array[(Walker->*index)];
     515    //cout << Verbose(2) << *Walker << " gets " << (Walker->*value); << endl;
     516  }
     517};
     518
     519template <typename T> void molecule::SetAtomValueToIndexedArray ( T *array, int element::*index, T atom::*value )
     520{
     521  atom *Walker = start;
     522  while (Walker->next != end) {
     523    Walker = Walker->next;
     524    Walker->*value = array[(Walker->type->*index)];
     525    //cout << Verbose(2) << *Walker << " gets " << (Walker->*value) << endl;
     526  }
     527};
     528
    491529#endif /* MOLECULE_TEMPLATE_HPP_ */
Note: See TracChangeset for help on using the changeset viewer.