Changes in / [8859b5:7f1b51]


Ignore:
Files:
41 added
30 deleted
64 edited

Legend:

Unmodified
Added
Removed
  • LinearAlgebra/src/LinearAlgebra/MatrixContent.cpp

    r8859b5 r7f1b51  
    8888MatrixContent::MatrixContent(size_t _rows, size_t _columns, MatrixBaseCase) :
    8989    MatrixDimension(_rows,_columns),
    90     free_content_on_exit(true)
     90    free_content_on_exit(false)
    9191{}
    9292
  • LinearAlgebra/src/LinearAlgebra/MatrixContent.hpp

    r8859b5 r7f1b51  
    189189  {
    190190    ar & boost::serialization::base_object<MatrixDimension>(*this);
     191    if (free_content_on_exit)
     192      gsl_matrix_free(content);
    191193    content = gsl_matrix_calloc(getRows(), getColumns());
    192194    ar & content->size1;
  • LinearAlgebra/src/LinearAlgebra/RealSpaceMatrix.hpp

    r8859b5 r7f1b51  
    179179  void save(Archive & ar, const unsigned int version) const
    180180  {
    181     ar & content;
     181    ar & *content;
    182182  }
    183183  template<class Archive>
    184184  void load(Archive & ar, const unsigned int version)
    185185  {
    186     ar & content;
    187     createViews();
     186    ar & *content;
    188187  }
    189188  BOOST_SERIALIZATION_SPLIT_MEMBER()
  • LinearAlgebra/src/LinearAlgebra/VectorContent.cpp

    r8859b5 r7f1b51  
    5555  VectorDimension(0),
    5656  content(NULL),
    57   free_content_on_exit(true)
     57  free_content_on_exit(false)
    5858{}
    5959
     
    7878VectorContent::VectorContent(VectorBaseCase) :
    7979    VectorDimension(0),
     80    content(NULL),
    8081    free_content_on_exit(false)
    8182{}
     
    112113VectorContent::VectorContent(const size_t _dimension, std::istream &inputstream) :
    113114  VectorDimension(_dimension),
    114   content(NULL),
    115115  free_content_on_exit(true)
    116116{
  • src/Actions/ActionQueue.cpp

    r8859b5 r7f1b51  
    8484#endif
    8585
    86   // free all actions contained in actionqueue
    87   for (ActionQueue_t::iterator iter = actionqueue.begin(); !actionqueue.empty(); iter = actionqueue.begin()) {
    88     delete *iter;
    89     actionqueue.erase(iter);
    90   }
     86  clearQueue();
    9187
    9288  delete history;
     
    9692void ActionQueue::queueAction(const std::string &name, enum Action::QueryOptions state)
    9793{
    98   queueAction(AR->getActionByName(name), state);
    99 }
    100 
    101 void ActionQueue::queueAction(Action *_action, enum Action::QueryOptions state)
     94  const Action * const registryaction = AR->getActionByName(name);
     95  queueAction(registryaction, state);
     96}
     97
     98void ActionQueue::queueAction(const Action * const _action, enum Action::QueryOptions state)
    10299{
    103100  OBSERVE;
     
    116113    std::cerr << "Action " << *boost::get_error_info<ActionNameString>(e) << " has failed." << std::endl;
    117114    World::getInstance().setExitFlag(5);
    118     actionqueue.clear();
    119     tempqueue.clear();
     115    clearQueue();
     116    lastActionOk = false;
     117    std::cerr << "ActionQueue cleared." << std::endl;
     118  } catch (std::exception &e) {
     119    pushStatus("FAIL: General exception caught, aborting.");
     120    World::getInstance().setExitFlag(134);
     121    clearQueue();
    120122    lastActionOk = false;
    121123    std::cerr << "ActionQueue cleared." << std::endl;
     
    180182        pushStatus("FAIL: Action "+*boost::get_error_info<ActionNameString>(e)+" has failed.");
    181183        World::getInstance().setExitFlag(5);
    182         actionqueue.clear();
    183         tempqueue.clear();
     184        clearQueue();
    184185        lastActionOk = false;
     186        std::cerr << "ActionQueue cleared." << std::endl;
     187        CurrentAction = (size_t)-1;
     188      } catch (std::exception &e) {
     189        pushStatus("FAIL: General exception caught, aborting.");
     190        World::getInstance().setExitFlag(134);
     191        clearQueue();
    185192        std::cerr << "ActionQueue cleared." << std::endl;
    186193        CurrentAction = (size_t)-1;
     
    302309}
    303310
     311void ActionQueue::clearQueue()
     312{
     313  // free all actions contained in actionqueue
     314  for (ActionQueue_t::iterator iter = actionqueue.begin();
     315      !actionqueue.empty(); iter = actionqueue.begin()) {
     316    delete *iter;
     317    actionqueue.erase(iter);
     318  }
     319  // free all actions contained in tempqueue
     320  for (ActionQueue_t::iterator iter = tempqueue.begin();
     321      !tempqueue.empty(); iter = tempqueue.begin()) {
     322    delete *iter;
     323    tempqueue.erase(iter);
     324  }
     325}
    304326
    305327const ActionQueue::ActionTokens_t ActionQueue::getListOfActions() const
  • src/Actions/ActionQueue.hpp

    r8859b5 r7f1b51  
    3232void waitQueue();
    3333#endif
     34
     35class CommandLineParser;
    3436
    3537namespace MoleCuilder {
     
    8183   * \param state whether Actions needs to be filled via a Dialog or not
    8284   */
    83   void queueAction(Action *_action, enum Action::QueryOptions state = Action::Interactive);
     85  void queueAction(const Action * const _action, enum Action::QueryOptions state = Action::Interactive);
    8486
    8587  /** Returns the spawned action by token \a name.
     
    167169  //!> grant Action access to internal history functions.
    168170  friend class Action;
     171  //!> grant CommandLineParser access to stop and clearQueue()
     172  friend class ::CommandLineParser;
    169173
    170174  /** Wrapper function to add state to ActionHistory.
     
    185189   */
    186190  void clear();
     191
     192  /** Clears all actions currently present in the actionqueues.
     193   *
     194   */
     195  void clearQueue();
    187196
    188197#ifdef HAVE_ACTION_THREAD
  • src/Actions/AnalysisAction/DipoleAngularCorrelationAction.cpp

    r8859b5 r7f1b51  
    112112
    113113    // free correlation map
    114     delete(correlationmap);
     114    delete correlationmap;
    115115
    116116    // output binned map
     
    122122
    123123    // free binned map
    124     delete(binmap);
     124    delete binmap;
    125125  }
    126126
  • src/Actions/AnalysisAction/DipoleCorrelationAction.cpp

    r8859b5 r7f1b51  
    7373  binmap = BinData( correlationmap, params.BinWidth.get(), params.BinStart.get(), params.BinEnd.get() );
    7474  OutputCorrelationMap<BinPairMap> ( &binoutput, binmap, OutputCorrelation_Header, OutputCorrelation_Value );
    75   delete(binmap);
    76   delete(correlationmap);
     75  delete binmap;
     76  delete correlationmap;
    7777  output.close();
    7878  binoutput.close();
  • src/Actions/AnalysisAction/PairCorrelationAction.cpp

    r8859b5 r7f1b51  
    8585  binmap = BinData( correlationmap, params.BinWidth.get(), params.BinStart.get(), params.BinEnd.get() );
    8686  OutputCorrelationMap<BinPairMap> ( &binoutput, binmap, OutputCorrelation_Header, OutputCorrelation_Value );
    87   delete(binmap);
    88   delete(correlationmap);
     87  delete binmap;
     88  delete correlationmap;
    8989  output.close();
    9090  binoutput.close();
  • src/Actions/AnalysisAction/PointCorrelationAction.cpp

    r8859b5 r7f1b51  
    7979  binmap = BinData( correlationmap, params.BinWidth.get(), params.BinStart.get(), params.BinEnd.get() );
    8080  OutputCorrelationMap<BinPairMap> ( &binoutput, binmap, OutputCorrelation_Header, OutputCorrelation_Value );
    81   delete(binmap);
    82   delete(correlationmap);
     81  delete binmap;
     82  delete correlationmap;
    8383  output.close();
    8484  binoutput.close();
  • src/Actions/AnalysisAction/SurfaceCorrelationAction.cpp

    r8859b5 r7f1b51  
    115115  OutputCorrelationMap<BinPairMap> ( &binoutput, binmap, OutputCorrelation_Header, OutputCorrelation_Value );
    116116  delete TesselStruct;  // surfacemap contains refs to triangles! delete here, not earlier!
    117   delete(binmap);
    118   delete(surfacemap);
     117  delete binmap;
     118  delete surfacemap;
    119119  output.close();
    120120  binoutput.close();
  • src/Actions/CommandAction/ElementDbAction.cpp

    r8859b5 r7f1b51  
    6767  boost::archive::text_oarchive oa(undostream);
    6868  oa << periode;
    69   CommandElementDbState *UndoState =
    70       new CommandElementDbState(
    71           undostream.str(),
    72           params
    73           );
    7469
    7570  // get the path
     
    8378    STATUS("Element list loaded successfully.");
    8479    //periode->Output();
    85     return ActionState::ptr(UndoState);
     80    return ActionState::ptr(new CommandElementDbState(undostream.str(),params));
    8681  } else {
    8782    STATUS("Element list loading failed.");
    88     delete UndoState;
    8983    return Action::failure;
    9084  }
  • src/Actions/FillAction/FillRegularGridAction.cpp

    r8859b5 r7f1b51  
    4444#include "Filling/Cluster.hpp"
    4545#include "Filling/Filler.hpp"
    46 #include "Filling/Inserter/Inserter.hpp"
    47 #include "Filling/Inserter/RandomInserter.hpp"
    48 #include "Filling/Mesh/CubeMesh.hpp"
    49 #include "Filling/Predicates/IsInsideSurface_FillPredicate.hpp"
    50 #include "Filling/Predicates/IsVoidNode_FillPredicate.hpp"
    51 #include "Filling/Predicates/Ops_FillPredicate.hpp"
    52 #include "LinkedCell/linkedcell.hpp"
    53 #include "LinkedCell/PointCloudAdaptor.hpp"
     46#include "Filling/Preparators/BoxFillerPreparator.hpp"
    5447#include "molecule.hpp"
    5548#include "MoleculeListClass.hpp"
    5649#include "Parser/FormatParserInterface.hpp"
    5750#include "Parser/FormatParserStorage.hpp"
    58 #include "Shapes/BaseShapes.hpp"
    59 #include "Tesselation/tesselation.hpp"
    60 #include "Tesselation/BoundaryLineSet.hpp"
    61 #include "Tesselation/BoundaryTriangleSet.hpp"
    62 #include "Tesselation/CandidateForTesselation.hpp"
    6351#include "World.hpp"
    64 
    6552
    6653#include <algorithm>
     
    9279  LOG(1, "INFO: Chosen molecule has " << filler->size() << " atoms.");
    9380
    94   // check for selected molecules and create surfaces from them
    95   std::vector<atom *> atoms(World::getInstance().getSelectedAtoms());
    96   FillPredicate * surface_predicate = NULL;
    97   LinkedCell_deprecated * LC = NULL;
    98   Tesselation * TesselStruct = NULL;
     81  // center filler's tip at origin
     82  filler->CenterEdge();
     83
     84  // prepare the filler preparator
     85  BoxFillerPreparator filler_preparator(filler);
    9986  if (params.SphereRadius.get() != 0.) {
    100     if ( atoms.size() == 0) {
     87    if (World::getInstance().beginAtomSelection() == World::getInstance().endAtomSelection()) {
    10188      STATUS("You have given a sphere radius "+toString(params.SphereRadius.get())
    10289          +" != 0, but have not select any atoms.");
    10390      return Action::failure;
    10491    }
    105     // create adaptor for the selected atoms
    106     PointCloudAdaptor< std::vector<atom *> > cloud(&atoms, std::string("Selected atoms"));
    107 
    108     // create tesselation
    109     LC = new LinkedCell_deprecated(cloud, 2.*params.SphereRadius.get());
    110     TesselStruct = new Tesselation;
    111     (*TesselStruct)(cloud, params.SphereRadius.get());
    112 
    113     // and create predicate
    114     surface_predicate = new FillPredicate( IsInsideSurface_FillPredicate( *TesselStruct, *LC ) );
    115   }
    116 
    117   // create predicate, mesh, and filler
     92    std::vector<atom*> atoms(World::getInstance().getSelectedAtoms());
     93    filler_preparator.addSurfacePredicate(
     94        params.SphereRadius.get(),
     95        atoms);
     96  }
     97  filler_preparator.addVoidPredicate(params.mindistance.get());
     98  filler_preparator.addRandomInserter(
     99      params.RandAtomDisplacement.get(),
     100      params.RandMoleculeDisplacement.get(),
     101      params.DoRotate.get());
     102  filler_preparator.addCubeMesh(
     103      params.counts.get(),
     104      params.offset.get(),
     105      World::getInstance().getDomain().getM());
     106  if (!filler_preparator()) {
     107    STATUS("Filler was not fully constructed.");
     108    return Action::failure;
     109  }
     110
     111  // use filler
     112  bool successflag = false;
    118113  FillRegularGridState *UndoState = NULL;
    119   bool successflag = false;
    120114  {
    121     FillPredicate *voidnode_predicate = new FillPredicate(
    122         IsVoidNode_FillPredicate(
    123             Sphere(zeroVec, params.mindistance.get())
    124             )
    125         );
    126     FillPredicate Andpredicate = (*voidnode_predicate);
    127     if (surface_predicate != NULL)
    128       Andpredicate = (Andpredicate) && !(*surface_predicate);
    129     Mesh *mesh = new CubeMesh(params.counts.get(), params.offset.get(), World::getInstance().getDomain().getM());
    130     Inserter *inserter = new Inserter(
    131         Inserter::impl_ptr(
    132             new RandomInserter(
    133                 params.RandAtomDisplacement.get(),
    134                 params.RandMoleculeDisplacement.get(),
    135                 params.DoRotate.get())
    136             )
    137         );
    138 
    139115    // fill
    140     {
    141       Filler *fillerFunction = new Filler(*mesh, Andpredicate, *inserter);
    142       // TODO: When molecule::getBoundingSphere() does not use a sphere anymore,
    143       // we need to check whether we rotate the molecule randomly. For this to
    144       // work we need a sphere!
    145       const Shape s = filler->getBoundingSphere(params.RandAtomDisplacement.get());
    146       ClusterInterface::Cluster_impl cluster( new Cluster(filler->getAtomIds(), s) );
    147       CopyAtoms_withBonds copyMethod;
    148       Filler::ClusterVector_t ClonedClusters;
    149       successflag = (*fillerFunction)(copyMethod, cluster, ClonedClusters);
    150       delete fillerFunction;
    151 
    152       // append each cluster's atoms to clonedatoms (however not selected ones)
    153       std::vector<const atom *> clonedatoms;
    154       std::vector<AtomicInfo> clonedatominfos;
    155       for (Filler::ClusterVector_t::const_iterator iter = ClonedClusters.begin();
    156           iter != ClonedClusters.end(); ++iter) {
    157         const AtomIdSet &atoms = (*iter)->getAtomIds();
    158         clonedatoms.reserve(clonedatoms.size()+atoms.size());
    159         for (AtomIdSet::const_iterator atomiter = atoms.begin(); atomiter != atoms.end(); ++atomiter)
    160           if (!filler->containsAtom(*atomiter)) {
    161             clonedatoms.push_back( *atomiter );
    162             clonedatominfos.push_back( AtomicInfo(*(*atomiter)) );
    163           }
    164       }
    165       std::vector< BondInfo > clonedbonds;
    166       StoreBondInformationFromAtoms(clonedatoms, clonedbonds);
    167       LOG(2, "DEBUG: There are " << clonedatominfos.size() << " newly created atoms.");
    168 
    169       if (!successflag) {
    170         STATUS("Insertion failed, removing inserted clusters, translating original one back");
    171         RemoveAtomsFromAtomicInfo(clonedatominfos);
    172         clonedatoms.clear();
    173         SetAtomsFromAtomicInfo(movedatoms);
    174       } else {
    175         std::vector<Vector> MovedToVector(filler->size(), zeroVec);
    176         std::transform(filler->begin(), filler->end(), MovedToVector.begin(),
    177             boost::bind(&AtomInfo::getPosition, _1) );
    178         UndoState = new FillRegularGridState(clonedatominfos,clonedbonds,movedatoms,MovedToVector,params);
    179       }
     116    Filler *fillerFunction = filler_preparator.obtainFiller();
     117    // TODO: When molecule::getBoundingSphere() does not use a sphere anymore,
     118    // we need to check whether we rotate the molecule randomly. For this to
     119    // work we need a sphere!
     120    const Shape s = filler->getBoundingSphere(params.RandAtomDisplacement.get());
     121    ClusterInterface::Cluster_impl cluster( new Cluster(filler->getAtomIds(), s) );
     122    CopyAtoms_withBonds copyMethod;
     123    Filler::ClusterVector_t ClonedClusters;
     124    successflag = (*fillerFunction)(copyMethod, cluster, ClonedClusters);
     125    delete fillerFunction;
     126
     127    // append each cluster's atoms to clonedatoms (however not selected ones)
     128    std::vector<const atom *> clonedatoms;
     129    std::vector<AtomicInfo> clonedatominfos;
     130    for (Filler::ClusterVector_t::const_iterator iter = ClonedClusters.begin();
     131        iter != ClonedClusters.end(); ++iter) {
     132      const AtomIdSet &atoms = (*iter)->getAtomIds();
     133      clonedatoms.reserve(clonedatoms.size()+atoms.size());
     134      for (AtomIdSet::const_iterator atomiter = atoms.begin(); atomiter != atoms.end(); ++atomiter)
     135        if (!filler->containsAtom(*atomiter)) {
     136          clonedatoms.push_back( *atomiter );
     137          clonedatominfos.push_back( AtomicInfo(*(*atomiter)) );
     138        }
    180139    }
    181 
    182     // remove
    183     delete mesh;
    184     delete inserter;
    185     delete voidnode_predicate;
    186     delete surface_predicate;
    187     delete LC;
    188     delete TesselStruct;
     140    std::vector< BondInfo > clonedbonds;
     141    StoreBondInformationFromAtoms(clonedatoms, clonedbonds);
     142    LOG(2, "DEBUG: There are " << clonedatominfos.size() << " newly created atoms.");
     143
     144    if (!successflag) {
     145      STATUS("Insertion failed, removing inserted clusters, translating original one back");
     146      RemoveAtomsFromAtomicInfo(clonedatominfos);
     147      clonedatoms.clear();
     148      SetAtomsFromAtomicInfo(movedatoms);
     149    } else {
     150      std::vector<Vector> MovedToVector(filler->size(), zeroVec);
     151      std::transform(filler->begin(), filler->end(), MovedToVector.begin(),
     152          boost::bind(&AtomInfo::getPosition, _1) );
     153      UndoState = new FillRegularGridState(clonedatominfos,clonedbonds,movedatoms,MovedToVector,params);
     154    }
    189155  }
    190156
  • src/Actions/FillAction/FillSurfaceAction.cpp

    r8859b5 r7f1b51  
    4646#include "Filling/Mesh/MeshAdaptor.hpp"
    4747#include "Filling/Predicates/IsVoidNode_FillPredicate.hpp"
     48#include "Filling/Preparators/ShapeSurfaceFillerPreparator.hpp"
    4849#include "molecule.hpp"
    4950#include "Shapes/BaseShapes.hpp"
    5051#include "Shapes/ShapeRegistry.hpp"
     52#include "Shapes/ShapeType.hpp"
    5153#include "World.hpp"
    5254
     
    8183
    8284  // center filler's tip at origin
    83   Vector max;
    84   filler->CenterEdge(&max);
     85  filler->CenterEdge();
    8586
    8687  // determine center with respect to alignment axis
     
    9697  {
    9798    Vector translater = -1.*sum;
    98     filler->Translate(&translater);
    99   }
    100 
    101   // create predicate, mesh, and filler
    102   FillSurfaceState *UndoState = NULL;
    103   bool successflag = false;
    104   {
    105     FillPredicate *voidnode_predicate = new FillPredicate(
    106         IsVoidNode_FillPredicate(
    107             Sphere(zeroVec, params.mindistance.get())
    108             )
    109         );
    110 
    111 
    112     std::vector<Shape*> selectedShapes = ShapeRegistry::getInstance().getSelectedShapes();
    113     if (selectedShapes.size() != 1){
    114       STATUS("There has to be exactly 1 selected shape.");
     99    filler->Translate(translater);
     100  }
     101
     102  // prepare the filler preparator
     103  if (ShapeRegistry::getInstance().countSelectedShapes() != (size_t)1) {
     104    STATUS("Not exactly one shape selected.");
     105    return Action::failure;
     106  }
     107  const std::vector<Shape*> shapes = ShapeRegistry::getInstance().getSelectedShapes();
     108  const Shape &shape = **shapes.begin();
     109
     110  // hard check whether shape is of allowed type, not all are implemented
     111  // but these only fail with an assertion, hence not with disable-debug
     112  switch (shape.getType()) {
     113    case NowhereType:
     114    case EverywhereType:
     115      STATUS("The shape type "+toString(shape.getType())+" is currently not supported.");
     116      return Action::failure;
     117      break;
     118    default:
     119      break;
     120  }
     121
     122  ShapeSurfaceFillerPreparator filler_preparator(filler);
     123  if (params.SphereRadius.get() != 0.) {
     124    if (World::getInstance().beginAtomSelection() == World::getInstance().endAtomSelection()) {
     125      STATUS("You have given a sphere radius "+toString(params.SphereRadius.get())
     126          +" != 0, but have not select any atoms.");
    115127      return Action::failure;
    116128    }
    117 
    118     boost::function<const NodeSet ()> func =
    119         boost::bind(&Shape::getHomogeneousPointsOnSurface, boost::ref(*selectedShapes[0]), params.N.get());
    120     Mesh *mesh = new MeshAdaptor(func);
    121     Inserter *inserter = new Inserter(
    122         Inserter::impl_ptr(new SurfaceInserter(*selectedShapes[0], params.AlignedAxis.get())));
    123 
     129    std::vector<atom*> atoms(World::getInstance().getSelectedAtoms());
     130    filler_preparator.addSurfacePredicate(
     131        params.SphereRadius.get(),
     132        atoms);
     133  }
     134  filler_preparator.addVoidPredicate(params.mindistance.get());
     135  filler_preparator.addSurfaceRandomInserter(
     136      shape,
     137      params.AlignedAxis.get(),
     138      params.RandAtomDisplacement.get(),
     139      params.RandMoleculeDisplacement.get());
     140  filler_preparator.addShapeMesh(
     141      shape,
     142      params.N.get());
     143  if (!filler_preparator()) {
     144    STATUS("Filler was not fully constructed.");
     145    return Action::failure;
     146  }
     147
     148  // use filler
     149  bool successflag = false;
     150  FillSurfaceState *UndoState = NULL;
     151  {
    124152    // fill
    125153    {
    126       Filler *fillerFunction = new Filler(*mesh, *voidnode_predicate, *inserter);
     154      Filler *fillerFunction = filler_preparator.obtainFiller();
    127155      ClusterInterface::Cluster_impl cluster( new Cluster( filler->getAtomIds(), filler->getBoundingSphere() ) );
    128156      CopyAtoms_withBonds copyMethod;
     
    161189      }
    162190    }
    163 
    164     // remove
    165     delete mesh;
    166     delete inserter;
    167     delete voidnode_predicate;
    168191  }
    169192
  • src/Actions/FillAction/FillSurfaceAction.def

    r8859b5 r7f1b51  
    2020// ValueStorage by the token "Z" -> first column: int, Z, "Z"
    2121// "undefine" if no parameters are required, use (NOPARAM_DEFAULT) for each (undefined) default value
    22 #define paramtypes (unsigned int)(double)(Vector)
    23 #define paramtokens ("count")("min-distance")("Alignment-Axis")
    24 #define paramdescriptions ("number of instances to be added, changed according to geometric needs")("minimum distance between added instances")("The filler molecule is rotated relative to this alignment axis")
    25 #define paramdefaults (PARAM_DEFAULT(12))(PARAM_DEFAULT(1.))(NOPARAM_DEFAULT)
    26 #define paramreferences (N)(mindistance)(AlignedAxis)
     22#define paramtypes (unsigned int)(double)(double)(double)(double)(Vector)
     23#define paramtokens ("count")("min-distance")("tesselation-radius")("random-atom-displacement")("random-molecule-displacement")("Alignment-Axis")
     24#define paramdescriptions ("number of instances to be added, changed according to geometric needs")("minimum distance between added instances")("radius of rolling sphere in tesselating selected molecule's surfaces")("magnitude of random atom displacement")("magnitude of random molecule displacement")("The filler molecule is rotated relative to this alignment axis")
     25#define paramdefaults (PARAM_DEFAULT(12))(PARAM_DEFAULT(1.))(PARAM_DEFAULT(0.))(PARAM_DEFAULT(0.))(PARAM_DEFAULT(0.))(NOPARAM_DEFAULT)
     26#define paramreferences (N)(mindistance)(SphereRadius)(RandAtomDisplacement)(RandMoleculeDisplacement)(AlignedAxis)
    2727#define paramvalids \
    2828(DummyValidator< unsigned int >()) \
     29(BoxLengthValidator()) \
     30(BoxLengthValidator()) \
     31(BoxLengthValidator()) \
    2932(BoxLengthValidator()) \
    3033(VectorNotZeroValidator())
     
    3639#define CATEGORY Fill
    3740#define MENUNAME "fill"
    38 #define MENUPOSITION 1
     41#define MENUPOSITION 2
    3942#define ACTIONNAME Surface
    4043#define TOKEN "fill-surface"
  • src/Actions/GlobalListOfActions.hpp

    r8859b5 r7f1b51  
    5050  (FillRegularGrid) \
    5151  (FillSurface) \
     52  (FillSuspendInMolecule) \
     53  (FillVolume) \
    5254  (FragmentationAnalyseFragmentationResults) \
    5355  (FragmentationClearFragmentationResults) \
     
    6870  (MoleculeChangeBondAngle) \
    6971  (MoleculeCopy) \
    70   (MoleculeFillWithMolecule) \
    71   (MoleculeFillVoidWithMolecule) \
    7272  (MoleculeForceAnnealing) \
    7373  (MoleculeLinearInterpolationofTrajectories) \
     
    8080  (MoleculeSaveTemperature) \
    8181  (MoleculeStretchBond) \
    82   (MoleculeSuspendInWater) \
    8382  (MoleculeVerletIntegration) \
    8483  (PotentialFitParticleCharges) \
  • src/Actions/Makefile.am

    r8859b5 r7f1b51  
    215215FILLACTIONSOURCE = \
    216216        Actions/FillAction/FillRegularGridAction.cpp \
    217         Actions/FillAction/FillSurfaceAction.cpp
     217        Actions/FillAction/FillSurfaceAction.cpp \
     218        Actions/FillAction/SuspendInMoleculeAction.cpp \
     219        Actions/FillAction/FillVolumeAction.cpp
    218220FILLACTIONHEADER = \
    219221        Actions/FillAction/FillRegularGridAction.hpp \
    220         Actions/FillAction/FillSurfaceAction.hpp
     222        Actions/FillAction/FillSurfaceAction.hpp \
     223        Actions/FillAction/SuspendInMoleculeAction.hpp \
     224        Actions/FillAction/FillVolumeAction.hpp
    221225FILLACTIONDEFS = \
    222226        Actions/FillAction/FillRegularGridAction.def \
    223         Actions/FillAction/FillSurfaceAction.def
     227        Actions/FillAction/FillSurfaceAction.def \
     228        Actions/FillAction/SuspendInMoleculeAction.def \
     229        Actions/FillAction/FillVolumeAction.def
    224230
    225231
     
    279285  Actions/MoleculeAction/ChangeNameAction.cpp \
    280286  Actions/MoleculeAction/CopyAction.cpp \
    281   Actions/MoleculeAction/FillWithMoleculeAction.cpp \
    282   Actions/MoleculeAction/FillVoidWithMoleculeAction.cpp \
    283287  Actions/MoleculeAction/ForceAnnealingAction.cpp \
    284288  Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.cpp \
     
    291295  Actions/MoleculeAction/SaveTemperatureAction.cpp \
    292296  Actions/MoleculeAction/StretchBondAction.cpp \
    293   Actions/MoleculeAction/SuspendInWaterAction.cpp \
    294297  Actions/MoleculeAction/VerletIntegrationAction.cpp
    295298MOLECULEACTIONHEADER = \
     
    298301  Actions/MoleculeAction/ChangeNameAction.hpp \
    299302  Actions/MoleculeAction/CopyAction.hpp \
    300   Actions/MoleculeAction/FillWithMoleculeAction.hpp \
    301   Actions/MoleculeAction/FillVoidWithMoleculeAction.hpp \
    302303  Actions/MoleculeAction/ForceAnnealingAction.hpp \
    303304  Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.hpp \
     
    310311  Actions/MoleculeAction/SaveTemperatureAction.hpp \
    311312  Actions/MoleculeAction/StretchBondAction.hpp \
    312   Actions/MoleculeAction/SuspendInWaterAction.hpp \
    313313  Actions/MoleculeAction/VerletIntegrationAction.hpp
    314314MOLECULEACTIONDEFS = \
     
    317317  Actions/MoleculeAction/ChangeNameAction.def \
    318318  Actions/MoleculeAction/CopyAction.def \
    319   Actions/MoleculeAction/FillWithMoleculeAction.def \
    320   Actions/MoleculeAction/FillVoidWithMoleculeAction.def \
    321319  Actions/MoleculeAction/ForceAnnealingAction.def \
    322320  Actions/MoleculeAction/LinearInterpolationofTrajectoriesAction.def \
     
    329327  Actions/MoleculeAction/SaveTemperatureAction.def \
    330328  Actions/MoleculeAction/StretchBondAction.def \
    331   Actions/MoleculeAction/SuspendInWaterAction.def \
    332329  Actions/MoleculeAction/VerletIntegrationAction.def
    333330
  • src/Actions/MoleculeAction/CopyAction.cpp

    r8859b5 r7f1b51  
    6363      iter != World::getInstance().endMoleculeSelection(); ++iter) {
    6464    molecule * const copy = (iter->second)->CopyMolecule();
    65     Vector *Center = (iter->second)->DetermineCenterOfAll();
    66     *Center *= -1.;
    67     *Center += params.position.get();
     65    Vector Center = (iter->second)->DetermineCenterOfAll();
     66    Center *= -1.;
     67    Center += params.position.get();
    6868    copy->Translate(Center);
    69     delete(Center);
    7069    molecules.push_back(copy->getId());
    7170  }
  • src/Actions/MoleculeAction/RotateAroundSelfByAngleAction.cpp

    r8859b5 r7f1b51  
    7474
    7575    // Creation Line that is the rotation axis
    76     Vector *CenterOfGravity = mol->DetermineCenterOfGravity();
    77     LOG(0,  "Center of gravity is " << *CenterOfGravity << ".");
    78     Line RotationAxis(*CenterOfGravity, params.Axis.get());
    79     delete(CenterOfGravity);
     76    const Vector CenterOfGravity = mol->DetermineCenterOfGravity();
     77    LOG(0,  "Center of gravity is " << CenterOfGravity << ".");
     78    Line RotationAxis(CenterOfGravity, params.Axis.get());
    8079    LOG(0, "Rotate " << mol->getName() << " around self by " << params.angle.get() << " radian around axis " << RotationAxis << ".");
    8180
     
    9392
    9493  BOOST_FOREACH(molecule *mol, state->selectedMolecules) {
    95     Vector *CenterOfGravity = mol->DetermineCenterOfGravity();
    96     LOG(0,  "Center of gravity is " << *CenterOfGravity << ".");
    97     Line RotationAxis(*CenterOfGravity, state->params.Axis.get());
    98     delete(CenterOfGravity);
     94    const Vector CenterOfGravity = mol->DetermineCenterOfGravity();
     95    LOG(0,  "Center of gravity is " <<CenterOfGravity << ".");
     96    Line RotationAxis(CenterOfGravity, state->params.Axis.get());
    9997    LOG(0, "Rotate " << mol->getName() << " around self by " << -state->params.angle.get() << " radian around axis " << RotationAxis << ".");
    10098
     
    111109
    112110  BOOST_FOREACH(molecule *mol, state->selectedMolecules) {
    113     Vector *CenterOfGravity = mol->DetermineCenterOfGravity();
    114     LOG(0,  "Center of gravity is " << *CenterOfGravity << ".");
    115     Line RotationAxis(*CenterOfGravity, state->params.Axis.get());
    116     delete(CenterOfGravity);
     111    const Vector CenterOfGravity = mol->DetermineCenterOfGravity();
     112    LOG(0,  "Center of gravity is " << CenterOfGravity << ".");
     113    Line RotationAxis(CenterOfGravity, state->params.Axis.get());
    117114    LOG(0, "Rotate " << mol->getName() << " around self by " << state->params.angle.get() << " radian around axis " << RotationAxis << ".");
    118115
  • src/Actions/PotentialAction/FitPotentialAction.cpp

    r8859b5 r7f1b51  
    9393  LOG(2, "DEBUG: counts_per_charge is " << counts_per_charge << ".");
    9494  // we want to check each (unique) key only once
    95   HomologyContainer::const_key_iterator olditer = homologies.key_end();
    96   for (HomologyContainer::const_key_iterator iter =
    97       homologies.key_begin(); iter != homologies.key_end(); olditer = iter++) {
    98     // if it's the same as the old one, skip it
    99     if (*olditer == *iter)
    100       continue;
    101     // if it's a new key, check if every element has the right number of counts
     95  for (HomologyContainer::const_key_iterator iter = homologies.key_begin();
     96      iter != homologies.key_end(); iter = homologies.getNextKey(iter)) {
     97    // check if every element has the right number of counts
    10298    Extractors::elementcounts_t::const_iterator countiter = counts_per_charge.begin();
    10399    for (; countiter != counts_per_charge.end(); ++countiter)
  • src/Actions/Process.cpp

    r8859b5 r7f1b51  
    5252Process::~Process()
    5353{
    54   // make sure everybody knows we have stoped
    55   stop();
     54  // if active make sure everybody knows we have stopped
     55  if (active)
     56    stop();
    5657}
    5758
  • src/Analysis/analysis_correlation.cpp

    r8859b5 r7f1b51  
    334334  const LinkedCell::LinkedList intersected_atoms_set(intersected_atoms.begin(), intersected_atoms_end);
    335335
    336   // create map
    337   outmap = new PairCorrelationMap;
    338 
    339336  // get linked cell view
    340337  LinkedCell::LinkedCell_View LC = World::getInstance().getLinkedCell(max_distance);
     
    411408  }
    412409
    413   outmap = new CorrelationToPointMap;
    414410  for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) {
    415411    LOG(2, "Current molecule is " << *MolWalker << ".");
     
    456452  }
    457453
    458   outmap = new CorrelationToPointMap;
    459454  for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) {
    460455    RealSpaceMatrix FullMatrix = World::getInstance().getDomain().getM();
     
    510505  }
    511506
    512   outmap = new CorrelationToSurfaceMap;
    513507  for (std::vector<molecule *>::const_iterator MolWalker = molecules.begin(); MolWalker != molecules.end(); MolWalker++) {
    514508    LOG(2, "Current molecule is " << (*MolWalker)->name << ".");
     
    566560  }
    567561
    568   outmap = new CorrelationToSurfaceMap;
    569562  double ShortestDistance = 0.;
    570563  BoundaryTriangleSet *ShortestTriangle = NULL;
  • src/Analysis/unittests/CountBondsUnitTest.cpp

    r8859b5 r7f1b51  
    148148void CountBondsTest::HydrogenBridgeBondsTest()
    149149{
    150   double *mirror = new double[3];
     150  double mirror[3];
    151151  CPPUNIT_ASSERT(mirror != NULL && "could not create array of doubles");
    152152  for (int i=0;i<3;i++)
     
    161161  cout << "Case 1: offset of (3,0,0), hence angles are (104.5, 0, 75.5, 180) < 30." << endl;
    162162  Translator  = Vector(3,0,0);
    163   TestMolecule1->Translate(&Translator);
     163  TestMolecule1->Translate(Translator);
    164164  CPPUNIT_ASSERT_EQUAL( 1 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    165165  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, oxygen, NULL) );
    166166  Translator = Vector(-3,0,0);
    167   TestMolecule1->Translate(&Translator);
     167  TestMolecule1->Translate(Translator);
    168168
    169169  cout << "Case 2: offset of (0,3,0), hence angle are (14.5, 165.5, 90) < 30 (only three, because other 90 is missing due to first H01 only fulfilling H-bond criteria)." << endl;
    170170  Translator = Vector(0,3,0);
    171   TestMolecule1->Translate(&Translator);
     171  TestMolecule1->Translate(Translator);
    172172  CPPUNIT_ASSERT_EQUAL( 1 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    173173  Translator = Vector(0,-3,0);
    174   TestMolecule1->Translate(&Translator);
     174  TestMolecule1->Translate(Translator);
    175175
    176176  cout << "Case 3: offset of (0,-3,0) and mirror, hence angle are (165.5, 90, 165.5, 90) > 30." << endl;
    177177  Translator = Vector(0,-3,0);
    178   TestMolecule1->Scale((const double ** const)&mirror);
    179   TestMolecule1->Translate(&Translator);
     178  TestMolecule1->Scale(&mirror[0]);
     179  TestMolecule1->Translate(Translator);
    180180  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    181181  Translator = Vector(0,3,0);
    182   TestMolecule1->Translate(&Translator);
    183   TestMolecule1->Scale((const double ** const)&mirror);
     182  TestMolecule1->Translate(Translator);
     183  TestMolecule1->Scale(&mirror[0]);
    184184
    185185  cout << "Case 4: offset of (2,1,0), hence angle are (78, 26.6, 102, 153.4) < 30." << endl;
    186186  Translator = Vector(2,1,0);
    187   TestMolecule1->Translate(&Translator);
     187  TestMolecule1->Translate(Translator);
    188188  CPPUNIT_ASSERT_EQUAL( 1 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    189189  Translator = Vector(-2,-1,0);
    190   TestMolecule1->Translate(&Translator);
     190  TestMolecule1->Translate(Translator);
    191191
    192192  cout << "Case 5: offset of (0,0,3), hence angle are (90, 90, 90, 90) > 30." << endl;
    193193  Translator = Vector(0,0,3);
    194   TestMolecule1->Translate(&Translator);
     194  TestMolecule1->Translate(Translator);
    195195  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    196196  Translator = Vector(0,0,-3);
    197   TestMolecule1->Translate(&Translator);
     197  TestMolecule1->Translate(Translator);
    198198
    199199  cout << "Case 6: offset of (-3,0,0) and mirror, hence angle are (75.5, 180, 104.5, 180) > 30." << endl;
    200200  Translator = Vector(-3,0,0);
    201   TestMolecule1->Scale((const double ** const)&mirror);
    202   TestMolecule1->Translate(&Translator);
     201  TestMolecule1->Scale(&mirror[0]);
     202  TestMolecule1->Translate(Translator);
    203203  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    204204  Translator = Vector(3,0,0);
    205   TestMolecule1->Translate(&Translator);
    206   TestMolecule1->Scale((const double ** const)&mirror);
     205  TestMolecule1->Translate(Translator);
     206  TestMolecule1->Scale(&mirror[0]);
    207207
    208208  cout << "Case 7: offset of (3,0,0) and mirror, hence angles are (104.5, 0, 104.5, 0) < 30, but interfering hydrogens." << endl;
    209209  Translator = Vector(3,0,0);
    210   TestMolecule1->Scale((const double ** const)&mirror);
    211   TestMolecule1->Translate(&Translator);
     210  TestMolecule1->Scale(&mirror[0]);
     211  TestMolecule1->Translate(Translator);
    212212  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    213213  Translator = Vector(-3,0,0);
    214   TestMolecule1->Translate(&Translator);
    215   TestMolecule1->Scale((const double ** const)&mirror);
     214  TestMolecule1->Translate(Translator);
     215  TestMolecule1->Scale(&mirror[0]);
    216216
    217217  cout << "Case 8: offset of (0,3,0), hence angle are (14.5, 90, 14.5, 90) < 30, but interfering hydrogens." << endl;
    218218  Translator = Vector(0,3,0);
    219   TestMolecule1->Scale((const double ** const)&mirror);
    220   TestMolecule1->Translate(&Translator);
     219  TestMolecule1->Scale(&mirror[0]);
     220  TestMolecule1->Translate(Translator);
    221221  CPPUNIT_ASSERT_EQUAL( 0 , CountHydrogenBridgeBonds(molecules, NULL, NULL) );
    222222  Translator = Vector(0,-3,0);
    223   TestMolecule1->Translate(&Translator);
    224   TestMolecule1->Scale((const double ** const)&mirror);
    225 
    226   delete[](mirror);
    227 };
     223  TestMolecule1->Translate(Translator);
     224  TestMolecule1->Scale(&mirror[0]);
     225};
  • src/Box.cpp

    r8859b5 r7f1b51  
    127127}
    128128
    129 void Box::setM(RealSpaceMatrix _M){
     129void Box::setM(const RealSpaceMatrix &_M){
    130130  ASSERT(_M.determinant()!=0,"Matrix in Box construction was not invertible");
    131131  OBSERVE;
  • src/Box.hpp

    r8859b5 r7f1b51  
    6262   * Set the form of the parallelepiped.
    6363   */
    64   void setM(RealSpaceMatrix);
     64  void setM(const RealSpaceMatrix &_M);
    6565
    6666  Box &operator=(const Box&);
  • src/Filling/Makefile.am

    r8859b5 r7f1b51  
    1313        Filling/Inserter/SimpleInserter.cpp \
    1414        Filling/Inserter/SurfaceInserter.cpp \
     15        Filling/Inserter/SurfaceRandomInserter.cpp \
    1516        Filling/Predicates/AnyFillPredicate.cpp \
    1617        Filling/Predicates/FillPredicate.cpp \
     
    1920        Filling/Predicates/IsValidInDomain_FillPredicate.cpp \
    2021        Filling/Predicates/IsVoidNode_FillPredicate.cpp \
    21         Filling/Predicates/Ops_FillPredicate.cpp
     22        Filling/Predicates/Ops_FillPredicate.cpp \
     23        Filling/Preparators/BaseFillerPreparator.cpp \
     24        Filling/Preparators/BoxFillerPreparator.cpp \
     25        Filling/Preparators/ShapeSurfaceFillerPreparator.cpp \
     26        Filling/Preparators/ShapeVolumeFillerPreparator.cpp
    2227       
    2328FILLINGHEADER = \
     
    3439        Filling/Inserter/SimpleInserter.hpp \
    3540        Filling/Inserter/SurfaceInserter.hpp \
     41        Filling/Inserter/SurfaceRandomInserter.hpp \
    3642        Filling/NodeTypes.hpp \
    3743        Filling/Predicates/AnyFillPredicate.hpp \
     
    4450        Filling/Predicates/IsVoidNode_FillPredicate.hpp \
    4551        Filling/Predicates/Ops_FillPredicate.hpp \
    46         Filling/Predicates/Ops_FillPredicate_impl.hpp
    47                                  
     52        Filling/Predicates/Ops_FillPredicate_impl.hpp \
     53        Filling/Preparators/BaseFillerPreparator.hpp \
     54        Filling/Preparators/BoxFillerPreparator.hpp \
     55        Filling/Preparators/ShapeSurfaceFillerPreparator.hpp \
     56        Filling/Preparators/ShapeVolumeFillerPreparator.hpp
    4857
    4958noinst_LTLIBRARIES += libMolecuilderFilling.la
  • src/Filling/Mesh/MeshAdaptor.hpp

    r8859b5 r7f1b51  
    1818
    1919#include "Filling/NodeTypes.hpp"
     20#include "Filling/Mesh/Mesh.hpp"
    2021
    2122class MeshAdaptor : public Mesh
  • src/Fragmentation/Exporters/SaturationDistanceMaximizer.cpp

    r8859b5 r7f1b51  
    117117  my_func.df = &jacf;
    118118  my_func.fdf = &funcjacf;
    119   my_func.params = getAdvocate();
     119  SaturationDistanceMaximizer::Advocate* const advocate = getAdvocate();
     120  my_func.params = advocate;
    120121
    121122  // allocate argument and set to zero
     
    158159  // free memory
    159160  gsl_multimin_fdfminimizer_free(s);
     161  my_func.params = NULL;
     162  delete advocate;
    160163  gsl_vector_free(x);
    161164}
  • src/Fragmentation/Homology/HomologyContainer.hpp

    r8859b5 r7f1b51  
    181181  void clear();
    182182
     183  /** Returns the number of keys in the container.
     184   *
     185   * \return size of internal container
     186   */
     187  const size_t size()
     188  { return container.size(); }
     189
    183190private:
    184191  //!> multimap containing all homologous graph under same key but each with its value
  • src/LinkedCell/linkedcell.cpp

    r8859b5 r7f1b51  
    141141LinkedCell_deprecated::~LinkedCell_deprecated()
    142142{
    143   if (LC != NULL)
    144   for (index=0;index<N[0]*N[1]*N[2];index++)
    145     LC[index].clear();
    146   delete[](LC);
     143  if (LC != NULL) {
     144    for (index=0;index<N[0]*N[1]*N[2];index++) {
     145      // don't delete pointers are just "borrowed"
     146      LC[index].clear();
     147    }
     148    delete[] LC;
     149  }
    147150  for(int i=0;i<NDIM;i++)
    148151    N[i] = 0;
     
    367370      }
    368371    }
    369     delete(NeighbourList);
     372    delete NeighbourList;
    370373  } else
    371374    ELOG(2, "Around vector " << *center << " there are no atoms.");
  • src/LinkedCell/unittests/linkedcellUnitTest.cpp

    r8859b5 r7f1b51  
    378378  CPPUNIT_ASSERT_EQUAL( (size_t)0, ListOfPoints->size() );
    379379  CPPUNIT_ASSERT_EQUAL( true, ListOfPoints->empty() );
    380   delete(ListOfPoints);
    381 };
     380  delete ListOfPoints;
     381};
  • src/LinkedCell/unittests/stubs/ObserverBoxStub.cpp

    r8859b5 r7f1b51  
    9191}
    9292
    93 void Box::setM(RealSpaceMatrix _M)
     93void Box::setM(const RealSpaceMatrix &_M)
    9494{
    9595  OBSERVE;
  • src/Parser/PdbParser.cpp

    r8859b5 r7f1b51  
    295295      for (size_t i = 0; i < MaxMol; ++i)
    296296        delete elementNo[i];
    297       delete elementNo;
     297      delete[] elementNo;
    298298
    299299      // write CONECTs
  • src/Potentials/PartialNucleiChargeFitter.cpp

    r8859b5 r7f1b51  
    227227PartialNucleiChargeFitter::~PartialNucleiChargeFitter()
    228228{
    229   delete PotentialFromCharges;
     229  if (PartialCharges != NULL)
     230    delete PartialCharges;
     231
     232  if (PotentialFromCharges != NULL)
     233    delete PotentialFromCharges;
    230234}
    231235
     
    235239  const size_t rows = SampledPotential.getDimension();
    236240  const size_t cols = positions.size();
     241
     242  // allocate memory for PotentialFromCharges
     243  if (PotentialFromCharges != NULL) {
     244    delete PotentialFromCharges;
     245    PotentialFromCharges = NULL;
     246  }
    237247  PotentialFromCharges = new MatrixContent( rows, cols );
    238248  // store step length per axis
     
    285295{
    286296  // prepare PartialCharges
     297  if (PartialCharges != NULL) {
     298    delete PartialCharges;
     299    PartialCharges = NULL;
     300  }
    287301  PartialCharges = new VectorContent(positions.size());
    288302
  • src/Potentials/PotentialRegistry.cpp

    r8859b5 r7f1b51  
    4444{}
    4545
     46PotentialRegistry::~PotentialRegistry()
     47{
     48  cleanup();
     49}
    4650
    4751void PotentialRegistry::registerInstance(EmpiricalPotential *potential)
  • src/Potentials/PotentialRegistry.hpp

    r8859b5 r7f1b51  
    4545private:
    4646  PotentialRegistry();
    47   virtual ~PotentialRegistry() {}
     47  virtual ~PotentialRegistry();
    4848};
    4949
  • src/Potentials/SerializablePotential.hpp

    r8859b5 r7f1b51  
    5353    ParticleTypes(_ParticleTypes)
    5454  {}
    55   ~SerializablePotential() {}
     55  virtual ~SerializablePotential() {}
    5656
    5757  /** Return the token name of this specific potential.
  • src/Tesselation/CandidateForTesselation.cpp

    r8859b5 r7f1b51  
    172172      }
    173173    }
    174     delete (ListofPoints);
     174    delete ListofPoints;
    175175
    176176  }
  • src/Tesselation/boundary.cpp

    r8859b5 r7f1b51  
    183183  LineMap LinesOnBoundary;
    184184  TriangleMap TrianglesOnBoundary;
    185   Vector *MolCenter = mol->DetermineCenterOfAll();
     185  Vector MolCenter = mol->DetermineCenterOfAll();
    186186  Vector helper;
    187187  BoundariesTestPair BoundaryTestPair;
     
    207207    // Boundaries stores non-const TesselPoint ref, hence we need iterator here
    208208    for (molecule::iterator iter = mol->begin(); iter != mol->end(); ++iter) {
    209       ProjectedVector = (*iter)->getPosition() - (*MolCenter);
     209      ProjectedVector = (*iter)->getPosition() - (MolCenter);
    210210      ProjectedVector.ProjectOntoPlane(AxisVector);
    211211
     
    233233          LOG(2, "Keeping new vector due to larger projected distance " << ProjectedVectorNorm << ".");
    234234        } else if (fabs(ProjectedVectorNorm - BoundaryTestPair.first->second.first) < MYEPSILON) {
    235           helper = (*iter)->getPosition() - (*MolCenter);
     235          helper = (*iter)->getPosition() - (MolCenter);
    236236          const double oldhelperNorm = helper.NormSquared();
    237           helper = BoundaryTestPair.first->second.second->getPosition() - (*MolCenter);
     237          helper = BoundaryTestPair.first->second.second->getPosition() - (MolCenter);
    238238          if (helper.NormSquared() < oldhelperNorm) {
    239239            BoundaryTestPair.first->second.second = (*iter);
     
    289289        {
    290290          Vector SideA, SideB, SideC, SideH;
    291           SideA = left->second.second->getPosition() - (*MolCenter);
     291          SideA = left->second.second->getPosition() - (MolCenter);
    292292          SideA.ProjectOntoPlane(AxisVector);
    293293          //          LOG(1, "SideA: " << SideA);
    294294
    295           SideB = right->second.second->getPosition() -(*MolCenter);
     295          SideB = right->second.second->getPosition() -(MolCenter);
    296296          SideB.ProjectOntoPlane(AxisVector);
    297297          //          LOG(1, "SideB: " << SideB);
     
    301301          //          LOG(1, "SideC: " << SideC);
    302302
    303           SideH = runner->second.second->getPosition() -(*MolCenter);
     303          SideH = runner->second.second->getPosition() -(MolCenter);
    304304          SideH.ProjectOntoPlane(AxisVector);
    305305          //          LOG(1, "SideH: " << SideH);
     
    329329    } while (flag);
    330330  }
    331   delete(MolCenter);
    332331  return BoundaryPoints;
    333332};
     
    655654};
    656655
    657 /** Creates multiples of the by \a *mol given cluster and suspends them in water with a given final density.
    658  * We get cluster volume by Tesselation::getVolumeOfConvexEnvelope() and its diameters by GetDiametersOfCluster()
    659  * TODO: Here, we need a VolumeOfGeneralEnvelope (i.e. non-convex one)
    660  * \param *out output stream for debugging
    661  * \param *configuration needed for path to store convex envelope file
    662  * \param *mol molecule structure representing the cluster
    663  * \param *&TesselStruct Tesselation structure with triangles on return
    664  * \param ClusterVolume guesstimated cluster volume, if equal 0 we used Tesselation::getVolumeOfConvexEnvelope() instead.
    665  * \param celldensity desired average density in final cell
    666  */
    667 void PrepareClustersinWater(config *configuration, molecule *mol, double ClusterVolume, double celldensity)
    668 {
    669         //Info FunctionInfo(__func__);
    670   bool IsAngstroem = true;
    671   double *GreatestDiameter = NULL;
    672   Boundaries *BoundaryPoints = NULL;
    673   class Tesselation *TesselStruct = NULL;
    674   Vector BoxLengths;
    675   int repetition[NDIM] = { 1, 1, 1 };
    676   int TotalNoClusters = 1;
    677   double totalmass = 0.;
    678   double clustervolume = 0.;
    679   double cellvolume = 0.;
    680 
    681   // transform to PAS by Action
    682   Vector MainAxis(0.,0.,1.);
    683   mol->RotateToPrincipalAxisSystem(MainAxis);
    684 
    685   IsAngstroem = configuration->GetIsAngstroem();
    686   BoundaryPoints = GetBoundaryPoints(mol, TesselStruct);
    687   GreatestDiameter = GetDiametersOfCluster(BoundaryPoints, mol, TesselStruct, IsAngstroem);
    688   PointCloudAdaptor< molecule > cloud(mol, mol->name);
    689   LinkedCell_deprecated *LCList = new LinkedCell_deprecated(cloud, 10.);
    690   FindConvexBorder(mol, BoundaryPoints, TesselStruct, (const LinkedCell_deprecated *&)LCList, NULL);
    691   delete (LCList);
    692   delete[] BoundaryPoints;
    693 
    694 
    695   // some preparations beforehand
    696   if (ClusterVolume == 0)
    697     clustervolume = TesselStruct->getVolumeOfConvexEnvelope(configuration->GetIsAngstroem());
    698   else
    699     clustervolume = ClusterVolume;
    700 
    701   delete TesselStruct;
    702 
    703   for (int i = 0; i < NDIM; i++)
    704     TotalNoClusters *= repetition[i];
    705 
    706   // sum up the atomic masses
    707   for (molecule::const_iterator iter = mol->begin(); iter != mol->end(); ++iter) {
    708       totalmass += (*iter)->getType()->getMass();
    709   }
    710   LOG(0, "RESULT: The summed mass is " << setprecision(10) << totalmass << " atomicmassunit.");
    711   LOG(0, "RESULT: The average density is " << setprecision(10) << totalmass / clustervolume << " atomicmassunit/" << (IsAngstroem ? "angstrom" : "atomiclength") << "^3.");
    712 
    713   // solve cubic polynomial
    714   LOG(1, "Solving equidistant suspension in water problem ...");
    715   if (IsAngstroem)
    716     cellvolume = (TotalNoClusters * totalmass / SOLVENTDENSITY_A - (totalmass / clustervolume)) / (celldensity - 1);
    717   else
    718     cellvolume = (TotalNoClusters * totalmass / SOLVENTDENSITY_a0 - (totalmass / clustervolume)) / (celldensity - 1);
    719   LOG(1, "Cellvolume needed for a density of " << celldensity << " g/cm^3 is " << cellvolume << " " << (IsAngstroem ? "angstrom" : "atomiclength") << "^3.");
    720 
    721   double minimumvolume = TotalNoClusters * (GreatestDiameter[0] * GreatestDiameter[1] * GreatestDiameter[2]);
    722   LOG(1, "Minimum volume of the convex envelope contained in a rectangular box is " << minimumvolume << " atomicmassunit/" << (IsAngstroem ? "angstrom" : "atomiclength") << "^3.");
    723   if (minimumvolume > cellvolume) {
    724     ELOG(1, "the containing box already has a greater volume than the envisaged cell volume!");
    725     LOG(0, "Setting Box dimensions to minimum possible, the greatest diameters.");
    726     for (int i = 0; i < NDIM; i++)
    727       BoxLengths[i] = GreatestDiameter[i];
    728     mol->CenterEdge(&BoxLengths);
    729   } else {
    730     BoxLengths[0] = (repetition[0] * GreatestDiameter[0] + repetition[1] * GreatestDiameter[1] + repetition[2] * GreatestDiameter[2]);
    731     BoxLengths[1] = (repetition[0] * repetition[1] * GreatestDiameter[0] * GreatestDiameter[1] + repetition[0] * repetition[2] * GreatestDiameter[0] * GreatestDiameter[2] + repetition[1] * repetition[2] * GreatestDiameter[1] * GreatestDiameter[2]);
    732     BoxLengths[2] = minimumvolume - cellvolume;
    733     double x0 = 0.;
    734     double x1 = 0.;
    735     double x2 = 0.;
    736     if (gsl_poly_solve_cubic(BoxLengths[0], BoxLengths[1], BoxLengths[2], &x0, &x1, &x2) == 1) // either 1 or 3 on return
    737       LOG(0, "RESULT: The resulting spacing is: " << x0 << " .");
    738     else {
    739       LOG(0, "RESULT: The resulting spacings are: " << x0 << " and " << x1 << " and " << x2 << " .");
    740       x0 = x2; // sorted in ascending order
    741     }
    742 
    743     cellvolume = 1.;
    744     for (int i = 0; i < NDIM; i++) {
    745       BoxLengths[i] = repetition[i] * (x0 + GreatestDiameter[i]);
    746       cellvolume *= BoxLengths[i];
    747     }
    748 
    749     // set new box dimensions
    750     LOG(0, "Translating to box with these boundaries.");
    751     mol->SetBoxDimension(&BoxLengths);
    752     mol->CenterInBox();
    753   }
    754   delete[] GreatestDiameter;
    755   // update Box of atoms by boundary
    756   mol->SetBoxDimension(&BoxLengths);
    757   LOG(0, "RESULT: The resulting cell dimensions are: " << BoxLengths[0] << " and " << BoxLengths[1] << " and " << BoxLengths[2] << " with total volume of " << cellvolume << " " << (IsAngstroem ? "angstrom" : "atomiclength") << "^3.");
    758 };
    759 
    760 
    761 /** Fills the empty space around other molecules' surface of the simulation box with a filler.
    762  * \param *out output stream for debugging
    763  * \param *List list of molecules already present in box
    764  * \param *TesselStruct contains tesselated surface
    765  * \param *filler molecule which the box is to be filled with
    766  * \param configuration contains box dimensions
    767  * \param MaxDistance fills in molecules only up to this distance (set to -1 if whole of the domain)
    768  * \param distance[NDIM] distance between filling molecules in each direction
    769  * \param boundary length of boundary zone between molecule and filling mollecules
    770  * \param epsilon distance to surface which is not filled
    771  * \param RandAtomDisplacement maximum distance for random displacement per atom
    772  * \param RandMolDisplacement maximum distance for random displacement per filler molecule
    773  * \param DoRandomRotation true - do random rotiations, false - don't
    774  */
    775 void FillBoxWithMolecule(MoleculeListClass *List, molecule *filler, config &configuration, const double MaxDistance, const double distance[NDIM], const double boundary, const double RandomAtomDisplacement, const double RandomMolDisplacement, const bool DoRandomRotation)
    776 {
    777         //Info FunctionInfo(__func__);
    778   molecule *Filling = World::getInstance().createMolecule();
    779   Vector CurrentPosition;
    780   int N[NDIM];
    781   int n[NDIM];
    782   const RealSpaceMatrix &M = World::getInstance().getDomain().getM();
    783   RealSpaceMatrix Rotations;
    784   const RealSpaceMatrix &MInverse = World::getInstance().getDomain().getMinv();
    785   Vector AtomTranslations;
    786   Vector FillerTranslations;
    787   Vector FillerDistance;
    788   Vector Inserter;
    789   double FillIt = false;
    790   bond::ptr Binder;
    791   double phi[NDIM];
    792   map<molecule *, Tesselation *> TesselStruct;
    793   map<molecule *, LinkedCell_deprecated *> LCList;
    794 
    795   for (MoleculeList::iterator ListRunner = List->ListOfMolecules.begin(); ListRunner != List->ListOfMolecules.end(); ListRunner++)
    796     if ((*ListRunner)->getAtomCount() > 0) {
    797       LOG(1, "Pre-creating linked cell lists for molecule " << *ListRunner << ".");
    798       PointCloudAdaptor< molecule > cloud(*ListRunner, (*ListRunner)->name);
    799       LCList[(*ListRunner)] = new LinkedCell_deprecated(cloud, 10.); // get linked cell list
    800       LOG(1, "Pre-creating tesselation for molecule " << *ListRunner << ".");
    801       TesselStruct[(*ListRunner)] = NULL;
    802       FindNonConvexBorder((*ListRunner), TesselStruct[(*ListRunner)], (const LinkedCell_deprecated *&)LCList[(*ListRunner)], 5., NULL);
    803     }
    804 
    805   // Center filler at origin
    806   filler->CenterEdge(&Inserter);
    807   const int FillerCount = filler->getAtomCount();
    808   LOG(2, "INFO: Filler molecule has the following bonds:");
    809   for(molecule::iterator AtomRunner = filler->begin(); AtomRunner != filler->end(); ++AtomRunner) {
    810     const BondList& ListOfBonds = (*AtomRunner)->getListOfBonds();
    811     for(BondList::const_iterator BondRunner = ListOfBonds.begin();
    812         BondRunner != ListOfBonds.end();
    813         ++BondRunner) {
    814       if ((*BondRunner)->leftatom == *AtomRunner)
    815         LOG(2, "  " << *(*BondRunner));
    816     }
    817   }
    818 
    819   atom * CopyAtoms[FillerCount];
    820 
    821   // calculate filler grid in [0,1]^3
    822   FillerDistance = MInverse * Vector(distance[0], distance[1], distance[2]);
    823   for(int i=0;i<NDIM;i++)
    824     N[i] = (int) ceil(1./FillerDistance[i]);
    825   LOG(1, "INFO: Grid steps are " << N[0] << ", " << N[1] << ", " << N[2] << ".");
    826 
    827   // initialize seed of random number generator to current time
    828   RandomNumberGenerator &random = RandomNumberGeneratorFactory::getInstance().makeRandomNumberGenerator();
    829   const double rng_min = random.min();
    830   const double rng_max = random.max();
    831   //srand ( time(NULL) );
    832 
    833   // go over [0,1]^3 filler grid
    834   for (n[0] = 0; n[0] < N[0]; n[0]++)
    835     for (n[1] = 0; n[1] < N[1]; n[1]++)
    836       for (n[2] = 0; n[2] < N[2]; n[2]++) {
    837         // calculate position of current grid vector in untransformed box
    838         CurrentPosition = M * Vector((double)n[0]/(double)N[0], (double)n[1]/(double)N[1], (double)n[2]/(double)N[2]);
    839         // create molecule random translation vector ...
    840         for (int i=0;i<NDIM;i++)
    841           FillerTranslations[i] = RandomMolDisplacement*(random()/((rng_max-rng_min)/2.) - 1.);
    842         LOG(2, "INFO: Current Position is " << CurrentPosition << "+" << FillerTranslations << ".");
    843 
    844         // go through all atoms
    845         for (int i=0;i<FillerCount;i++)
    846           CopyAtoms[i] = NULL;
    847 
    848         // have same rotation angles for all molecule's atoms
    849         if (DoRandomRotation)
    850           for (int i=0;i<NDIM;i++)
    851             phi[i] = (random()/(rng_max-rng_min))*(2.*M_PI);
    852 
    853         // atom::clone is not const member function, hence we need iterator here
    854         for(molecule::iterator iter = filler->begin(); iter !=filler->end();++iter){
    855 
    856           // create atomic random translation vector ...
    857           for (int i=0;i<NDIM;i++)
    858             AtomTranslations[i] = RandomAtomDisplacement*(random()/((rng_max-rng_min)/2.) - 1.);
    859 
    860           // ... and rotation matrix
    861           if (DoRandomRotation) {
    862             Rotations.set(0,0,  cos(phi[0])            *cos(phi[2]) + (sin(phi[0])*sin(phi[1])*sin(phi[2])));
    863             Rotations.set(0,1,  sin(phi[0])            *cos(phi[2]) - (cos(phi[0])*sin(phi[1])*sin(phi[2])));
    864             Rotations.set(0,2,              cos(phi[1])*sin(phi[2])                                        );
    865             Rotations.set(1,0, -sin(phi[0])*cos(phi[1])                                                    );
    866             Rotations.set(1,1,  cos(phi[0])*cos(phi[1])                                                    );
    867             Rotations.set(1,2,              sin(phi[1])                                                    );
    868             Rotations.set(2,0, -cos(phi[0])            *sin(phi[2]) + (sin(phi[0])*sin(phi[1])*cos(phi[2])));
    869             Rotations.set(2,1, -sin(phi[0])            *sin(phi[2]) - (cos(phi[0])*sin(phi[1])*cos(phi[2])));
    870             Rotations.set(2,2,              cos(phi[1])*cos(phi[2])                                        );
    871           }
    872 
    873           // ... and put at new position
    874           Inserter = (*iter)->getPosition();
    875           if (DoRandomRotation)
    876             Inserter *= Rotations;
    877           Inserter += AtomTranslations + FillerTranslations + CurrentPosition;
    878 
    879           // check whether inserter is inside box
    880           Inserter *= MInverse;
    881           FillIt = true;
    882           for (int i=0;i<NDIM;i++)
    883             FillIt = FillIt && (Inserter[i] >= -MYEPSILON) && ((Inserter[i]-1.) <= MYEPSILON);
    884           Inserter *= M;
    885 
    886           // Check whether point is in- or outside
    887           for (MoleculeList::iterator ListRunner = List->ListOfMolecules.begin(); ListRunner != List->ListOfMolecules.end(); ListRunner++) {
    888             // get linked cell list
    889             if (TesselStruct[(*ListRunner)] != NULL) {
    890               const double distance = (TesselStruct[(*ListRunner)]->GetDistanceToSurface(Inserter, LCList[(*ListRunner)]));
    891               FillIt = FillIt && (distance > boundary) && ((MaxDistance < 0) || (MaxDistance > distance));
    892             }
    893           }
    894           // insert into Filling
    895           if (FillIt) {
    896             LOG(1, "INFO: Position at " << Inserter << " is outer point.");
    897             // copy atom ...
    898             CopyAtoms[(*iter)->getNr()] = (*iter)->clone();
    899             (*CopyAtoms[(*iter)->getNr()]).setPosition(Inserter);
    900             Filling->AddAtom(CopyAtoms[(*iter)->getNr()]);
    901             LOG(1, "Filling atom " << **iter << ", translated to " << AtomTranslations << ", at final position is " << (CopyAtoms[(*iter)->getNr()]->getPosition()) << ".");
    902           } else {
    903             LOG(1, "INFO: Position at " << Inserter << " is inner point, within boundary or outside of MaxDistance.");
    904             CopyAtoms[(*iter)->getNr()] = NULL;
    905             continue;
    906           }
    907         }
    908         // go through all bonds and add as well
    909         for(molecule::iterator AtomRunner = filler->begin(); AtomRunner != filler->end(); ++AtomRunner) {
    910           const BondList& ListOfBonds = (*AtomRunner)->getListOfBonds();
    911           for(BondList::const_iterator BondRunner = ListOfBonds.begin();
    912               BondRunner != ListOfBonds.end();
    913               ++BondRunner)
    914             if ((*BondRunner)->leftatom == *AtomRunner) {
    915               Binder = (*BondRunner);
    916               if ((CopyAtoms[Binder->leftatom->getNr()] != NULL) && (CopyAtoms[Binder->rightatom->getNr()] != NULL)) {
    917                 LOG(3, "Adding Bond between " << *CopyAtoms[Binder->leftatom->getNr()] << " and " << *CopyAtoms[Binder->rightatom->getNr()]<< ".");
    918                 Filling->AddBond(CopyAtoms[Binder->leftatom->getNr()], CopyAtoms[Binder->rightatom->getNr()], Binder->getDegree());
    919               }
    920             }
    921         }
    922       }
    923   for (MoleculeList::iterator ListRunner = List->ListOfMolecules.begin(); ListRunner != List->ListOfMolecules.end(); ListRunner++) {
    924     delete LCList[*ListRunner];
    925     delete TesselStruct[(*ListRunner)];
    926   }
    927 };
    928 
    929 /** Rotates given molecule \a Filling and moves its atoms according to given
    930  *  \a RandomAtomDisplacement.
    931  *
    932  *  Note that for rotation to be sensible, the molecule should be centered at
    933  *  the origin. This is not done here!
    934  *
    935  *  \param &Filling molecule whose atoms to displace
    936  *  \param RandomAtomDisplacement magnitude of random displacement
    937  *  \param &Rotations 3D rotation matrix (or unity if no rotation desired)
    938  */
    939 void RandomizeMoleculePositions(
    940     molecule *&Filling,
    941     double RandomAtomDisplacement,
    942     RealSpaceMatrix &Rotations,
    943     RandomNumberGenerator &random
    944     )
    945 {
    946   const double rng_min = random.min();
    947   const double rng_max = random.max();
    948 
    949   Vector AtomTranslations;
    950   for(molecule::iterator miter = Filling->begin(); miter != Filling->end(); ++miter) {
    951     Vector temp = (*miter)->getPosition();
    952     temp *= Rotations;
    953     (*miter)->setPosition(temp);
    954     // create atomic random translation vector ...
    955     for (int i=0;i<NDIM;i++)
    956       AtomTranslations[i] = RandomAtomDisplacement*(random()/((rng_max-rng_min)/2.) - 1.);
    957     (*miter)->setPosition((*miter)->getPosition() + AtomTranslations);
    958   }
    959 }
    960 
    961 /** Removes all atoms of a molecule outside.
    962  *
    963  * If the molecule is empty, it is removed as well.
    964  *
    965  * @param Filling molecule whose atoms to check, removed if eventually left
    966  *        empty.
    967  * @return true - atoms had to be removed, false - no atoms have been removed
    968  */
    969 bool RemoveAtomsOutsideDomain(molecule *&Filling)
    970 {
    971   bool status = false;
    972   Box &Domain = World::getInstance().getDomain();
    973   // check if all is still inside domain
    974   for(molecule::iterator miter = Filling->begin(); miter != Filling->end(); ) {
    975     // check whether each atom is inside box
    976     if (!Domain.isInside((*miter)->getPosition())) {
    977       status = true;
    978       atom *Walker = *miter;
    979       ++miter;
    980       World::getInstance().destroyAtom(Walker);
    981     } else {
    982       ++miter;
    983     }
    984   }
    985   if (Filling->empty()) {
    986     LOG(0, "Removing molecule " << Filling->getName() << ", all atoms have been removed.");
    987     World::getInstance().destroyMolecule(Filling);
    988     Filling = NULL;
    989   }
    990   return status;
    991 }
    992 
    993 /** Checks whether there are no atoms inside a sphere around \a CurrentPosition
    994  *  except those atoms present in \a *filler.
    995  *  If filler is NULL, then we just call LinkedCell_deprecated::GetPointsInsideSphere() and
    996  *  check whether the return list is empty.
    997  * @param *filler
    998  * @param boundary
    999  * @param CurrentPosition
    1000  */
    1001 bool isSpaceAroundPointVoid(
    1002     LinkedCell_deprecated *LC,
    1003     molecule *filler,
    1004     const double boundary,
    1005     Vector &CurrentPosition)
    1006 {
    1007   size_t compareTo = 0;
    1008   TesselPointSTLList* liste = LC->GetPointsInsideSphere(boundary == 0. ? MYEPSILON : boundary, &CurrentPosition);
    1009   if (filler != NULL) {
    1010     for (TesselPointSTLList::const_iterator iter = liste->begin();
    1011         iter != liste->end();
    1012         ++iter) {
    1013       for (molecule::iterator miter = filler->begin();
    1014           miter != filler->end();
    1015           ++miter) {
    1016         if (*iter == *miter)
    1017           ++compareTo;
    1018       }
    1019     }
    1020   }
    1021   const bool result = (liste->size() == compareTo);
    1022   if (!result) {
    1023     LOG(0, "Skipping because of the following atoms:");
    1024     for (TesselPointSTLList::const_iterator iter = liste->begin();
    1025         iter != liste->end();
    1026         ++iter) {
    1027       LOG(0, **iter);
    1028     }
    1029   }
    1030   delete(liste);
    1031   return result;
    1032 }
    1033 
    1034 /** Sets given 3x3 matrix to a random rotation matrix.
    1035  *
    1036  * @param a matrix to set
    1037  */
    1038 inline void setRandomRotation(RealSpaceMatrix &a)
    1039 {
    1040   double phi[NDIM];
    1041   RandomNumberGenerator &random = RandomNumberGeneratorFactory::getInstance().makeRandomNumberGenerator();
    1042   const double rng_min = random.min();
    1043   const double rng_max = random.max();
    1044 
    1045   for (int i=0;i<NDIM;i++) {
    1046     phi[i] = (random()/(rng_max-rng_min))*(2.*M_PI);
    1047     LOG(4, "DEBUG: Random angle is " << phi[i] << ".");
    1048   }
    1049 
    1050   a.setRotation(phi);
    1051 }
    1052 
    1053 /** Fills the empty space of the simulation box with water.
    1054  * \param *filler molecule which the box is to be filled with
    1055  * \param configuration contains box dimensions
    1056  * \param distance[NDIM] distance between filling molecules in each direction
    1057  * \param boundary length of boundary zone between molecule and filling molecules
    1058  * \param RandAtomDisplacement maximum distance for random displacement per atom
    1059  * \param RandMolDisplacement maximum distance for random displacement per filler molecule
    1060  * \param MinDistance minimum distance to boundary of domain and present molecules
    1061  * \param DoRandomRotation true - do random rotations, false - don't
    1062  */
    1063 void FillVoidWithMolecule(
    1064     molecule *&filler,
    1065     config &configuration,
    1066     const double distance[NDIM],
    1067     const double boundary,
    1068     const double RandomAtomDisplacement,
    1069     const double RandomMolDisplacement,
    1070     const double MinDistance,
    1071     const bool DoRandomRotation
    1072     )
    1073 {
    1074   //Info FunctionInfo(__func__);
    1075   molecule *Filling = NULL;
    1076   Vector CurrentPosition;
    1077   int N[NDIM];
    1078   int n[NDIM];
    1079   const RealSpaceMatrix &M = World::getInstance().getDomain().getM();
    1080   RealSpaceMatrix Rotations;
    1081   const RealSpaceMatrix &MInverse = World::getInstance().getDomain().getMinv();
    1082   Vector FillerTranslations;
    1083   Vector FillerDistance;
    1084   Vector Inserter;
    1085   double FillIt = false;
    1086   Vector firstInserter;
    1087   bool firstInsertion = true;
    1088   const Box &Domain = World::getInstance().getDomain();
    1089   map<molecule *, LinkedCell_deprecated *> LCList;
    1090   std::vector<molecule *> List = World::getInstance().getAllMolecules();
    1091   MoleculeListClass *MolList = World::getInstance().getMolecules();
    1092 
    1093   for (std::vector<molecule *>::iterator ListRunner = List.begin(); ListRunner != List.end(); ListRunner++)
    1094     if ((*ListRunner)->getAtomCount() > 0) {
    1095       LOG(1, "Pre-creating linked cell lists for molecule " << *ListRunner << ".");
    1096       PointCloudAdaptor< molecule > cloud(*ListRunner, (*ListRunner)->name);
    1097       LCList[(*ListRunner)] = new LinkedCell_deprecated(cloud, 10.); // get linked cell list
    1098     }
    1099 
    1100   // Center filler at its center of gravity
    1101   Vector *gravity = filler->DetermineCenterOfGravity();
    1102   filler->CenterAtVector(gravity);
    1103   delete gravity;
    1104   //const int FillerCount = filler->getAtomCount();
    1105   LOG(2, "INFO: Filler molecule has the following bonds:");
    1106   for(molecule::iterator AtomRunner = filler->begin(); AtomRunner != filler->end(); ++AtomRunner) {
    1107     const BondList& ListOfBonds = (*AtomRunner)->getListOfBonds();
    1108     for(BondList::const_iterator BondRunner = ListOfBonds.begin();
    1109         BondRunner != ListOfBonds.end();
    1110         ++BondRunner)
    1111       if ((*BondRunner)->leftatom == *AtomRunner)
    1112         LOG(2, "  " << *(*BondRunner));
    1113   }
    1114 
    1115   // calculate filler grid in [0,1]^3
    1116   FillerDistance = MInverse * Vector(distance[0], distance[1], distance[2]);
    1117   for(int i=0;i<NDIM;i++)
    1118     N[i] = (int) ceil(1./FillerDistance[i]);
    1119   LOG(1, "INFO: Grid steps are " << N[0] << ", " << N[1] << ", " << N[2] << ".");
    1120 
    1121   // initialize seed of random number generator to current time
    1122   RandomNumberGenerator &random = RandomNumberGeneratorFactory::getInstance().makeRandomNumberGenerator();
    1123   const double rng_min = random.min();
    1124   const double rng_max = random.max();
    1125   //srand ( time(NULL) );
    1126 
    1127   // go over [0,1]^3 filler grid
    1128   for (n[0] = 0; n[0] < N[0]; n[0]++)
    1129     for (n[1] = 0; n[1] < N[1]; n[1]++)
    1130       for (n[2] = 0; n[2] < N[2]; n[2]++) {
    1131         // calculate position of current grid vector in untransformed box
    1132         CurrentPosition = M * Vector((double)n[0]/(double)N[0], (double)n[1]/(double)N[1], (double)n[2]/(double)N[2]);
    1133         // create molecule random translation vector ...
    1134         for (int i=0;i<NDIM;i++) // have the random values [-1,1]*RandomMolDisplacement
    1135           FillerTranslations[i] = RandomMolDisplacement*(random()/((rng_max-rng_min)/2.) - 1.);
    1136         LOG(2, "INFO: Current Position is " << CurrentPosition << "+" << FillerTranslations << ".");
    1137 
    1138         // ... and rotation matrix
    1139         if (DoRandomRotation)
    1140           setRandomRotation(Rotations);
    1141         else
    1142           Rotations.setIdentity();
    1143 
    1144 
    1145         // Check whether there is anything too close by and whether atom is outside of domain
    1146         FillIt = true;
    1147         for (std::map<molecule *, LinkedCell_deprecated *>::iterator ListRunner = LCList.begin(); ListRunner != LCList.end(); ++ListRunner) {
    1148           FillIt = FillIt && isSpaceAroundPointVoid(
    1149               ListRunner->second,
    1150               (firstInsertion ? filler : NULL),
    1151               boundary,
    1152               CurrentPosition);
    1153           FillIt = FillIt && (Domain.isValid(CurrentPosition))
    1154               && ((Domain.DistanceToBoundary(CurrentPosition) - MinDistance) > -MYEPSILON);
    1155           if (!FillIt)
    1156             break;
    1157         }
    1158 
    1159         // insert into Filling
    1160         if (FillIt) {
    1161           Inserter = CurrentPosition + FillerTranslations;
    1162           LOG(1, "INFO: Position at " << Inserter << " is void point.");
    1163           // fill!
    1164           Filling = filler->CopyMolecule();
    1165           RandomizeMoleculePositions(Filling, RandomAtomDisplacement, Rotations, random);
    1166           // translation
    1167           Filling->Translate(&Inserter);
    1168           // remove out-of-bounds atoms
    1169           const bool status = RemoveAtomsOutsideDomain(Filling);
    1170           if ((firstInsertion) && (!status)) { // no atom has been removed
    1171             // remove copied atoms and molecule again
    1172             Filling->removeAtomsinMolecule();
    1173             World::getInstance().destroyMolecule(Filling);
    1174             // and mark is final filler position
    1175             Filling = filler;
    1176             firstInsertion = false;
    1177             firstInserter = Inserter;
    1178           } else {
    1179             // TODO: Remove when World has no MoleculeListClass anymore
    1180             if (Filling)
    1181               MolList->insert(Filling);
    1182           }
    1183         } else {
    1184          LOG(1, "INFO: Position at " << Inserter << " is non-void point, within boundary or outside of MaxDistance.");
    1185           continue;
    1186         }
    1187       }
    1188 
    1189   // have we inserted any molecules?
    1190   if (firstInsertion) {
    1191     // If not remove filler
    1192     for(molecule::iterator miter = filler->begin(); !filler->empty(); miter = filler->begin()) {
    1193       atom *Walker = *miter;
    1194       World::getInstance().destroyAtom(Walker);
    1195     }
    1196     World::getInstance().destroyMolecule(filler);
    1197   } else {
    1198     // otherwise translate and randomize to final position
    1199     if (DoRandomRotation)
    1200       setRandomRotation(Rotations);
    1201     else
    1202       Rotations.setIdentity();
    1203     RandomizeMoleculePositions(filler, RandomAtomDisplacement, Rotations, random);
    1204     // translation
    1205     filler->Translate(&firstInserter);
    1206     // remove out-of-bounds atoms
    1207     RemoveAtomsOutsideDomain(filler);
    1208   }
    1209 
    1210   LOG(0, MolList->ListOfMolecules.size() << " molecules have been inserted.");
    1211 
    1212   for (std::map<molecule *, LinkedCell_deprecated *>::iterator ListRunner = LCList.begin(); !LCList.empty(); ListRunner = LCList.begin()) {
    1213     delete ListRunner->second;
    1214     LCList.erase(ListRunner);
    1215   }
    1216 };
    1217 
    1218 
    1219 /** Fills the empty space around other molecules' surface of the simulation box with a filler.
    1220  *
    1221  * Note that we use \a FindNonConvexBorder to determine the surface of the found molecules.
    1222  * There, we use a radius of twice the given \a boundary.
    1223  *
    1224  * \param *out output stream for debugging
    1225  * \param *List list of molecules already present in box
    1226  * \param *TesselStruct contains tesselated surface
    1227  * \param *filler molecule which the box is to be filled with
    1228  * \param configuration contains box dimensions
    1229  * \param MaxSurfaceDistance fills in molecules only up to this distance (set to -1 if whole of the domain)
    1230  * \param distance[NDIM] distance between filling molecules in each direction
    1231  * \param boundary length of boundary zone between molecule and filling molecules
    1232  * \param MinDistance distance to boundary of domain which is not filled
    1233  * \param RandAtomDisplacement maximum distance for random displacement per atom
    1234  * \param RandMolDisplacement maximum distance for random displacement per filler molecule
    1235  * \param DoRandomRotation true - do random rotations, false - don't
    1236  */
    1237 void FillBoxWithMolecule(
    1238     MoleculeListClass *MolList,
    1239     molecule *filler,
    1240     config &configuration,
    1241     const double MaxSurfaceDistance,
    1242     const double distance[NDIM],
    1243     const double boundary,
    1244     const double MinDistance,
    1245     const double RandomAtomDisplacement,
    1246     const double RandomMolDisplacement,
    1247     const bool DoRandomRotation)
    1248 {
    1249   //Info FunctionInfo(__func__);
    1250   molecule *Filling = NULL;
    1251   Vector CurrentPosition;
    1252   int N[NDIM];
    1253   int n[NDIM];
    1254   const RealSpaceMatrix &M = World::getInstance().getDomain().getM();
    1255   RealSpaceMatrix Rotations;
    1256   const RealSpaceMatrix &MInverse = World::getInstance().getDomain().getMinv();
    1257   Vector FillerTranslations;
    1258   Vector FillerDistance;
    1259   Vector Inserter;
    1260   double FillIt = false;
    1261   Vector firstInserter;
    1262   bool firstInsertion = true;
    1263   const Box &Domain = World::getInstance().getDomain();
    1264   map<molecule *, LinkedCell_deprecated *> LCList;
    1265   std::vector<molecule *> List = World::getInstance().getAllMolecules();
    1266   map<molecule *, Tesselation *> TesselStruct;
    1267 
    1268   for (MoleculeList::iterator ListRunner = MolList->ListOfMolecules.begin(); ListRunner != MolList->ListOfMolecules.end(); ListRunner++)
    1269     if ((*ListRunner)->getAtomCount() > 0) {
    1270       LOG(1, "Pre-creating linked cell lists for molecule " << *ListRunner << ".");
    1271       PointCloudAdaptor< molecule > cloud(*ListRunner, (*ListRunner)->name);
    1272       LCList[(*ListRunner)] = new LinkedCell_deprecated(cloud, 4.*boundary); // get linked cell list
    1273       LOG(1, "Pre-creating tesselation for molecule " << *ListRunner << ".");
    1274       TesselStruct[(*ListRunner)] = NULL;
    1275       FindNonConvexBorder((*ListRunner), TesselStruct[(*ListRunner)], (const LinkedCell_deprecated *&)LCList[(*ListRunner)], 2.*boundary, NULL);
    1276     }
    1277 
    1278   // Center filler at origin
    1279   filler->CenterEdge(&Inserter);
    1280 //  const int FillerCount = filler->getAtomCount();
    1281   LOG(2, "INFO: Filler molecule has the following bonds:");
    1282   for(molecule::iterator AtomRunner = filler->begin(); AtomRunner != filler->end(); ++AtomRunner) {
    1283     const BondList& ListOfBonds = (*AtomRunner)->getListOfBonds();
    1284     for(BondList::const_iterator BondRunner = ListOfBonds.begin();
    1285         BondRunner != ListOfBonds.end();
    1286         ++BondRunner) {
    1287       if ((*BondRunner)->leftatom == *AtomRunner)
    1288         LOG(2, "  " << *(*BondRunner));
    1289     }
    1290   }
    1291 
    1292 //  atom * CopyAtoms[FillerCount];
    1293 
    1294   setVerbosity(4);
    1295 
    1296   // calculate filler grid in [0,1]^3
    1297   FillerDistance = MInverse * Vector(distance[0], distance[1], distance[2]);
    1298   for(int i=0;i<NDIM;i++)
    1299     N[i] = (int) ceil(1./FillerDistance[i]);
    1300   LOG(1, "INFO: Grid steps are " << N[0] << ", " << N[1] << ", " << N[2] << ".");
    1301 
    1302   // initialize seed of random number generator to current time
    1303   RandomNumberGenerator &random = RandomNumberGeneratorFactory::getInstance().makeRandomNumberGenerator();
    1304   const double rng_min = random.min();
    1305   const double rng_max = random.max();
    1306   //srand ( time(NULL) );
    1307 
    1308   // go over [0,1]^3 filler grid
    1309   for (n[0] = 0; n[0] < N[0]; n[0]++)
    1310     for (n[1] = 0; n[1] < N[1]; n[1]++)
    1311       for (n[2] = 0; n[2] < N[2]; n[2]++) {
    1312         // calculate position of current grid vector in untransformed box
    1313         CurrentPosition = M * Vector((double)n[0]/(double)N[0], (double)n[1]/(double)N[1], (double)n[2]/(double)N[2]);
    1314         // create molecule random translation vector ...
    1315         for (int i=0;i<NDIM;i++)
    1316           FillerTranslations[i] = RandomMolDisplacement*(random()/((rng_max-rng_min)/2.) - 1.);
    1317         LOG(1, "INFO: Current Position is " << CurrentPosition << "+" << FillerTranslations << ".");
    1318 
    1319         // ... and rotation matrix
    1320         if (DoRandomRotation)
    1321           setRandomRotation(Rotations);
    1322         else
    1323           Rotations.setIdentity();
    1324 
    1325 
    1326         // Check whether there is anything too close by and whether atom is outside of domain
    1327         FillIt = true;
    1328         for (std::map<molecule *, LinkedCell_deprecated *>::iterator ListRunner = LCList.begin(); ListRunner != LCList.end(); ++ListRunner) {
    1329           // check whether its void
    1330           FillIt = FillIt && isSpaceAroundPointVoid(
    1331               ListRunner->second,
    1332               (firstInsertion ? filler : NULL),
    1333               boundary,
    1334               CurrentPosition);
    1335           if (!FillIt) {
    1336             LOG(2, "REJECT: Position at " << Inserter << " is non-void.");
    1337             break;
    1338           }
    1339           // check whether inside domain
    1340           FillIt = FillIt && (Domain.isValid(CurrentPosition));
    1341           if (!FillIt) {
    1342             LOG(2, "REJECT: Position at " << CurrentPosition << " is "
    1343                 << distance << ", hence outside of domain.");
    1344             break;
    1345           }
    1346           // check minimum distance to boundary
    1347           const double distance = (Domain.DistanceToBoundary(CurrentPosition) - MinDistance);
    1348           FillIt = FillIt && (distance > -MYEPSILON);
    1349           if (!FillIt) {
    1350             LOG(2, "REJECT: Position at " << CurrentPosition << " is " << distance << ", less than "
    1351                 << MinDistance << " hence, too close to boundary.");
    1352             break;
    1353           }
    1354         }
    1355         // Check whether point is in- or outside of tesselations
    1356         if (FillIt) {
    1357           for (MoleculeList::iterator ListRunner = MolList->ListOfMolecules.begin(); ListRunner != MolList->ListOfMolecules.end(); ListRunner++) {
    1358             // get linked cell list
    1359             if (TesselStruct[(*ListRunner)] != NULL) {
    1360               const double distance = (TesselStruct[(*ListRunner)]->GetDistanceToSurface(Inserter, LCList[(*ListRunner)]));
    1361               LOG(2, "INFO: Distance to surface is " << distance << ".");
    1362               FillIt = FillIt && ((distance == -1.) || (distance > boundary)) && ((MaxSurfaceDistance < 0) || (MaxSurfaceDistance > distance));
    1363               if (!FillIt) {
    1364                 LOG(2, "REJECT: Position at " << CurrentPosition << " is in distance of " << distance
    1365                     << " to a surface, less than " << MaxSurfaceDistance  << " hence, too close.");
    1366                 break;
    1367               }
    1368             }
    1369           }
    1370         }
    1371 
    1372         // insert into Filling
    1373         if (FillIt) {
    1374           Inserter = CurrentPosition + FillerTranslations;
    1375           LOG(2, "ACCEPT: Position at " << CurrentPosition << " is void point.");
    1376           // fill!
    1377           Filling = filler->CopyMolecule();
    1378           RandomizeMoleculePositions(Filling, RandomAtomDisplacement, Rotations, random);
    1379           // translation
    1380           Filling->Translate(&Inserter);
    1381           // remove out-of-bounds atoms
    1382           const bool status = RemoveAtomsOutsideDomain(Filling);
    1383           if ((firstInsertion) && (!status)) { // no atom has been removed
    1384             // remove copied atoms and molecule again
    1385             Filling->removeAtomsinMolecule();
    1386             World::getInstance().destroyMolecule(Filling);
    1387             // and mark is final filler position
    1388             Filling = filler;
    1389             firstInsertion = false;
    1390             firstInserter = Inserter;
    1391           } else {
    1392             // TODO: Remove when World has no MoleculeListClass anymore
    1393             if (Filling)
    1394               MolList->insert(Filling);
    1395           }
    1396         } else {
    1397           LOG(2, "REJECT: Position at " << CurrentPosition << " is non-void point, within boundary or outside of MaxSurfaceDistance.");
    1398           continue;
    1399         }
    1400       }
    1401 
    1402   // have we inserted any molecules?
    1403   if (firstInsertion) {
    1404     // If not remove filler
    1405     for(molecule::iterator miter = filler->begin(); !filler->empty(); miter = filler->begin()) {
    1406       atom *Walker = *miter;
    1407       World::getInstance().destroyAtom(Walker);
    1408     }
    1409     World::getInstance().destroyMolecule(filler);
    1410   } else {
    1411     // otherwise translate and randomize to final position
    1412     if (DoRandomRotation)
    1413       setRandomRotation(Rotations);
    1414     else
    1415       Rotations.setIdentity();
    1416     RandomizeMoleculePositions(filler, RandomAtomDisplacement, Rotations, random);
    1417     // translation
    1418     filler->Translate(&firstInserter);
    1419     // remove out-of-bounds atoms
    1420     RemoveAtomsOutsideDomain(filler);
    1421   }
    1422 
    1423   LOG(0, MolList->ListOfMolecules.size() << " molecules have been inserted.");
    1424 
    1425   for (std::map<molecule *, LinkedCell_deprecated *>::iterator ListRunner = LCList.begin(); !LCList.empty(); ListRunner = LCList.begin()) {
    1426     delete ListRunner->second;
    1427     LCList.erase(ListRunner);
    1428   }
    1429 };
    1430 
    1431656/** Tesselates the non convex boundary by rolling a virtual sphere along the surface of the molecule.
    1432657 * \param *out output stream for debugging
  • src/Tesselation/boundary.hpp

    r8859b5 r7f1b51  
    4040
    4141double ConvexizeNonconvexEnvelope(class Tesselation *&TesselStruct, const molecule * const mol, const char * const filename);
    42 void FillBoxWithMolecule(MoleculeListClass *List, molecule *filler, config &configuration, const double MaxDistance, const double distance[NDIM], const double boundary, const double RandomAtomDisplacement, const double RandomMolDisplacement, const bool DoRandomRotation);
    43 void FillVoidWithMolecule(molecule *&filler, config &configuration, const double distance[NDIM], const double boundary, const double RandomAtomDisplacement, const double RandomMolDisplacement, const double MinDistance, const bool DoRandomRotation);
    4442void FindConvexBorder(const molecule* const mol, Boundaries *BoundaryPts, Tesselation *&TesselStruct, const LinkedCell_deprecated *LCList, const char *filename);
    4543Vector* FindEmbeddingHole(MoleculeListClass *mols, molecule *srcmol);
     
    4745Boundaries *GetBoundaryPoints(const molecule *mol, Tesselation *&TesselStruct);
    4846double * GetDiametersOfCluster(const Boundaries *BoundaryPtr, const molecule *mol, Tesselation *&TesselStruct, const bool IsAngstroem);
    49 void PrepareClustersinWater(config *configuration, molecule *mol, double ClusterVolume, double celldensity);
    5047bool RemoveAllBoundaryPoints(class Tesselation *&TesselStruct, const molecule * const mol, const char * const filename);
    5148void StoreTrianglesinFile(const molecule * const mol, const Tesselation * const TesselStruct, const char *filename, const char *extraSuffix);
  • src/Tesselation/tesselation.cpp

    r8859b5 r7f1b51  
    161161    }
    162162  }
     163
     164  delete LinkedList;
    163165}
    164166
     
    10121014      LOG(3, "DEBUG:   " << *(*Runner) << " with distance " << (*Runner)->distance(CandidateLine.OtherOptCenter) << ".");
    10131015  }
    1014   delete (ListofPoints);
     1016  delete ListofPoints;
    10151017
    10161018  return flag;
  • src/UIElements/CommandLineUI/CommandLineParser.cpp

    r8859b5 r7f1b51  
    5252#include "CommandLineParser.hpp"
    5353#include "CommandLineParser_validate.hpp"
     54#include "World.hpp"
    5455
    5556#include "CodePatterns/Singleton_impl.hpp"
     
    430431void CommandLineParser::Parse()
    431432{
    432   po::store(po::command_line_parser(argc,argv).options(cmdline_options).run(), vm);
     433  try {
     434    po::store(po::command_line_parser(argc,argv).options(cmdline_options).run(), vm);
     435  } catch (std::exception &e) {
     436    std::cerr << "Something went wrong with parsing the command-line arguments." << std::endl;
     437    World::getInstance().setExitFlag(134);
     438#ifdef HAVE_ACTION_THREAD
     439    // force action queue to stop thread
     440    ActionQueue::getInstance().stop();
     441#endif
     442    ActionQueue::getInstance().clearQueue();
     443  }
    433444  std::ifstream input;
    434445  input.open("example.cfg");
  • src/UIElements/Views/Qt4/Qt3D/GLWorldView.cpp

    r8859b5 r7f1b51  
    754754  emit hoverChanged(_atom);
    755755}
    756 
    757 
    758 //#include <GL/glu.h>
    759 //#include <QtGui/qslider.h>
    760 //#include <QtGui/qevent.h>
    761 //
    762 //#include "ui_dialoglight.h"
    763 //
    764 //#include "CodePatterns/MemDebug.hpp"
    765 //
    766 //#include <iostream>
    767 //#include <boost/shared_ptr.hpp>
    768 //
    769 //#include "LinearAlgebra/Line.hpp"
    770 //#include "Atom/atom.hpp"
    771 //#include "Bond/bond.hpp"
    772 //#include "Element/element.hpp"
    773 //#include "molecule.hpp"
    774 //#include "Element/periodentafel.hpp"
    775 //#include "World.hpp"
    776 //
    777 //#if defined(Q_CC_MSVC)
    778 //#pragma warning(disable:4305) // init: truncation from const double to float
    779 //#endif
    780 //
    781 //
    782 //GLMoleculeView::GLMoleculeView(QWidget *parent) :
    783 //  QGLWidget(parent), Observer("GLMoleculeView"), X(Vector(1,0,0)), Y(Vector(0,1,0)), Z(Vector(0,0,1))
    784 //{
    785 //    xRot = yRot = zRot = 0.0;    // default object rotation
    786 //    scale = 5.;      // default object scale
    787 //    object = 0;
    788 //    LightPosition[0] = 0.0f;
    789 //    LightPosition[1] = 2.0f;
    790 //    LightPosition[2] = 2.0f;
    791 //    LightPosition[3] = 0.0f;
    792 //    LightDiffuse[0] = 0.5f;
    793 //    LightDiffuse[1] = 0.5f;
    794 //    LightDiffuse[2] = 0.5f;
    795 //    LightDiffuse[3] = 0.0f;
    796 //    LightAmbient[0] = 0.0f;
    797 //    LightAmbient[1] = 0.0f;
    798 //    LightAmbient[2] = 0.0f;
    799 //    LightAmbient[3] = 0.0f;
    800 //
    801 //    SelectionColor[0] = 0;
    802 //    SelectionColor[1] = 128;
    803 //    SelectionColor[2] = 128;
    804 //
    805 //    MultiViewEnabled = true;
    806 //
    807 //    isSignaller = false;
    808 //
    809 //    World::getInstance().signOn(this);
    810 //}
    811 //
    812 ///** Destructor of GLMoleculeView.
    813 // * Free's the CallList.
    814 // */
    815 //GLMoleculeView::~GLMoleculeView()
    816 //{
    817 //    makeCurrent();
    818 //    glDeleteLists( object, 1 );
    819 //
    820 //    World::getInstance().signOff(this);
    821 //}
    822 //
    823 ///** Paints the conents of the OpenGL window.
    824 // * Clears the GL buffers, enables lighting and depth.
    825 // * Window is either quartered (if GLMoleculeView::MultiViewEnabled) and xy, xz, yz planar views
    826 // * are added. Uses the CallList, constructed during InitializeGL().
    827 // */
    828 //void GLMoleculeView::paintGL()
    829 //{
    830 //  Vector spot;
    831 //
    832 //  glClear (GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
    833 //  glShadeModel(GL_SMOOTH);            // Enable Smooth Shading
    834 //  glEnable(GL_LIGHTING);              // Enable Light One
    835 //  glEnable(GL_DEPTH_TEST);            // Enables Depth Testing
    836 //  glDepthFunc(GL_LEQUAL);              // The Type Of Depth Testing To Do
    837 //  glHint(GL_PERSPECTIVE_CORRECTION_HINT, GL_NICEST);      // Really Nice Perspective Calculations
    838 //
    839 //  // 3d viewport
    840 //  if (MultiViewEnabled)
    841 //    glViewport( 0, 0, (GLint)width/2, (GLint)height/2 );
    842 //  else
    843 //    glViewport( 0, 0, (GLint)width, (GLint)height );
    844 //  glMatrixMode( GL_PROJECTION );
    845 //  glLoadIdentity();
    846 //  glFrustum( -1.0, 1.0, -1.0, 1.0, 1.0, 50.0 );
    847 //  glMatrixMode( GL_MODELVIEW );
    848 //  glLoadIdentity();
    849 //
    850 //  // calculate point of view and direction
    851 //  glTranslated(position[0],position[1],position[2]);
    852 //  glTranslated(0.0, 0.0, -scale);
    853 //  glRotated(xRot, 1.0, 0.0, 0.0);
    854 //  glRotated(yRot, 0.0, 1.0, 0.0);
    855 //  glRotated(zRot, 0.0, 0.0, 1.0);
    856 //
    857 //  // render scene
    858 //  glCallList(object);
    859 //
    860 //  // enable light
    861 //  glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);       // Setup The Ambient Light
    862 //  glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);       // Setup The Diffuse Light
    863 //  glLightfv(GL_LIGHT1, GL_POSITION,LightPosition);      // Position The Light
    864 //  glEnable(GL_LIGHT1);              // Enable Light One
    865 //
    866 //  if (MultiViewEnabled) {
    867 //    // xy view port
    868 //    glViewport( (GLint)width/2, 0, (GLint)width/2, (GLint)height/2 );
    869 //    glMatrixMode( GL_PROJECTION );
    870 //    glLoadIdentity();
    871 //    glScalef(1./scale, 1./scale,1./scale);
    872 //    glOrtho(0, width/2, 0, height/2, 0,0);
    873 //    glMatrixMode( GL_MODELVIEW );
    874 //    glLoadIdentity();
    875 //
    876 //    // calculate point of view and direction
    877 //    view = position;
    878 //    spot = Vector(0.,0.,scale);
    879 //    top = Vector(0.,1.,0.);
    880 //    gluLookAt(
    881 //        spot[0], spot[1], spot[2],
    882 //        view[0], view[1], view[2],
    883 //        top[0], top[1], top[2]);
    884 //
    885 //    // enable light
    886 //    glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);       // Setup The Ambient Light
    887 //    glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);       // Setup The Diffuse Light
    888 //    glLightfv(GL_LIGHT1, GL_POSITION,LightPosition);      // Position The Light
    889 //    glEnable(GL_LIGHT1);              // Enable Light One
    890 //
    891 //    // render scene
    892 //    glCallList(object);
    893 //
    894 //    // xz viewport
    895 //    glViewport( 0, (GLint)height/2, (GLint)width/2, (GLint)height/2 );
    896 //    glMatrixMode( GL_PROJECTION );
    897 //    glLoadIdentity();
    898 //    glScalef(1./scale, 1./scale,1./scale);
    899 //    glOrtho(0, width/2, 0, height/2, 0,0);
    900 //    glMatrixMode( GL_MODELVIEW );
    901 //    glLoadIdentity();
    902 //
    903 //    // calculate point of view and direction
    904 //    view = position;
    905 //    spot = Vector(0.,scale,0.);
    906 //    top = Vector(1.,0.,0.);
    907 //    gluLookAt(
    908 //        spot[0], spot[1], spot[2],
    909 //        view[0], view[1], view[2],
    910 //        top[0], top[1], top[2]);
    911 //
    912 //    // enable light
    913 //    glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);       // Setup The Ambient Light
    914 //    glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);       // Setup The Diffuse Light
    915 //    glLightfv(GL_LIGHT1, GL_POSITION,LightPosition);      // Position The Light
    916 //    glEnable(GL_LIGHT1);              // Enable Light One
    917 //
    918 //    // render scene
    919 //    glCallList(object);
    920 //
    921 //    //yz viewport
    922 //    glViewport( (GLint)width/2, (GLint)height/2, (GLint)width/2, (GLint)height/2 );
    923 //    glMatrixMode( GL_PROJECTION );
    924 //    glLoadIdentity();
    925 //    glScalef(1./scale, 1./scale,1./scale);
    926 //    glOrtho(0, width/2, 0, height/2, 0,0);
    927 //    glMatrixMode( GL_MODELVIEW );
    928 //    glLoadIdentity();
    929 //
    930 //    // calculate point of view and direction
    931 //    view= position;
    932 //    spot = Vector(scale,0.,0.);
    933 //    top = Vector(0.,1.,0.);
    934 //    gluLookAt(
    935 //        spot[0], spot[1], spot[2],
    936 //        view[0], view[1], view[2],
    937 //        top[0], top[1], top[2]);
    938 //
    939 //    // enable light
    940 //    glLightfv(GL_LIGHT1, GL_AMBIENT, LightAmbient);       // Setup The Ambient Light
    941 //    glLightfv(GL_LIGHT1, GL_DIFFUSE, LightDiffuse);       // Setup The Diffuse Light
    942 //    glLightfv(GL_LIGHT1, GL_POSITION,LightPosition);      // Position The Light
    943 //    glEnable(GL_LIGHT1);              // Enable Light One
    944 //
    945 //    // render scene
    946 //    glCallList(object);
    947 //  }
    948 //  //CoordinatesBar->setText( QString ("X: %1, Y: %2, Z: %3").arg(position[0]).arg(position[1]).arg(position[2]) );
    949 //}
    950 //
    951 ////void polarView{GLdouble distance, GLdouble twist,
    952 ////   GLdouble elevation, GLdouble azimuth)
    953 ////{
    954 ////      glTranslated(0.0, 0.0, -distance);
    955 ////      glRotated(-twist, 0.0, 0.0, 1.0);
    956 ////      glRotated(-elevation, 1.0, 0.0, 0.0);
    957 ////      glRotated(azimuth, 0.0, 0.0, 1.0);
    958 ////}
    959 //
    960 ///** Make a sphere.
    961 // * \param x position
    962 // * \param radius radius
    963 // * \param color[3] color rgb values
    964 // */
    965 //void GLMoleculeView::makeSphere(const Vector &x, double radius, const unsigned char color[3])
    966 //{
    967 //  float blueMaterial[] = { 255./(float)color[0], 255./(float)color[1], 255./(float)color[2], 1 };  // need to recast from [0,255] with integers into [0,1] with floats
    968 //  GLUquadricObj* q = gluNewQuadric ();
    969 //  gluQuadricOrientation(q, GLU_OUTSIDE);
    970 //
    971 //  std::cout << "Setting sphere at " << x << " with color r"
    972 //      << (int)color[0] << ",g" << (int)color[1] << ",b" << (int)color[2] << "." << endl;
    973 //
    974 //  glPushMatrix();
    975 //  glTranslatef( x[0], x[1], x[2]);
    976 ////  glRotatef( xRot, 1.0, 0.0, 0.0);
    977 ////  glRotatef( yRot, 0.0, 1.0, 0.0);
    978 ////  glRotatef( zRot, 0.0, 0.0, 1.0);
    979 //  glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, blueMaterial);
    980 //  gluSphere (q, (GLdouble)radius, 10, 10);
    981 //  glPopMatrix();
    982 //}
    983 //
    984 ///** Make a cylinder.
    985 // * \param x origin
    986 // * \param y direction
    987 // * \param radius thickness
    988 // * \param height length
    989 // * \color[3] color rgb values
    990 // */
    991 //void GLMoleculeView::makeCylinder(const Vector &x, const Vector &y, double radius, double height, const unsigned char color[3])
    992 //{
    993 //  float blueMaterial[] = { 255./(float)color[0], 255./(float)color[1], 255./(float)color[2], 1 };
    994 //  GLUquadricObj* q = gluNewQuadric ();
    995 //  gluQuadricOrientation(q, GLU_OUTSIDE);
    996 //  Vector a,b;
    997 //  Vector OtherAxis;
    998 //  double alpha;
    999 //  a = x - y;
    1000 //  // construct rotation axis
    1001 //  b = a;
    1002 //  b.VectorProduct(Z);
    1003 //  Line axis(zeroVec, b);
    1004 //  // calculate rotation angle
    1005 //  alpha = a.Angle(Z);
    1006 //  // construct other axis to check right-hand rule
    1007 //  OtherAxis = b;
    1008 //  OtherAxis.VectorProduct(Z);
    1009 //  // assure right-hand rule for the rotation
    1010 //  if (a.ScalarProduct(OtherAxis) < MYEPSILON)
    1011 //    alpha = M_PI-alpha;
    1012 //  // check
    1013 //  Vector a_rotated = axis.rotateVector(a, alpha);
    1014 //  std::cout << "Setting cylinder from "// << x << " to " << y
    1015 //      << a << " to " << a_rotated << " around " << b << " by " << alpha/M_PI*180. << ", respectively, "
    1016 //      << " with color r"
    1017 //      << (int)color[0] << ",g" << (int)color[1] << ",b" << (int)color[2] << "." << endl;
    1018 //
    1019 //  glPushMatrix();
    1020 //  glTranslatef( x[0], x[1], x[2]);
    1021 //  glRotatef( alpha/M_PI*180., b[0], b[1], b[2]);
    1022 //  glMaterialfv(GL_FRONT_AND_BACK, GL_AMBIENT_AND_DIFFUSE, blueMaterial);
    1023 //  gluCylinder (q, (GLdouble)radius, (GLdouble)radius, (GLdouble)height, 10, 10);
    1024 //  glPopMatrix();
    1025 //}
    1026 //
    1027 ///** Defines the display CallList.
    1028 // * Goes through all molecules and their atoms and adds spheres for atoms and cylinders
    1029 // * for bonds. Heeds GLMoleculeView::SelectedAtom and GLMoleculeView::SelectedMolecule.
    1030 // */
    1031 //void GLMoleculeView::initializeGL()
    1032 //{
    1033 //  double x[3] = {-1, 0, -10};
    1034 //  unsigned char white[3] = {255,255,255};
    1035 //  Vector Position, OtherPosition;
    1036 //  QSize window = size();
    1037 //  width = window.width();
    1038 //  height = window.height();
    1039 //  std::cout << "Setting width to " << width << " and height to " << height << std::endl;
    1040 //  GLfloat shininess[] = { 0.0 };
    1041 //  GLfloat specular[] = { 0, 0, 0, 1 };
    1042 //  glClearColor(0.0f, 0.0f, 0.0f, 0.0f);     // Let OpenGL clear to black
    1043 //  object = glGenLists(1);
    1044 //  glNewList( object, GL_COMPILE );
    1045 //  glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, specular);
    1046 //  glMaterialfv(GL_FRONT_AND_BACK, GL_SHININESS, shininess);
    1047 //
    1048 //  const std::vector<molecule*> &molecules = World::getInstance().getAllMolecules();
    1049 //
    1050 //  if (molecules.size() > 0) {
    1051 //    for (std::vector<molecule*>::const_iterator Runner = molecules.begin();
    1052 //        Runner != molecules.end();
    1053 //        Runner++) {
    1054 //      for (molecule::const_iterator atomiter = (*Runner)->begin();
    1055 //          atomiter != (*Runner)->end();
    1056 //          ++atomiter) {
    1057 //        // create atom
    1058 //        const element *ptr = (*atomiter)->getType();
    1059 //        boost::shared_ptr<Vector> MolCenter((*Runner)->DetermineCenterOfGravity());
    1060 //        Position = (*atomiter)->getPosition() - *MolCenter;
    1061 //        const unsigned char* color = NULL;
    1062 //        if ((World::getInstance().isSelected(*atomiter)) || (World::getInstance().isSelected((*Runner))))
    1063 //          color = SelectionColor;
    1064 //        else
    1065 //          color = ptr->getColor();
    1066 //        makeSphere(Position, ptr->getVanDerWaalsRadius()*0.25, color);
    1067 //
    1068 //        // create bonds
    1069 //        const BondList &bonds = (*atomiter)->getListOfBonds();
    1070 //        for (BondList::const_iterator bonditer = bonds.begin();
    1071 //            bonditer != bonds.end();
    1072 //            ++bonditer) {
    1073 //          if ((*bonditer)->leftatom->getId() == (*atomiter)->getId()) {
    1074 //            Position = (*bonditer)->leftatom->getPosition() - *MolCenter;
    1075 //            OtherPosition = (*bonditer)->rightatom->getPosition() - *MolCenter;
    1076 //            const double distance = sqrt(Position.DistanceSquared(OtherPosition))/2.;
    1077 //            const unsigned char *color1 = (*bonditer)->leftatom->getType()->getColor();
    1078 //            const unsigned char *color2 = (*bonditer)->rightatom->getType()->getColor();
    1079 //            makeCylinder(Position, OtherPosition, 0.1, distance, color1);
    1080 //            makeCylinder(OtherPosition, Position, 0.1, distance, color2);
    1081 //          }
    1082 //        }
    1083 //      }
    1084 //    }
    1085 //  } else {
    1086 //    makeSphere( x,1, white);
    1087 //  }
    1088 //  glEndList();
    1089 //}
    1090 //
    1091 //
    1092 ///* ================================== SLOTS ============================== */
    1093 //
    1094 ///** Initializes some public variables.
    1095 // * \param *ptr pointer to QLabel statusbar
    1096 // */
    1097 //void GLMoleculeView::init(QLabel *ptr)
    1098 //{
    1099 //  StatusBar = ptr;
    1100 //}
    1101 //
    1102 ///** Initializes the viewport statusbar.
    1103 // * \param *ptr pointer to QLabel for showing view pointcoordinates.
    1104 // */
    1105 //void GLMoleculeView::initCoordinates(QLabel *ptr)
    1106 //{
    1107 //  CoordinatesBar = ptr;
    1108 //}
    1109 //
    1110 ///** Slot to be called when to initialize GLMoleculeView::MolData.
    1111 // */
    1112 //void GLMoleculeView::createView( )
    1113 //{
    1114 //  initializeGL();
    1115 //  updateGL();
    1116 //}
    1117 //
    1118 ///** Slot of window is resized.
    1119 // * Copies new width and height to GLMoleculeView::width and GLMoleculeView::height and calls updateGL().
    1120 // * \param w new width of window
    1121 // * \param h new height of window
    1122 // */
    1123 //void GLMoleculeView::resizeGL( int w, int h )
    1124 //{
    1125 //  width = w;
    1126 //  height = h;
    1127 //  updateGL();
    1128 //}
    1129 //
    1130 ///** Sets x rotation angle.
    1131 // * sets GLMoleculeView::xRot and calls updateGL().
    1132 // * \param degrees new rotation angle in degrees
    1133 // */
    1134 //void GLMoleculeView::setXRotation( int degrees )
    1135 //{
    1136 //  xRot = (GLfloat)(degrees % 360);
    1137 //  updateGL();
    1138 //}
    1139 //
    1140 //
    1141 ///** Sets y rotation angle.
    1142 // * sets GLMoleculeView::yRot and calls updateGL().
    1143 // * \param degrees new rotation angle in degrees
    1144 // */
    1145 //void GLMoleculeView::setYRotation( int degrees )
    1146 //{
    1147 //  yRot = (GLfloat)(degrees % 360);
    1148 //  updateGL();
    1149 //}
    1150 //
    1151 //
    1152 ///** Sets z rotation angle.
    1153 // * sets GLMoleculeView::zRot and calls updateGL().
    1154 // * \param degrees new rotation angle in degrees
    1155 // */
    1156 //void GLMoleculeView::setZRotation( int degrees )
    1157 //{
    1158 //  zRot = (GLfloat)(degrees % 360);
    1159 //  updateGL();
    1160 //}
    1161 //
    1162 ///** Sets the scale of the scene.
    1163 // * sets GLMoleculeView::scale and calls updateGL().
    1164 // * \param distance distance divided by 100 is the new scale
    1165 // */
    1166 //void GLMoleculeView::setScale( int distance )
    1167 //{
    1168 //  scale = (GLfloat)(distance / 100.);
    1169 //  updateGL();
    1170 //}
    1171 //
    1172 ///** Update the ambient light.
    1173 // * \param light[4] light strength per axis and position (w)
    1174 // */
    1175 //void GLMoleculeView::setLightAmbient( int *light )
    1176 //{
    1177 //  for(int i=0;i<4;i++)
    1178 //    LightAmbient[i] = light[i];
    1179 //  updateGL();
    1180 //}
    1181 //
    1182 ///** Update the diffuse light.
    1183 // * \param light[4] light strength per axis and position (w)
    1184 // */
    1185 //void GLMoleculeView::setLightDiffuse( int *light )
    1186 //{
    1187 //  for(int i=0;i<4;i++)
    1188 //    LightDiffuse[i] = light[i];
    1189 //  updateGL();
    1190 //}
    1191 //
    1192 ///** Update the position of light.
    1193 // * \param light[4] light strength per axis and position (w)
    1194 // */
    1195 //void GLMoleculeView::setLightPosition( int *light )
    1196 //{
    1197 //  for(int i=0;i<4;i++)
    1198 //    LightPosition[i] = light[i];
    1199 //  updateGL();
    1200 //}
    1201 //
    1202 ///** Toggles the boolean GLMoleculeView::MultiViewEnabled.
    1203 // * Flips the boolean and calls updateGL().
    1204 // */
    1205 //void GLMoleculeView::toggleMultiViewEnabled ( )
    1206 //{
    1207 //  MultiViewEnabled = !MultiViewEnabled;
    1208 //  cout << "Setting MultiView to " << MultiViewEnabled << "." << endl;
    1209 //  updateGL();
    1210 //}
    1211 //
    1212 ///** Launch a dialog to configure the lights.
    1213 // */
    1214 //void GLMoleculeView::createDialogLight()
    1215 //{
    1216 ////  Ui_DialogLight *Lights = new Ui_DialogLight();
    1217 ////  if (Lights == NULL)
    1218 ////    return;
    1219 ////  // Set up the dynamic dialog here
    1220 ////  QLineEdit *Field = NULL;
    1221 ////  Field = Lights->findChild<QLineEdit *>("LightPositionX");
    1222 ////  if (Field) Field->setText( QString("%1").arg(LightPosition[0]) );
    1223 ////  Field = Lights->findChild<QLineEdit *>("LightPositionY");
    1224 ////  if (Field) Field->setText( QString("%1").arg(LightPosition[1]) );
    1225 ////  Field = Lights->findChild<QLineEdit *>("LightPositionZ");
    1226 ////  if (Field) Field->setText( QString("%1").arg(LightPosition[2]) );
    1227 ////  Field = Lights->findChild<QLineEdit *>("LightPositionW");
    1228 ////  if (Field) Field->setText( QString("%1").arg(LightPosition[3]) );
    1229 ////
    1230 ////  Field = Lights->findChild<QLineEdit *>("LightDiffuseX");
    1231 ////  if (Field) Field->setText( QString("%1").arg(LightDiffuse[0]) );
    1232 ////  Field = Lights->findChild<QLineEdit *>("LightDiffuseY");
    1233 ////  if (Field) Field->setText( QString("%1").arg(LightDiffuse[1]) );
    1234 ////  Field = Lights->findChild<QLineEdit *>("LightDiffuseZ");
    1235 ////  if (Field) Field->setText( QString("%1").arg(LightDiffuse[2]) );
    1236 ////  Field = Lights->findChild<QLineEdit *>("LightDiffuseW");
    1237 ////  if (Field) Field->setText( QString("%1").arg(LightDiffuse[3]) );
    1238 ////
    1239 ////  Field = Lights->findChild<QLineEdit *>("LightAmbientX");
    1240 ////  if (Field) Field->setText( QString("%1").arg(LightAmbient[0]) );
    1241 ////  Field = Lights->findChild<QLineEdit *>("LightAmbientY");
    1242 ////  if (Field) Field->setText( QString("%1").arg(LightAmbient[1]) );
    1243 ////  Field = Lights->findChild<QLineEdit *>("LightAmbientZ");
    1244 ////  if (Field) Field->setText( QString("%1").arg(LightAmbient[2]) );
    1245 ////  Field = Lights->findChild<QLineEdit *>("LightAmbientW");
    1246 ////  if (Field) Field->setText( QString("%1").arg(LightAmbient[3]) );
    1247 ////
    1248 ////  if ( Lights->exec() ) {
    1249 ////    //cout << "User accepted.\n";
    1250 ////    // The user accepted, act accordingly
    1251 ////    Field = Lights->findChild<QLineEdit *>("LightPositionX");
    1252 ////    if (Field) LightPosition[0] = Field->text().toDouble();
    1253 ////    Field = Lights->findChild<QLineEdit *>("LightPositionY");
    1254 ////    if (Field) LightPosition[1] = Field->text().toDouble();
    1255 ////    Field = Lights->findChild<QLineEdit *>("LightPositionZ");
    1256 ////    if (Field) LightPosition[2] = Field->text().toDouble();
    1257 ////    Field = Lights->findChild<QLineEdit *>("LightPositionW");
    1258 ////    if (Field) LightPosition[3] = Field->text().toDouble();
    1259 ////
    1260 ////    Field = Lights->findChild<QLineEdit *>("LightDiffuseX");
    1261 ////    if (Field) LightDiffuse[0] = Field->text().toDouble();
    1262 ////    Field = Lights->findChild<QLineEdit *>("LightDiffuseY");
    1263 ////    if (Field) LightDiffuse[1] = Field->text().toDouble();
    1264 ////    Field = Lights->findChild<QLineEdit *>("LightDiffuseZ");
    1265 ////    if (Field) LightDiffuse[2] = Field->text().toDouble();
    1266 ////    Field = Lights->findChild<QLineEdit *>("LightDiffuseW");
    1267 ////    if (Field) LightDiffuse[3] = Field->text().toDouble();
    1268 ////
    1269 ////    Field = Lights->findChild<QLineEdit *>("LightAmbientX");
    1270 ////    if (Field) LightAmbient[0] = Field->text().toDouble();
    1271 ////    Field = Lights->findChild<QLineEdit *>("LightAmbientY");
    1272 ////    if (Field) LightAmbient[1] = Field->text().toDouble();
    1273 ////    Field = Lights->findChild<QLineEdit *>("LightAmbientZ");
    1274 ////    if (Field) LightAmbient[2] = Field->text().toDouble();
    1275 ////    Field = Lights->findChild<QLineEdit *>("LightAmbientW");
    1276 ////    if (Field) LightAmbient[3] = Field->text().toDouble();
    1277 ////    updateGL();
    1278 ////  } else {
    1279 ////    //cout << "User reclined.\n";
    1280 ////  }
    1281 ////  delete(Lights);
    1282 //}
    1283 //
    1284 ///** Slot for event of pressed mouse button.
    1285 // * Switch discerns between buttons and stores position of event in GLMoleculeView::LeftButtonPos,
    1286 // * GLMoleculeView::MiddleButtonPos or GLMoleculeView::RightButtonPos.
    1287 // * \param *event structure containing information of the event
    1288 // */
    1289 //void GLMoleculeView::mousePressEvent(QMouseEvent *event)
    1290 //{
    1291 //  std::cout << "MousePressEvent." << endl;
    1292 //  QPoint *pos = NULL;
    1293 //  switch (event->button()) {  // get the right array
    1294 //    case Qt::LeftButton:
    1295 //      pos = &LeftButtonPos;
    1296 //      std::cout << "Left Button" << endl;
    1297 //      break;
    1298 //    case Qt::MidButton:
    1299 //      pos = &MiddleButtonPos;
    1300 //      std::cout << "Middle Button" << endl;
    1301 //      break;
    1302 //    case Qt::RightButton:
    1303 //      pos = &RightButtonPos;
    1304 //      std::cout << "Right Button" << endl;
    1305 //      break;
    1306 //    default:
    1307 //      break;
    1308 //  }
    1309 //  if (pos) {    // store the position
    1310 //    pos->setX(event->pos().x());
    1311 //    pos->setY(event->pos().y());
    1312 //    std::cout << "Stored src position is (" << pos->x() << "," << pos->y() << ")." << endl;
    1313 //  } else {
    1314 //    std::cout << "pos is NULL." << endl;
    1315 //  }
    1316 //}
    1317 //
    1318 ///** Slot for event of pressed mouse button.
    1319 // * Switch discerns between buttons:
    1320 // * -# Left Button: Rotates the view of the GLMoleculeView, relative to GLMoleculeView::LeftButtonPos.
    1321 // * -# Middle Button: nothing
    1322 // * -# Right Button: Shifts the selected molecule or atom, relative to GLMoleculeView::RightButtonPos.
    1323 // * \param *event structure containing information of the event
    1324 // */
    1325 //void GLMoleculeView::mouseReleaseEvent(QMouseEvent *event)
    1326 //{
    1327 //  std::cout << "MouseReleaseEvent." << endl;
    1328 //  QPoint *srcpos = NULL;
    1329 //  QPoint destpos = event->pos();
    1330 //  int Width = (MultiViewEnabled) ? width/2 : width;
    1331 //  int Height = (MultiViewEnabled) ? height/2 : height;
    1332 //  std::cout << "Received dest position is (" << destpos.x() << "," << destpos.y() << ")." << endl;
    1333 //  switch (event->button()) {  // get the right array
    1334 //    case Qt::LeftButton:  // LeftButton rotates the view
    1335 //      srcpos = &LeftButtonPos;
    1336 //      std::cout << "Left Button" << endl;
    1337 //      if (srcpos) {    // subtract the position and act
    1338 //        std::cout << "Stored src position is (" << srcpos->x() << "," << srcpos->y() << ")." << endl;
    1339 //        destpos -= *srcpos;
    1340 //        std::cout << "Resulting diff position is (" << destpos.x() << "," << destpos.y() << ")." << endl;
    1341 //        std::cout << "Width and Height are " << Width << "," << Height << "." << endl;
    1342 //
    1343 //        int pos = (int)floor((double)srcpos->x()/(double)Width) + ((int)floor((double)srcpos->y()/(double)Height))*2;
    1344 //        if ((MultiViewEnabled) && (pos != 2)) { // means four regions, and we are in a shifting one
    1345 //          // switch between three regions
    1346 //          // decide into which of the four screens the initial click has been made
    1347 //          std::cout << "Position is " << pos << "." << endl;
    1348 //          switch(pos) {
    1349 //            case 0:  // lower left = xz
    1350 //              position[0] += -destpos.y()/100.;
    1351 //              position[2] += destpos.x()/100.;
    1352 //              break;
    1353 //            case 1: // lower right = yz
    1354 //              position[1] += -destpos.y()/100.;
    1355 //              position[2] += -destpos.x()/100.;
    1356 //              break;
    1357 //            case 2:  // upper left = projected
    1358 //              std::cout << "This is impossible: Shifting in the projected region, we should rotate!." << endl;
    1359 //              break;
    1360 //            case 3:  // upper right = xy
    1361 //              position[0] += destpos.x()/100.;
    1362 //              position[1] += -destpos.y()/100.;
    1363 //              break;
    1364 //            default:
    1365 //              std::cout << "click was not in any of the four regions." << endl;
    1366 //              break;
    1367 //          }
    1368 //          updateGL();
    1369 //        } else { // we are in rotation region
    1370 //          QWidget *Parent = parentWidget();
    1371 //          QSlider *sliderX = Parent->findChild<QSlider *>("sliderX");
    1372 //          QSlider *sliderY = Parent->findChild<QSlider *>("sliderY");
    1373 //          std::cout << sliderX << " and " << sliderY << endl;
    1374 //          if (sliderX) {
    1375 //            int xrange = sliderX->maximum() - sliderX->minimum();
    1376 //            double xValue = ((destpos.x() + Width) % Width);
    1377 //            xValue *= (double)xrange/(double)Width;
    1378 //            xValue += sliderX->value();
    1379 //            int xvalue = (int) xValue % xrange;
    1380 //            std::cout << "Setting x to " << xvalue << " within range " << xrange << "." << endl;
    1381 //            setXRotation(xvalue);
    1382 //            sliderX->setValue(xvalue);
    1383 //          } else {
    1384 //            std::cout << "sliderX is NULL." << endl;
    1385 //          }
    1386 //          if (sliderY) {
    1387 //            int yrange = sliderY->maximum() - sliderY->minimum();
    1388 //            double yValue = ((destpos.y() + Height) % Height);
    1389 //            yValue *= (double)yrange/(double)Height;
    1390 //            yValue += sliderY->value();
    1391 //            int yvalue = (int) yValue % yrange;
    1392 //            std::cout << "Setting y to " << yvalue << " within range " << yrange << "." << endl;
    1393 //            setYRotation(yvalue);
    1394 //            sliderY->setValue(yvalue);
    1395 //          } else {
    1396 //            std::cout << "sliderY is NULL." << endl;
    1397 //          }
    1398 //        }
    1399 //      } else {
    1400 //        std::cout << "srcpos is NULL." << endl;
    1401 //      }
    1402 //      break;
    1403 //
    1404 //    case Qt::MidButton: // MiddleButton has no function so far
    1405 //      srcpos = &MiddleButtonPos;
    1406 //      std::cout << "Middle Button" << endl;
    1407 //      if (srcpos) {    // subtract the position and act
    1408 //        QWidget *Parent = parentWidget();
    1409 //        QSlider *sliderZ = Parent->findChild<QSlider *>("sliderZ");
    1410 //        QSlider *sliderScale = Parent->findChild<QSlider *>("sliderScale");
    1411 //        std::cout << sliderZ << " and " << sliderScale << endl;
    1412 //        std::cout << "Stored src position is (" << srcpos->x() << "," << srcpos->y() << ")." << endl;
    1413 //        destpos -= *srcpos;
    1414 //        std::cout << "Resulting diff position is (" << destpos.x() << "," << destpos.y() << ")." << endl;
    1415 //        std::cout << "Width and Height are " << Width << "," << Height << "." << endl;
    1416 //        if (sliderZ) {
    1417 //          int xrange = sliderZ->maximum() - sliderZ->minimum();
    1418 //          double xValue = ((destpos.x() + Width) % Width);
    1419 //          xValue *= (double)xrange/(double)Width;
    1420 //          xValue += sliderZ->value();
    1421 //          int xvalue = (int) xValue % xrange;
    1422 //          std::cout << "Setting x to " << xvalue << " within range " << xrange << "." << endl;
    1423 //          setZRotation(xvalue);
    1424 //          sliderZ->setValue(xvalue);
    1425 //        } else {
    1426 //          std::cout << "sliderZ is NULL." << endl;
    1427 //        }
    1428 //        if (sliderScale) {
    1429 //          int yrange = sliderScale->maximum() - sliderScale->minimum();
    1430 //          double yValue = ((destpos.y() + Height) % Height);
    1431 //          yValue *= (double)yrange/(double)Height;
    1432 //          yValue += sliderScale->value();
    1433 //          int yvalue = (int) yValue % yrange;
    1434 //          std::cout << "Setting y to " << yvalue << " within range " << yrange << "." << endl;
    1435 //          setScale(yvalue);
    1436 //          sliderScale->setValue(yvalue);
    1437 //        } else {
    1438 //          std::cout << "sliderScale is NULL." << endl;
    1439 //        }
    1440 //      } else {
    1441 //        std::cout << "srcpos is NULL." << endl;
    1442 //      }
    1443 //      break;
    1444 //      break;
    1445 //
    1446 //    case Qt::RightButton:  // RightButton moves eitstdher the selected molecule or atom
    1447 //      srcpos = &RightButtonPos;
    1448 //      std::cout << "Right Button" << endl;
    1449 //      if (srcpos) {    // subtract the position and act
    1450 //        std::cout << "Stored src position is (" << srcpos->x() << "," << srcpos->y() << ")." << endl;
    1451 //        destpos -= *srcpos;
    1452 //        std::cout << "Resulting diff position is (" << destpos.x() << "," << destpos.y() << ")." << endl;
    1453 //        std::cout << "Width and Height are " << Width << "," << Height << "." << endl;
    1454 //        if (MultiViewEnabled) {
    1455 //          // which vector to change
    1456 //          Vector SelectedPosition;
    1457 //          const std::vector<atom*> &SelectedAtoms = World::getInstance().getSelectedAtoms();
    1458 //          const std::vector<molecule*> &SelectedMolecules = World::getInstance().getSelectedMolecules();
    1459 //          if (SelectedMolecules.size()) {
    1460 //            if (SelectedAtoms.size())
    1461 //              SelectedPosition = (*SelectedAtoms.begin())->getPosition();
    1462 //            else
    1463 //              SelectedPosition = (*(*SelectedMolecules.begin())->begin())->getPosition();
    1464 //          }
    1465 //          // decide into which of the four screens the initial click has been made
    1466 //          int pos = (int)floor((double)srcpos->x()/(double)Width) + ((int)floor((double)srcpos->y()/(double)Height))*2;
    1467 //          if (!SelectedPosition.IsZero()) {
    1468 //            std::cout << "Position is " << pos << "." << endl;
    1469 //            switch(pos) {
    1470 //              case 0:  // lower left = xz
    1471 //                SelectedPosition[0] += -destpos.y()/100.;
    1472 //                SelectedPosition[2] += destpos.x()/100.;
    1473 //                break;
    1474 //              case 1: // lower right = yz
    1475 //                SelectedPosition[1] += -destpos.y()/100.;
    1476 //                SelectedPosition[2] += -destpos.x()/100.;
    1477 //                break;
    1478 //              case 2:  // upper left = projected
    1479 //                SelectedPosition[0] += destpos.x()/100.;
    1480 //                SelectedPosition[1] += destpos.y()/100.;
    1481 //                SelectedPosition[2] += destpos.y()/100.;
    1482 //                break;
    1483 //              case 3:  // upper right = xy
    1484 //                SelectedPosition[0] += destpos.x()/100.;
    1485 //                SelectedPosition[1] += -destpos.y()/100.;
    1486 //                break;
    1487 //              default:
    1488 //                std::cout << "click was not in any of the four regions." << endl;
    1489 //                break;
    1490 //            }
    1491 //          } else {
    1492 //            std::cout << "Nothing selected." << endl;
    1493 //          }
    1494 //          // update Tables
    1495 //          if (SelectedMolecules.size()) {
    1496 //            isSignaller = true;
    1497 //            if (SelectedAtoms.size())
    1498 //              emit notifyAtomChanged( (*SelectedMolecules.begin()), (*SelectedAtoms.begin()), AtomPosition);
    1499 //            else
    1500 //              emit notifyMoleculeChanged( (*SelectedMolecules.begin()), MoleculePosition );
    1501 //          }
    1502 //          // update graphic
    1503 //          initializeGL();
    1504 //          updateGL();
    1505 //        } else {
    1506 //          cout << "MultiView is not enabled." << endl;
    1507 //        }
    1508 //      } else {
    1509 //        cout << "srcpos is NULL." << endl;
    1510 //      }
    1511 //  break;
    1512 //
    1513 //    default:
    1514 //      break;
    1515 //  }
    1516 //}
    1517 //
    1518 ///* ======================================== SLOTS ================================ */
    1519 //
    1520 ///** Hear announcement of selected molecule.
    1521 // * \param *mol pointer to selected molecule
    1522 // */
    1523 //void GLMoleculeView::hearMoleculeSelected(molecule *mol)
    1524 //{
    1525 //  if (isSignaller) { // if we emitted the signal, return
    1526 //    isSignaller = false;
    1527 //    return;
    1528 //  }
    1529 //  initializeGL();
    1530 //  updateGL();
    1531 //};
    1532 //
    1533 ///** Hear announcement of selected atom.
    1534 // * \param *mol pointer to molecule containing atom
    1535 // * \param *Walker pointer to selected atom
    1536 // */
    1537 //void GLMoleculeView::hearAtomSelected(molecule *mol, atom *Walker)
    1538 //{
    1539 //  if (isSignaller) { // if we emitted the signal, return
    1540 //    isSignaller = false;
    1541 //    return;
    1542 //  }
    1543 //  initializeGL();
    1544 //  updateGL();
    1545 //};
    1546 //
    1547 ///** Hear announcement of changed molecule.
    1548 // * \param *mol pointer to changed molecule
    1549 // * \param type of change
    1550 // */
    1551 //void GLMoleculeView::hearMoleculeChanged(molecule *mol, enum ChangesinMolecule type)
    1552 //{
    1553 //  if (isSignaller) { // if we emitted the signal, return
    1554 //    isSignaller = false;
    1555 //    return;
    1556 //  }
    1557 //  initializeGL();
    1558 //  updateGL();
    1559 //};
    1560 //
    1561 ///** Hear announcement of changed atom.
    1562 // * \param *mol pointer to molecule containing atom
    1563 // * \param *Walker pointer to changed atom
    1564 // * \param type type of change
    1565 // */
    1566 //void GLMoleculeView::hearAtomChanged(molecule *mol, atom *Walker, enum ChangesinAtom type)
    1567 //{
    1568 //  if (isSignaller) { // if we emitted the signal, return
    1569 //    isSignaller = false;
    1570 //    return;
    1571 //  }
    1572 //  initializeGL();
    1573 //  updateGL();
    1574 //};
    1575 //
    1576 ///** Hear announcement of changed element.
    1577 // * \param *Runner pointer to changed element
    1578 // * \param type of change
    1579 // */
    1580 //void GLMoleculeView::hearElementChanged(element *Runner, enum ChangesinElement type)
    1581 //{
    1582 //  if (isSignaller) { // if we emitted the signal, return
    1583 //    isSignaller = false;
    1584 //    return;
    1585 //  }
    1586 //  switch(type) {
    1587 //    default:
    1588 //    case ElementName:
    1589 //    case ElementSymbol:
    1590 //    case ElementMass:
    1591 //    case ElementValence:
    1592 //    case ElementZ:
    1593 //      break;
    1594 //    case ElementCovalent:
    1595 //    case ElementVanderWaals:
    1596 //      initializeGL();
    1597 //      updateGL();
    1598 //      break;
    1599 //  }
    1600 //};
    1601 //
    1602 ///** Hear announcement of added molecule.
    1603 // * \param *mol pointer to added molecule
    1604 // */
    1605 //void GLMoleculeView::hearMoleculeAdded(molecule *mol)
    1606 //{
    1607 //  if (isSignaller) { // if we emitted the signal, return
    1608 //    isSignaller = false;
    1609 //    return;
    1610 //  }
    1611 //  initializeGL();
    1612 //  updateGL();
    1613 //};
    1614 //
    1615 ///** Hear announcement of added atom.
    1616 // * \param *mol pointer to molecule containing atom
    1617 // * \param *Walker pointer to added atom
    1618 // */
    1619 //void GLMoleculeView::hearAtomAdded(molecule *mol, atom *Walker)
    1620 //{
    1621 //  if (isSignaller) { // if we emitted the signal, return
    1622 //    isSignaller = false;
    1623 //    return;
    1624 //  }
    1625 //  initializeGL();
    1626 //  updateGL();
    1627 //};
    1628 //
    1629 ///** Hear announcement of removed molecule.
    1630 // * \param *mol pointer to removed molecule
    1631 // */
    1632 //void GLMoleculeView::hearMoleculeRemoved(molecule *mol)
    1633 //{
    1634 //  if (isSignaller) { // if we emitted the signal, return
    1635 //    isSignaller = false;
    1636 //    return;
    1637 //  }
    1638 //  initializeGL();
    1639 //  updateGL();
    1640 //};
    1641 //
    1642 ///** Hear announcement of removed atom.
    1643 // * \param *mol pointer to molecule containing atom
    1644 // * \param *Walker pointer to removed atom
    1645 // */
    1646 //void GLMoleculeView::hearAtomRemoved(molecule *mol, atom *Walker)
    1647 //{
    1648 //  if (isSignaller) { // if we emitted the signal, return
    1649 //    isSignaller = false;
    1650 //    return;
    1651 //  }
    1652 //  initializeGL();
    1653 //  updateGL();
    1654 //};
    1655 //
    1656 //void GLMoleculeView::update(Observable *publisher)
    1657 //{
    1658 //  initializeGL();
    1659 //  updateGL();
    1660 //}
    1661 //
    1662 ///**
    1663 // * This method is called when a special named change
    1664 // * of the Observable occured
    1665 // */
    1666 //void GLMoleculeView::recieveNotification(Observable *publisher, Notification_ptr notification)
    1667 //{
    1668 //  initializeGL();
    1669 //  updateGL();
    1670 //}
    1671 //
    1672 ///**
    1673 // * This method is called when the observed object is destroyed.
    1674 // */
    1675 //void GLMoleculeView::subjectKilled(Observable *publisher)
    1676 //{
    1677 //
    1678 //}
    1679 //
    1680 //
    1681 //// new stuff
    1682 //
    1683 ///** Returns the ref to the Material for element No \a from the map.
    1684 // *
    1685 // * \note We create a new one if the element is missing.
    1686 // *
    1687 // * @param no element no
    1688 // * @return ref to QGLMaterial
    1689 // */
    1690 //QGLMaterial* GLMoleculeView::getMaterial(size_t no)
    1691 //{
    1692 //  if (ElementNoMaterialMap.find(no) != ElementNoMaterialMap.end()){
    1693 //    // get present one
    1694 //
    1695 //  } else {
    1696 //    ASSERT( (no >= 0) && (no < MAX_ELEMENTS),
    1697 //        "GLMoleculeView::getMaterial() - Element no "+toString(no)+" is invalid.");
    1698 //    // create new one
    1699 //    LOG(1, "Creating new material for element "+toString(no)+".");
    1700 //    QGLMaterial *newmaterial = new QGLMaterial(this);
    1701 //    periodentafel *periode = World::getInstance().getPeriode();
    1702 //    element *desiredelement = periode->FindElement(no);
    1703 //    ASSERT(desiredelement != NULL,
    1704 //        "GLMoleculeView::getMaterial() - desired element "+toString(no)+" not present in periodentafel.");
    1705 //    const unsigned char* color = desiredelement->getColor();
    1706 //    newmaterial->setAmbientColor( QColor(color[0], color[1], color[2]) );
    1707 //    newmaterial->setSpecularColor( QColor(60, 60, 60) );
    1708 //    newmaterial->setShininess( QColor(128) );
    1709 //    ElementNoMaterialMap.insert( no, newmaterial);
    1710 //  }
    1711 //}
    1712 //
    1713 //QGLSceneNode* GLMoleculeView::getAtom(size_t no)
    1714 //{
    1715 //  // first some sensibility checks
    1716 //  ASSERT(World::getInstance().getAtom(AtomById(no)) != NULL,
    1717 //      "GLMoleculeView::getAtom() - desired atom "
    1718 //      +toString(no)+" not present in the World.");
    1719 //  ASSERT(AtomsinSceneMap.find(no) != AtomsinSceneMap.end(),
    1720 //      "GLMoleculeView::getAtom() - desired atom "
    1721 //      +toString(no)+" not present in the AtomsinSceneMap.");
    1722 //
    1723 //  return AtomsinSceneMap[no];
    1724 //}
    1725 //
    1726 //QGLSceneNode* GLMoleculeView::getBond(size_t leftno, size_t rightno)
    1727 //{
    1728 //  // first some sensibility checks
    1729 //  ASSERT(World::getInstance().getAtom(AtomById(leftno)) != NULL,
    1730 //      "GLMoleculeView::getAtom() - desired atom "
    1731 //      +toString(leftno)+" of bond not present in the World.");
    1732 //  ASSERT(World::getInstance().getAtom(AtomById(rightno)) != NULL,
    1733 //      "GLMoleculeView::getAtom() - desired atom "
    1734 //      +toString(rightno)+" of bond not present in the World.");
    1735 //  ASSERT(AtomsinSceneMap.find(leftno) != AtomsinSceneMap.end(),
    1736 //      "GLMoleculeView::getAtom() - desired atom "
    1737 //      +toString(leftno)+" of bond not present in the AtomsinSceneMap.");
    1738 //  ASSERT(AtomsinSceneMap.find(rightno) != AtomsinSceneMap.end(),
    1739 //      "GLMoleculeView::getAtom() - desired atom "
    1740 //      +toString(rightno)+" of bond not present in the AtomsinSceneMap.");
    1741 //  ASSERT(leftno == rightno,
    1742 //      "GLMoleculeView::getAtom() - bond must not be between the same atom: "
    1743 //      +toString(leftno)+" == "+toString(rightno)+".");
    1744 //
    1745 //  // then return with smaller index first
    1746 //  if (leftno > rightno)
    1747 //    return AtomsinSceneMap[ make_pair(rightno, leftno) ];
    1748 //  else
    1749 //    return AtomsinSceneMap[ make_pair(leftno, rightno) ];
    1750 //}
    1751 //
  • src/UIElements/Views/Qt4/Qt3D/GLWorldView.hpp

    r8859b5 r7f1b51  
    127127};
    128128
    129 
    130 
    131 //#include "CodePatterns/Observer/Observer.hpp"
    132 //#include "LinearAlgebra/Vector.hpp"
    133 //#include "changetypes.hpp"
    134 //
    135 //class atom;
    136 //class element;
    137 //class molecule;
    138 //
    139 //class GLMoleculeView : public QGLWidget, public Observer
    140 //{
    141 //    Q_OBJECT
    142 //
    143 //public:
    144 //
    145 //    GLMoleculeView( QWidget* parent);
    146 //    ~GLMoleculeView();
    147 //
    148 //public slots:
    149 //
    150 //    void    setXRotation( int degrees );
    151 //    void    setYRotation( int degrees );
    152 //    void    setZRotation( int degrees );
    153 //    void    setScale( int distance );
    154 //    void    setLightPosition( int *light );
    155 //    void    setLightDiffuse( int *light );
    156 //    void    setLightAmbient( int *light );
    157 //    void    createDialogLight();
    158 //    void    toggleMultiViewEnabled();
    159 //
    160 //    void    init( QLabel *ptr );
    161 //    void    initCoordinates(QLabel *ptr);
    162 //    void    createView();
    163 //    void    hearMoleculeSelected(molecule *mol);
    164 //    void    hearAtomSelected(molecule *mol, atom *Walker);
    165 //    void    hearMoleculeChanged(molecule *mol, enum ChangesinMolecule type);
    166 //    void    hearAtomChanged(molecule *mol, atom *Walker, enum ChangesinAtom type);
    167 //    void    hearElementChanged(element *Runner, enum ChangesinElement type);
    168 //    void    hearMoleculeAdded(molecule *mol);
    169 //    void    hearAtomAdded(molecule *mol, atom *Walker);
    170 //    void    hearMoleculeRemoved(molecule *mol);
    171 //    void    hearAtomRemoved(molecule *mol, atom *Walker);
    172 //
    173 //signals:
    174 //    void    notifyMoleculeSelected( molecule *mol );
    175 //    void    notifyAtomSelected( molecule *mol, atom *Walker );
    176 //    void    notifyMoleculeChanged( molecule *mol, enum ChangesinMolecule type );
    177 //    void    notifyAtomChanged( molecule *mol, atom *Walker, enum ChangesinAtom type );
    178 //    void    notifyElementChanged( element *Runner, enum ChangesinElement type );
    179 //    void    notifyMoleculeAdded( molecule *mol);
    180 //    void    notifyElementAdded( element *Runner);
    181 //    void    notifyAtomAdded( molecule *mol, atom *Walker );
    182 //    void    notifyMoleculeRemoved( molecule *mol );
    183 //    void    notifyAtomRemoved( molecule *mol, atom *Walker );
    184 //
    185 //protected:
    186 //
    187 //    void    initializeGL();
    188 //    void    paintGL();
    189 //    void    resizeGL( int w, int h );
    190 //    void    makeSphere(const Vector &x, double radius, const unsigned char color[3]);
    191 //    void    makeCylinder(const Vector &x, const Vector &y, double radius, double height, const unsigned char color[3]);
    192 //    void mousePressEvent(QMouseEvent* event);
    193 //    void mouseReleaseEvent(QMouseEvent* event);
    194 //
    195 //public:
    196 //
    197 //    /** Update function as we are an Observer.
    198 //     *
    199 //     * @param publisher ref to Observable
    200 //     */
    201 //    void update(Observable *publisher);
    202 //
    203 //    /**
    204 //     * This method is called when a special named change
    205 //     * of the Observable occured
    206 //     */
    207 //    void recieveNotification(Observable *publisher, Notification_ptr notification);
    208 //
    209 //    /**
    210 //     * This method is called when the observed object is destroyed.
    211 //     */
    212 //    void subjectKilled(Observable *publisher);
    213 //
    214 //
    215 //private:
    216 //
    217 //    typedef std::map< size_t, node > AtomNodeMap;
    218 //    typedef std::map< std::pair< size_t, size_t> , node > BondNodeMap;
    219 //    typedef std::map< size_t, QGLMaterial *> ElementMaterialMap;
    220 //
    221 //    ElementMaterialMap ElementNoMaterialMap;
    222 //    AtomNodeMap AtomsinSceneMap;
    223 //    BondNodeMap BondsinSceneMap;
    224 //
    225 //    QGLMaterial* getMaterial(size_t);
    226 //    QGLSceneNode* getAtom(size_t);
    227 //    QGLSceneNode* getBond(size_t, size_t);
    228 //
    229 //    // old stuff
    230 //
    231 //    GLuint object;  // call list for the scene to be rendered
    232 //    GLfloat xRot, yRot, zRot, scale;  // rotation angles and scaling (zoom)
    233 //    Vector position;  //!< position of observer
    234 //    Vector view;      //!< point along line of view
    235 //    Vector top;       //!< giving upwards direction
    236 //    Vector X,Y,Z;     //!< vectors defining the coordinate system
    237 //    int width;        //!< width of window
    238 //    int height;       //!< height of window
    239 //
    240 //  QLabel *StatusBar;  //!< pointer to status bar for messages
    241 //  QLabel *CoordinatesBar; //!< pointer to coordinates bar for view port
    242 //
    243 //  GLfloat LightPosition[4];        //!< Light Position
    244 //  GLfloat LightDiffuse[4];         //!< Diffuse Light Values
    245 //  GLfloat LightAmbient[4];        //!< Ambient Light Values
    246 //
    247 //  QPoint LeftButtonPos;     //!< mouse position on mousePressEvent for LeftButton
    248 //  QPoint MiddleButtonPos;   //!< mouse position on mousePressEvent for MidButton
    249 //  QPoint RightButtonPos;    //!< mouse position on mousePressEvent for RightButton
    250 //
    251 //  unsigned char SelectionColor[3] ; //!< highlight color
    252 //
    253 //  bool isSignaller;
    254 //
    255 //  bool MultiViewEnabled;    //!< if true, split screen into four parts with additional xy,xz,yz views
    256 //};
    257 
    258129#endif /* GLWORLDVIEW_HPP_ */
  • src/World.cpp

    r8859b5 r7f1b51  
    879879  delete configuration;
    880880  delete Thermostats;
     881  delete homologies;
    881882}
    882883
  • src/builder.cpp

    r8859b5 r7f1b51  
    5353  stopQueue();
    5454#endif
     55  int status = 0;
    5556  if (UIFactory::getInstance().getUIName() == "CommandLine")
    56     return saveAll();
    57   return 0;
     57    status = saveAll();
     58  return status;
    5859}
    5960
  • src/cleanUp.cpp

    r8859b5 r7f1b51  
    5353#include "Fragmentation/Summation/Containers/FragmentationResultContainer.hpp"
    5454
     55#include "Potentials/PotentialFactory.hpp"
     56#include "Potentials/PotentialRegistry.hpp"
     57
    5558#include "RandomNumbers/RandomNumberDistributionFactory.hpp"
    5659#include "RandomNumbers/RandomNumberEngineFactory.hpp"
     
    97100  FragmentationResultContainer::purgeInstance();
    98101  Chronos::purgeInstance();
     102  PotentialFactory::purgeInstance();
     103  PotentialRegistry::purgeInstance();
    99104  RandomNumberDistributionFactory::purgeInstance();
    100105  RandomNumberEngineFactory::purgeInstance();
  • src/documentation/constructs/filling.dox

    r8859b5 r7f1b51  
    7474 * the specific implementations of the class \ref Inserter.
    7575 *
     76 * \section filling-preparators Filling Preparators
    7677 *
    77  * \date 2014-03-10
     78 * The filling function depends on quite a number of other instances. In order
     79 * to make this a little easier to use, there are so called FillerPreparators
     80 * for various purposes:
     81 * -# BoxFillerPreparator - fills the simulation domain
     82 * -# ShapeSurfaceFillerPreparator - fills on the surface of a selected shape
     83 * -# ShapeVolumeFillerPreparator - fills the volume of a selected shape
     84 *
     85 * These offer various functions to easily install an Inserter, a Mesh, and
     86 * necessary FillPredicates. See the Filling Actions such as
     87 * MoleCuilder::FillVolumeAction as example.
     88 *
     89 * \date 2014-09-04
    7890 */
  • src/documentation/tests/tests.dox

    r8859b5 r7f1b51  
    1616 * \page tests Automated Tests
    1717 *
    18  * There are two kinds of tests:
     18 * There are three kinds of tests:
    1919 *
    2020 *  \li \subpage codetest "Code tests"
     
    5959 * every single test for each and every single commit in the code history before
    6060 * it is pushed to the central repository (git has ample means via \a rebase for
    61  * correcting later found errors).
     61 * correcting later found errors), both for --disable-debug and --enable-debug.
    6262 *
    6363 * Before a version tag is given (e.g. v1.1.3) it is to be made sure that also
     
    6565 * runs fine and produces a distributable archive.
    6666 *
    67  * \date 2011-10-31
     67 * Since v1.4.8 valgrind's memcheck tool runs through as well (on all regression
     68 * tests). There are three glitches, namely regression tests 28-30 which load
     69 * python scripts and cause many PyObject_Free and other errors. These are
     70 * ignored. A python suppression file was tried but to no success.
     71 * Similarly, a valgrind check prior to giving a version tag is to be made
     72 * starting from this version to prevent memory leaks.
     73 *
     74 *
     75 * \date 2014-08-29
    6876 *
    6977 */
  • src/molecule.cpp

    r8859b5 r7f1b51  
    751751};
    752752
    753 /** Sets the molecule::cell_size to the components of \a *dim (rectangular box)
    754  * \param *dim vector class
    755  */
    756 void molecule::SetBoxDimension(Vector *dim)
    757 {
    758   RealSpaceMatrix domain;
    759   for(int i =0; i<NDIM;++i)
    760     domain.at(i,i) = dim->at(i);
    761   World::getInstance().setDomain(domain);
    762 };
    763 
    764753/** Removes atom from molecule list, but does not delete it.
    765754 * \param *pointer atom to be removed
  • src/molecule.hpp

    r8859b5 r7f1b51  
    273273  bool CenterInBox();
    274274  bool BoundInBox();
    275   void CenterEdge(Vector *max);
     275  void CenterEdge();
    276276  void CenterOrigin();
    277277  void CenterPeriodic();
    278   void CenterAtVector(Vector *newcenter);
    279   void Translate(const Vector *x);
    280   void TranslatePeriodically(const Vector *trans);
    281   void Mirror(const Vector *x);
    282   void Align(Vector *n);
    283   void Scale(const double ** const factor);
     278  void CenterAtVector(const Vector &newcenter);
     279  void Translate(const Vector &x);
     280  void TranslatePeriodically(const Vector &trans);
     281  void Mirror(const Vector &x);
     282  void Align(const Vector &n);
     283  void Scale(const double *factor);
    284284  void DeterminePeriodicCenter(Vector &center, const enum HydrogenTreatment _treatment = ExcludeHydrogen);
    285   Vector * DetermineCenterOfGravity() const;
    286   Vector * DetermineCenterOfAll() const;
    287   Vector * DetermineCenterOfBox() const;
     285  const Vector DetermineCenterOfGravity() const;
     286  const Vector DetermineCenterOfAll() const;
    288287  void SetNameFromFilename(const char *filename);
    289   void SetBoxDimension(Vector *dim);
    290288  bool ScanForPeriodicCorrection();
    291289  double VolumeOfConvexEnvelope(bool IsAngstroem);
  • src/molecule_geometry.cpp

    r8859b5 r7f1b51  
    5858/************************************* Functions for class molecule *********************************/
    5959
     60/** Returns vector pointing to center of the domain.
     61 * \return pointer to center of the domain
     62 */
     63#ifdef HAVE_INLINE
     64inline
     65#else
     66static
     67#endif
     68const Vector DetermineCenterOfBox()
     69{
     70  Vector a(0.5,0.5,0.5);
     71  const RealSpaceMatrix &M = World::getInstance().getDomain().getM();
     72  a *= M;
     73  return a;
     74}
    6075
    6176/** Centers the molecule in the box whose lengths are defined by vector \a *BoxLengths.
     
    6580{
    6681  bool status = true;
    67   const Vector *Center = DetermineCenterOfAll();
    68   const Vector *CenterBox = DetermineCenterOfBox();
     82  const Vector Center = DetermineCenterOfAll();
     83  const Vector CenterBox = DetermineCenterOfBox();
    6984  Box &domain = World::getInstance().getDomain();
    7085
    7186  // go through all atoms
    72   for (iterator iter = begin(); iter != end(); ++iter) {
    73     if (DoLog(4) && (*Center != *CenterBox))
    74       LOG(4, "INFO: atom before is at " << **iter);
    75     **iter -= *Center;
    76     **iter += *CenterBox;
    77     if (DoLog(4) && (*Center != *CenterBox))
    78       LOG(4, "INFO: atom after is at " << **iter);
    79   }
     87  Translate(CenterBox - Center);
    8088  getAtomSet().transformNodes(boost::bind(&Box::enforceBoundaryConditions,domain,_1));
    8189
    82   delete(Center);
    83   delete(CenterBox);
    8490  return status;
    85 };
     91}
    8692
    8793
     
    98104
    99105  return status;
    100 };
     106}
    101107
    102108/** Centers the edge of the atoms at (0,0,0).
    103  * \param *out output stream for debugging
    104  * \param *max coordinates of other edge, specifying box dimensions.
    105  */
    106 void molecule::CenterEdge(Vector *max)
    107 {
    108 //  Info info(__func__);
    109   Vector *min = new Vector;
    110 
    111   const_iterator iter = begin();  // start at first in list
    112   if (iter != end()) { //list not empty?
    113     for (int i=NDIM;i--;) {
    114       max->at(i) = (*iter)->at(i);
    115       min->at(i) = (*iter)->at(i);
    116     }
    117     for (; iter != end(); ++iter) {// continue with second if present
    118       //(*iter)->Output(1,1,out);
    119       for (int i=NDIM;i--;) {
    120         max->at(i) = (max->at(i) < (*iter)->at(i)) ? (*iter)->at(i) : max->at(i);
    121         min->at(i) = (min->at(i) > (*iter)->at(i)) ? (*iter)->at(i) : min->at(i);
    122       }
    123     }
    124     LOG(1, "INFO: Maximum is " << *max << ", Minimum is " << *min << ".");
    125     min->Scale(-1.);
    126     (*max) += (*min);
    127     Translate(min);
    128   }
    129   delete(min);
    130 };
     109 */
     110void molecule::CenterEdge()
     111{
     112  const_iterator iter = begin();
     113  if (iter != end()) {   //list not empty?
     114    Vector min = (*begin())->getPosition();
     115    for (;iter != end(); ++iter) { // continue with second if present
     116      const Vector &currentPos = (*iter)->getPosition();
     117      for (size_t i=0;i<NDIM;++i)
     118        if (min[i] > currentPos[i])
     119          min[i] = currentPos[i];
     120    }
     121    Translate(-1.*min);
     122  }
     123}
    131124
    132125/** Centers the center of the atoms at (0,0,0).
     
    147140    }
    148141    Center.Scale(-1./(double)Num); // divide through total number (and sign for direction)
    149     Translate(&Center);
    150   }
    151 };
     142    Translate(Center);
     143  }
     144}
    152145
    153146/** Returns vector pointing to center of all atoms.
    154147 * \return pointer to center of all vector
    155148 */
    156 Vector * molecule::DetermineCenterOfAll() const
     149const Vector molecule::DetermineCenterOfAll() const
    157150{
    158151  const_iterator iter = begin();  // start at first in list
    159   Vector *a = new Vector();
     152  Vector a;
    160153  double Num = 0;
    161154
    162   a->Zero();
     155  a.Zero();
    163156
    164157  if (iter != end()) {   //list not empty?
    165158    for (; iter != end(); ++iter) {  // continue with second if present
    166159      Num++;
    167       (*a) += (*iter)->getPosition();
    168     }
    169     a->Scale(1./(double)Num); // divide through total mass (and sign for direction)
     160      a += (*iter)->getPosition();
     161    }
     162    a.Scale(1./(double)Num); // divide through total mass (and sign for direction)
    170163  }
    171164  return a;
    172 };
    173 
    174 /** Returns vector pointing to center of the domain.
    175  * \return pointer to center of the domain
    176  */
    177 Vector * molecule::DetermineCenterOfBox() const
    178 {
    179   Vector *a = new Vector(0.5,0.5,0.5);
    180   const RealSpaceMatrix &M = World::getInstance().getDomain().getM();
    181   (*a) *= M;
    182   return a;
    183 };
     165}
     166
    184167
    185168/** Returns vector pointing to center of gravity.
     
    187170 * \return pointer to center of gravity vector
    188171 */
    189 Vector * molecule::DetermineCenterOfGravity() const
     172const Vector molecule::DetermineCenterOfGravity() const
    190173{
    191174  const_iterator iter = begin();  // start at first in list
    192   Vector *a = new Vector();
     175  Vector a;
    193176  Vector tmp;
    194177  double Num = 0;
    195178
    196   a->Zero();
     179  a.Zero();
    197180
    198181  if (iter != end()) {   //list not empty?
     
    200183      Num += (*iter)->getType()->getMass();
    201184      tmp = (*iter)->getType()->getMass() * (*iter)->getPosition();
    202       (*a) += tmp;
    203     }
    204     a->Scale(1./Num); // divide through total mass
    205   }
    206   LOG(1, "INFO: Resulting center of gravity: " << *a << ".");
     185      a += tmp;
     186    }
     187    a.Scale(1./Num); // divide through total mass
     188  }
     189  LOG(1, "INFO: Resulting center of gravity: " << a << ".");
    207190  return a;
    208 };
     191}
    209192
    210193/** Centers the center of gravity of the atoms at (0,0,0).
     
    216199  Vector NewCenter;
    217200  DeterminePeriodicCenter(NewCenter);
    218   // go through all atoms
    219   for (iterator iter = begin(); iter != end(); ++iter) {
    220     **iter -= NewCenter;
    221   }
    222 };
     201  Translate(-1.*NewCenter);
     202}
    223203
    224204
     
    227207 * \param *center return vector for translation vector
    228208 */
    229 void molecule::CenterAtVector(Vector *newcenter)
    230 {
    231   // go through all atoms
    232   for (iterator iter = begin(); iter != end(); ++iter) {
    233     **iter -= *newcenter;
    234   }
    235 };
     209void molecule::CenterAtVector(const Vector &newcenter)
     210{
     211  Translate(-1.*newcenter);
     212}
    236213
    237214/** Calculate the inertia tensor of a the molecule.
     
    242219{
    243220  RealSpaceMatrix InertiaTensor;
    244   Vector *CenterOfGravity = DetermineCenterOfGravity();
     221  const Vector CenterOfGravity = DetermineCenterOfGravity();
    245222
    246223  // reset inertia tensor
     
    250227  for (const_iterator iter = begin(); iter != end(); ++iter) {
    251228    Vector x = (*iter)->getPosition();
    252     x -= *CenterOfGravity;
     229    x -= CenterOfGravity;
    253230    const double mass = (*iter)->getType()->getMass();
    254231    InertiaTensor.at(0,0) += mass*(x[1]*x[1] + x[2]*x[2]);
     
    265242  LOG(1, "INFO: The inertia tensor of molecule " << getName() <<  " is:" << InertiaTensor);
    266243
    267   delete CenterOfGravity;
    268244  return InertiaTensor;
    269245}
     
    276252void molecule::RotateToPrincipalAxisSystem(const Vector &Axis)
    277253{
    278   Vector *CenterOfGravity = DetermineCenterOfGravity();
     254  const Vector CenterOfGravity = DetermineCenterOfGravity();
    279255  RealSpaceMatrix InertiaTensor = getInertiaTensor();
    280256
     
    288264
    289265  // obtain first column, eigenvector to biggest eigenvalue
    290   Vector BiggestEigenvector(InertiaTensor.column(Eigenvalues.SmallestComponent()));
     266  const Vector BiggestEigenvector(InertiaTensor.column(Eigenvalues.SmallestComponent()));
    291267  Vector DesiredAxis(Axis.getNormalized());
    292268
     
    302278  // and rotate
    303279  for (iterator iter = begin(); iter != end(); ++iter) {
    304     *(*iter) -= *CenterOfGravity;
     280    *(*iter) -= CenterOfGravity;
    305281    (*iter)->setPosition(RotationAxis.rotateVector((*iter)->getPosition(), alpha));
    306     *(*iter) += *CenterOfGravity;
     282    *(*iter) += CenterOfGravity;
    307283  }
    308284  LOG(0, "STATUS: done.");
    309 
    310   delete CenterOfGravity;
    311285}
    312286
     
    319293 * x=(**factor) * x (as suggested by comment)
    320294 */
    321 void molecule::Scale(const double ** const factor)
     295void molecule::Scale(const double *factor)
    322296{
    323297  for (iterator iter = begin(); iter != end(); ++iter) {
    324298    for (size_t j=0;j<(*iter)->getTrajectorySize();j++) {
    325299      Vector temp = (*iter)->getPositionAtStep(j);
    326       temp.ScaleAll(*factor);
     300      temp.ScaleAll(factor);
    327301      (*iter)->setPositionAtStep(j,temp);
    328302    }
     
    333307 * \param trans[] translation vector.
    334308 */
    335 void molecule::Translate(const Vector *trans)
    336 {
    337   for (iterator iter = begin(); iter != end(); ++iter) {
    338     for (size_t j=0;j<(*iter)->getTrajectorySize();j++) {
    339       (*iter)->setPositionAtStep(j, (*iter)->getPositionAtStep(j) + (*trans));
    340     }
    341   }
     309void molecule::Translate(const Vector &trans)
     310{
     311  getAtomSet().translate(trans);
    342312};
    343313
     
    346316 * TODO treatment of trajectories missing
    347317 */
    348 void molecule::TranslatePeriodically(const Vector *trans)
    349 {
     318void molecule::TranslatePeriodically(const Vector &trans)
     319{
     320  Translate(trans);
    350321  Box &domain = World::getInstance().getDomain();
    351 
    352   // go through all atoms
    353   for (iterator iter = begin(); iter != end(); ++iter) {
    354     **iter += *trans;
    355   }
    356322  getAtomSet().transformNodes(boost::bind(&Box::enforceBoundaryConditions,domain,_1));
    357 
    358323};
    359324
     
    362327 * \param n[] normal vector of mirror plane.
    363328 */
    364 void molecule::Mirror(const Vector *n)
    365 {
    366   OBSERVE;
    367   Plane p(*n,0);
     329void molecule::Mirror(const Vector &n)
     330{
     331  Plane p(n,0);
    368332  getAtomSet().transformNodes(boost::bind(&Plane::mirrorVector,p,_1));
    369333};
     
    381345  Vector Testvector, Translationvector;
    382346  Vector Center;
    383   BondGraph *BG = World::getInstance().getBondGraph();
     347  const BondGraph * const BG = World::getInstance().getBondGraph();
    384348
    385349  do {
     
    432396
    433397  Center.Scale(1./static_cast<double>(getAtomCount()));
    434   CenterAtVector(&Center);
     398  CenterAtVector(Center);
    435399};
    436400
     
    438402 * \param n[] alignment vector.
    439403 */
    440 void molecule::Align(Vector *n)
     404void molecule::Align(const Vector &n)
    441405{
    442406  double alpha, tmp;
    443407  Vector z_axis;
     408  Vector alignment(n);
    444409  z_axis[0] = 0.;
    445410  z_axis[1] = 0.;
     
    448413  // rotate on z-x plane
    449414  LOG(0, "Begin of Aligning all atoms.");
    450   alpha = atan(-n->at(0)/n->at(2));
     415  alpha = atan(-alignment.at(0)/alignment.at(2));
    451416  LOG(1, "INFO: Z-X-angle: " << alpha << " ... ");
    452417  for (iterator iter = begin(); iter != end(); ++iter) {
     
    462427  }
    463428  // rotate n vector
    464   tmp = n->at(0);
    465   n->at(0) =  cos(alpha) * tmp +  sin(alpha) * n->at(2);
    466   n->at(2) = -sin(alpha) * tmp +  cos(alpha) * n->at(2);
    467   LOG(1, "alignment vector after first rotation: " << n);
     429  tmp = alignment.at(0);
     430  alignment.at(0) =  cos(alpha) * tmp +  sin(alpha) * alignment.at(2);
     431  alignment.at(2) = -sin(alpha) * tmp +  cos(alpha) * alignment.at(2);
     432  LOG(1, "alignment vector after first rotation: " << alignment);
    468433
    469434  // rotate on z-y plane
    470   alpha = atan(-n->at(1)/n->at(2));
     435  alpha = atan(-alignment.at(1)/alignment.at(2));
    471436  LOG(1, "INFO: Z-Y-angle: " << alpha << " ... ");
    472437  for (iterator iter = begin(); iter != end(); ++iter) {
     
    482447  }
    483448  // rotate n vector (for consistency check)
    484   tmp = n->at(1);
    485   n->at(1) =  cos(alpha) * tmp +  sin(alpha) * n->at(2);
    486   n->at(2) = -sin(alpha) * tmp +  cos(alpha) * n->at(2);
    487 
    488 
    489   LOG(1, "alignment vector after second rotation: " << n);
     449  tmp = alignment.at(1);
     450  alignment.at(1) =  cos(alpha) * tmp +  sin(alpha) * alignment.at(2);
     451  alignment.at(2) = -sin(alpha) * tmp +  cos(alpha) * alignment.at(2);
     452
     453  LOG(1, "alignment vector after second rotation: " << alignment);
    490454  LOG(0, "End of Aligning all atoms.");
    491455};
  • src/moleculelist.cpp

    r8859b5 r7f1b51  
    229229      }
    230230      // Center and size
    231       Vector *Center = (*ListRunner)->DetermineCenterOfAll();
    232       (*out) << "\t" << *Center << "\t" << sqrt(size) << endl;
    233       delete(Center);
     231      Vector Center = (*ListRunner)->DetermineCenterOfAll();
     232      (*out) << "\t" << Center << "\t" << sqrt(size) << endl;
    234233    }
    235234  }
     
    578577//        if (BoxDimension[k] < 1.)
    579578//          BoxDimension[k] += 1.;
    580 //      (*ListRunner)->SetBoxDimension(&BoxDimension); // update Box of atoms by boundary
     579//      {
     580//        RealSpaceMatrix domain;
     581//        for(int i =0; i<NDIM;++i)
     582//          domain.at(i,i) = BoxDimension[i];
     583//        World::getInstance().setDomain(domain);
     584//      }
    581585//      for (int k = 0; k < NDIM; k++) {
    582586//        BoxDimension[k] = 2.5 * (World::getInstance().getConfig()->GetIsAngstroem() ? 1. : 1. / AtomicLengthToAngstroem);
  • tests/Python/AllActions/options.dat

    r8859b5 r7f1b51  
    4848default-molname "molname"
    4949deltat  "0.01"
     50density "1.0"
    5051depth-first-search      "2."
    5152dipole-angular-correlation      "H2O"
     
    215216stretch "1. 1. 1."
    216217stretch-shapes  "1. 2. 3."
    217 suspend-in-water        "1.0"
    218218take-best-of            "5"
    219219tesselation-radius      "5."
  • tests/regression/Analysis/DipoleCorrelation-DiscreteAngles/testsuite-analysis-dipole-correlation-discrete-angles.at

    r8859b5 r7f1b51  
    2222
    2323AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Analysis/DipoleCorrelation-DiscreteAngles/pre/water.xyz .], 0)
    24 AT_CHECK([../../molecuilder -i waterbox.xyz -o xyz --change-box "10,0,10,0,0,10" --fill-void water.xyz --distances "3.1,3.1,3.1" --distance-to-boundary "1." --DoRotate 0], 0, [stdout], [stderr])
     24AT_CHECK([../../molecuilder -i waterbox.xyz -o xyz -B "10, 0., 10, 0, 0, 10" -l water.xyz --select-molecule-by-order -1 --fill-regular-grid --mesh-size 3 3 3 --mesh-offset "0.,0.,0." --min-distance "1." --DoRotate 0], 0, [stdout], [stderr])
    2525AT_CHECK([../../molecuilder -i waterbox.xyz -o xyz -I --select-all-molecules --dipole-correlation --bin-start -0.5 --bin-width 1. --bin-end 359.5 --output-file waterbox_values.dat --bin-output-file waterbox_histogram.dat], 0, [stdout], [stderr])
    2626AT_CHECK([file=waterbox_histogram.dat; diff $file ${abs_top_srcdir}/tests/regression/Analysis/DipoleCorrelation-DiscreteAngles/post/waterbox_histogram.dat], 0, [ignore], [ignore])
     
    3333
    3434AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Analysis/DipoleCorrelation-DiscreteAngles/pre/water.xyz .], 0)
    35 AT_CHECK([../../molecuilder -i waterbox-mirrored.xyz -o xyz --change-box "10,0,10,0,0,10" --fill-void water.xyz --distances "3.1,3.1,3.1" --distance-to-boundary "1." --DoRotate 0], 0, [stdout], [stderr])
    36 AT_CHECK([../../molecuilder -i waterbox-mirrored.xyz -I -v 3  --create-shape --shape-name "sphere1" --shape-type "sphere" --translation "5.,5.,5." --stretch "0.2,0.2,0.2" --select-shape-by-name "sphere1" --select-atoms-inside-volume --select-atoms-molecules --rotate-around-self 180 --axis "0,1,0"], 0, [stdout], [stderr])
     35AT_CHECK([../../molecuilder -i waterbox-mirrored.xyz -o xyz -B "10, 0., 10, 0, 0, 10" -l water.xyz --select-molecule-by-order -1 --fill-regular-grid --mesh-size 3 3 3 --mesh-offset "0.5,0.5,0.5" --min-distance "1." --DoRotate 0], 0, [stdout], [stderr])
     36AT_CHECK([../../molecuilder -i waterbox-mirrored.xyz -I -v 3  --create-shape --shape-name "sphere1" --shape-type "sphere" --translation "5.,5.,5.5" --stretch "0.2,0.2,0.2" --select-shape-by-name "sphere1" --select-atoms-inside-volume --select-atoms-molecules --rotate-around-self 180 --axis "0,1,0"], 0, [stdout], [stderr])
    3737AT_CHECK([../../molecuilder -i waterbox-mirrored.xyz -o xyz -I --select-all-molecules --dipole-correlation --bin-start -0.5 --bin-width 1. --bin-end 359.5 --output-file waterbox-mirrored_values.dat --bin-output-file waterbox-mirrored_histogram.dat], 0, [stdout], [stderr])
    3838AT_CHECK([file=waterbox-mirrored_histogram.dat; diff $file ${abs_top_srcdir}/tests/regression/Analysis/DipoleCorrelation-DiscreteAngles/post/waterbox-mirrored_histogram.dat], 0, [ignore], [ignore])
  • tests/regression/Analysis/DipoleCorrelation-Empty/testsuite-analysis-dipole-correlation-empty.at

    r8859b5 r7f1b51  
    2727AT_KEYWORDS([analysis correlation dipole-correlation])
    2828AT_CHECK([../../molecuilder -i hydrogen.xyz -o xyz --add-atom 1 --domain-position "0,0,0"], 0, [stdout], [stderr])
    29 AT_CHECK([../../molecuilder -i hydrogenbox.xyz -o xyz --fill-void hydrogen.xyz --distances "3.1,3.1,3.1" --DoRotate 0], 0, [stdout], [stderr])
     29AT_CHECK([../../molecuilder -i hydrogenbox.xyz -B "18.6, 0., 18.6, 0, 0, 18.6" -o xyz -l hydrogen.xyz --select-molecule-by-order -1 --fill-regular-grid --mesh-size 6 6 6 --mesh-offset "0.,0.,0." --DoRotate 0], 0, [stdout], [stderr])
    3030AT_CHECK([../../molecuilder -i hydrogenbox.xyz -o xyz --select-molecules-by-formula H2O --dipole-correlation --bin-start 0 --bin-width 1. --bin-end 359 --output-file hydrogenbox_values.dat --bin-output-file hydrogenbox_histogram.dat], 0, [stdout], [stderr])
    3131AT_CHECK([file=hydrogenbox_histogram.dat; diff $file ${abs_top_srcdir}/tests/regression/Analysis/DipoleCorrelation-Empty/post/hydrogenbox_histogram.dat], 0, [ignore], [ignore])
  • tests/regression/Atoms/Add/testsuite-atoms-add.at

    r8859b5 r7f1b51  
    5353AT_SETUP([Atoms - adding outside boundary fails])
    5454AT_KEYWORDS([atoms boundary add-atom])
     55# this does not fail
     56AT_XFAIL_IF([/bin/true])
    5557
    56 AT_CHECK([../../molecuilder -i test2.conf -o mpqc pcp xyz tremolo pdb --set-boundary-conditions "Ignore,Ignore,Ignore" -a 1 --domain-position "0., 0., -1."], 5, [ignore], [ignore])
     58AT_CHECK([../../molecuilder -i test2.conf -o mpqc pcp xyz tremolo pdb --set-boundary-conditions Ignore Ignore Ignore -a 1 --domain-position "0., 0., -1."], 5, [ignore], [ignore])
    5759
    5860AT_CLEANUP
  • tests/regression/Filling/RegularGrid/post/solved_double_sles.data

    r8859b5 r7f1b51  
    115115113     H12     SLES    1       8.7336  11.8825 28.784  HAL3    111     0       0       0       0.09   
    116116114     H12     SLES    1       7.0942  11.2524 28.3633 HAL3    111     0       0       0       0.09   
    117 115     OW      TIP3    0       1.4199  1.4199  1.4199  OW      116     117     0       0       -0.834 
    118 116     HW      TIP3    0       2.1789  1.4199  1.9239  HW      115     0       0       0       0.417   
    119 117     HW      TIP3    0       2.1789  1.4199  0.9159  HW      115     0       0       0       0.417   
    120 118     OW      TIP3    0       1.4199  1.4199  4.2597  OW      119     120     0       0       -0.834 
    121 119     HW      TIP3    0       2.1789  1.4199  4.7637  HW      118     0       0       0       0.417   
    122 120     HW      TIP3    0       2.1789  1.4199  3.7557  HW      118     0       0       0       0.417   
    123 121     OW      TIP3    0       1.4199  1.4199  7.0995  OW      122     123     0       0       -0.834 
    124 122     HW      TIP3    0       2.1789  1.4199  7.6035  HW      121     0       0       0       0.417   
    125 123     HW      TIP3    0       2.1789  1.4199  6.5955  HW      121     0       0       0       0.417   
    126 124     OW      TIP3    0       1.4199  1.4199  9.9393  OW      125     126     0       0       -0.834 
    127 125     HW      TIP3    0       2.1789  1.4199  10.4433 HW      124     0       0       0       0.417   
    128 126     HW      TIP3    0       2.1789  1.4199  9.4353  HW      124     0       0       0       0.417   
    129 127     OW      TIP3    0       1.4199  1.4199  12.7791 OW      128     129     0       0       -0.834 
    130 128     HW      TIP3    0       2.1789  1.4199  13.2831 HW      127     0       0       0       0.417   
    131 129     HW      TIP3    0       2.1789  1.4199  12.2751 HW      127     0       0       0       0.417   
    132 130     OW      TIP3    0       1.4199  4.2597  1.4199  OW      131     132     0       0       -0.834 
    133 131     HW      TIP3    0       2.1789  4.2597  1.9239  HW      130     0       0       0       0.417   
    134 132     HW      TIP3    0       2.1789  4.2597  0.9159  HW      130     0       0       0       0.417   
    135 133     OW      TIP3    0       1.4199  4.2597  4.2597  OW      134     135     0       0       -0.834 
    136 134     HW      TIP3    0       2.1789  4.2597  4.7637  HW      133     0       0       0       0.417   
    137 135     HW      TIP3    0       2.1789  4.2597  3.7557  HW      133     0       0       0       0.417   
    138 136     OW      TIP3    0       1.4199  4.2597  7.0995  OW      137     138     0       0       -0.834 
    139 137     HW      TIP3    0       2.1789  4.2597  7.6035  HW      136     0       0       0       0.417   
    140 138     HW      TIP3    0       2.1789  4.2597  6.5955  HW      136     0       0       0       0.417   
    141 139     OW      TIP3    0       1.4199  4.2597  9.9393  OW      140     141     0       0       -0.834 
    142 140     HW      TIP3    0       2.1789  4.2597  10.4433 HW      139     0       0       0       0.417   
    143 141     HW      TIP3    0       2.1789  4.2597  9.4353  HW      139     0       0       0       0.417   
    144 142     OW      TIP3    0       1.4199  4.2597  12.7791 OW      143     144     0       0       -0.834 
    145 143     HW      TIP3    0       2.1789  4.2597  13.2831 HW      142     0       0       0       0.417   
    146 144     HW      TIP3    0       2.1789  4.2597  12.2751 HW      142     0       0       0       0.417   
    147 145     OW      TIP3    0       1.4199  7.0995  1.4199  OW      146     147     0       0       -0.834 
    148 146     HW      TIP3    0       2.1789  7.0995  1.9239  HW      145     0       0       0       0.417   
    149 147     HW      TIP3    0       2.1789  7.0995  0.9159  HW      145     0       0       0       0.417   
    150 148     OW      TIP3    0       1.4199  7.0995  4.2597  OW      149     150     0       0       -0.834 
    151 149     HW      TIP3    0       2.1789  7.0995  4.7637  HW      148     0       0       0       0.417   
    152 150     HW      TIP3    0       2.1789  7.0995  3.7557  HW      148     0       0       0       0.417   
    153 151     OW      TIP3    0       1.4199  7.0995  7.0995  OW      152     153     0       0       -0.834 
    154 152     HW      TIP3    0       2.1789  7.0995  7.6035  HW      151     0       0       0       0.417   
    155 153     HW      TIP3    0       2.1789  7.0995  6.5955  HW      151     0       0       0       0.417   
    156 154     OW      TIP3    0       1.4199  7.0995  9.9393  OW      155     156     0       0       -0.834 
    157 155     HW      TIP3    0       2.1789  7.0995  10.4433 HW      154     0       0       0       0.417   
    158 156     HW      TIP3    0       2.1789  7.0995  9.4353  HW      154     0       0       0       0.417   
    159 157     OW      TIP3    0       1.4199  7.0995  12.7791 OW      158     159     0       0       -0.834 
    160 158     HW      TIP3    0       2.1789  7.0995  13.2831 HW      157     0       0       0       0.417   
    161 159     HW      TIP3    0       2.1789  7.0995  12.2751 HW      157     0       0       0       0.417   
    162 160     OW      TIP3    0       1.4199  9.9393  1.4199  OW      161     162     0       0       -0.834 
    163 161     HW      TIP3    0       2.1789  9.9393  1.9239  HW      160     0       0       0       0.417   
    164 162     HW      TIP3    0       2.1789  9.9393  0.9159  HW      160     0       0       0       0.417   
    165 163     OW      TIP3    0       1.4199  9.9393  4.2597  OW      164     165     0       0       -0.834 
    166 164     HW      TIP3    0       2.1789  9.9393  4.7637  HW      163     0       0       0       0.417   
    167 165     HW      TIP3    0       2.1789  9.9393  3.7557  HW      163     0       0       0       0.417   
    168 166     OW      TIP3    0       1.4199  9.9393  7.0995  OW      167     168     0       0       -0.834 
    169 167     HW      TIP3    0       2.1789  9.9393  7.6035  HW      166     0       0       0       0.417   
    170 168     HW      TIP3    0       2.1789  9.9393  6.5955  HW      166     0       0       0       0.417   
    171 169     OW      TIP3    0       1.4199  9.9393  9.9393  OW      170     171     0       0       -0.834 
    172 170     HW      TIP3    0       2.1789  9.9393  10.4433 HW      169     0       0       0       0.417   
    173 171     HW      TIP3    0       2.1789  9.9393  9.4353  HW      169     0       0       0       0.417   
    174 172     OW      TIP3    0       1.4199  9.9393  12.7791 OW      173     174     0       0       -0.834 
    175 173     HW      TIP3    0       2.1789  9.9393  13.2831 HW      172     0       0       0       0.417   
    176 174     HW      TIP3    0       2.1789  9.9393  12.2751 HW      172     0       0       0       0.417   
    177 175     OW      TIP3    0       1.4199  12.7791 1.4199  OW      176     177     0       0       -0.834 
    178 176     HW      TIP3    0       2.1789  12.7791 1.9239  HW      175     0       0       0       0.417   
    179 177     HW      TIP3    0       2.1789  12.7791 0.9159  HW      175     0       0       0       0.417   
    180 178     OW      TIP3    0       1.4199  12.7791 4.2597  OW      179     180     0       0       -0.834 
    181 179     HW      TIP3    0       2.1789  12.7791 4.7637  HW      178     0       0       0       0.417   
    182 180     HW      TIP3    0       2.1789  12.7791 3.7557  HW      178     0       0       0       0.417   
    183 181     OW      TIP3    0       1.4199  12.7791 7.0995  OW      182     183     0       0       -0.834 
    184 182     HW      TIP3    0       2.1789  12.7791 7.6035  HW      181     0       0       0       0.417   
    185 183     HW      TIP3    0       2.1789  12.7791 6.5955  HW      181     0       0       0       0.417   
    186 184     OW      TIP3    0       1.4199  12.7791 9.9393  OW      185     186     0       0       -0.834 
    187 185     HW      TIP3    0       2.1789  12.7791 10.4433 HW      184     0       0       0       0.417   
    188 186     HW      TIP3    0       2.1789  12.7791 9.4353  HW      184     0       0       0       0.417   
    189 187     OW      TIP3    0       1.4199  12.7791 12.7791 OW      188     189     0       0       -0.834 
    190 188     HW      TIP3    0       2.1789  12.7791 13.2831 HW      187     0       0       0       0.417   
    191 189     HW      TIP3    0       2.1789  12.7791 12.2751 HW      187     0       0       0       0.417   
    192 190     OW      TIP3    0       4.2597  1.4199  1.4199  OW      191     192     0       0       -0.834 
    193 191     HW      TIP3    0       5.0187  1.4199  1.9239  HW      190     0       0       0       0.417   
    194 192     HW      TIP3    0       5.0187  1.4199  0.9159  HW      190     0       0       0       0.417   
    195 193     OW      TIP3    0       4.2597  1.4199  4.2597  OW      194     195     0       0       -0.834 
    196 194     HW      TIP3    0       5.0187  1.4199  4.7637  HW      193     0       0       0       0.417   
    197 195     HW      TIP3    0       5.0187  1.4199  3.7557  HW      193     0       0       0       0.417   
    198 196     OW      TIP3    0       4.2597  1.4199  7.0995  OW      197     198     0       0       -0.834 
    199 197     HW      TIP3    0       5.0187  1.4199  7.6035  HW      196     0       0       0       0.417   
    200 198     HW      TIP3    0       5.0187  1.4199  6.5955  HW      196     0       0       0       0.417   
    201 199     OW      TIP3    0       4.2597  1.4199  9.9393  OW      200     201     0       0       -0.834 
    202 200     HW      TIP3    0       5.0187  1.4199  10.4433 HW      199     0       0       0       0.417   
    203 201     HW      TIP3    0       5.0187  1.4199  9.4353  HW      199     0       0       0       0.417   
    204 202     OW      TIP3    0       4.2597  1.4199  12.7791 OW      203     204     0       0       -0.834 
    205 203     HW      TIP3    0       5.0187  1.4199  13.2831 HW      202     0       0       0       0.417   
    206 204     HW      TIP3    0       5.0187  1.4199  12.2751 HW      202     0       0       0       0.417   
    207 205     OW      TIP3    0       4.2597  4.2597  1.4199  OW      206     207     0       0       -0.834 
    208 206     HW      TIP3    0       5.0187  4.2597  1.9239  HW      205     0       0       0       0.417   
    209 207     HW      TIP3    0       5.0187  4.2597  0.9159  HW      205     0       0       0       0.417   
    210 208     OW      TIP3    0       4.2597  4.2597  4.2597  OW      209     210     0       0       -0.834 
    211 209     HW      TIP3    0       5.0187  4.2597  4.7637  HW      208     0       0       0       0.417   
    212 210     HW      TIP3    0       5.0187  4.2597  3.7557  HW      208     0       0       0       0.417   
    213 211     OW      TIP3    0       4.2597  4.2597  7.0995  OW      212     213     0       0       -0.834 
    214 212     HW      TIP3    0       5.0187  4.2597  7.6035  HW      211     0       0       0       0.417   
    215 213     HW      TIP3    0       5.0187  4.2597  6.5955  HW      211     0       0       0       0.417   
    216 214     OW      TIP3    0       4.2597  4.2597  9.9393  OW      215     216     0       0       -0.834 
    217 215     HW      TIP3    0       5.0187  4.2597  10.4433 HW      214     0       0       0       0.417   
    218 216     HW      TIP3    0       5.0187  4.2597  9.4353  HW      214     0       0       0       0.417   
    219 217     OW      TIP3    0       4.2597  4.2597  12.7791 OW      218     219     0       0       -0.834 
    220 218     HW      TIP3    0       5.0187  4.2597  13.2831 HW      217     0       0       0       0.417   
    221 219     HW      TIP3    0       5.0187  4.2597  12.2751 HW      217     0       0       0       0.417   
    222 220     OW      TIP3    0       4.2597  7.0995  1.4199  OW      221     222     0       0       -0.834 
    223 221     HW      TIP3    0       5.0187  7.0995  1.9239  HW      220     0       0       0       0.417   
    224 222     HW      TIP3    0       5.0187  7.0995  0.9159  HW      220     0       0       0       0.417   
    225 223     OW      TIP3    0       4.2597  7.0995  4.2597  OW      224     225     0       0       -0.834 
    226 224     HW      TIP3    0       5.0187  7.0995  4.7637  HW      223     0       0       0       0.417   
    227 225     HW      TIP3    0       5.0187  7.0995  3.7557  HW      223     0       0       0       0.417   
    228 226     OW      TIP3    0       4.2597  7.0995  7.0995  OW      227     228     0       0       -0.834 
    229 227     HW      TIP3    0       5.0187  7.0995  7.6035  HW      226     0       0       0       0.417   
    230 228     HW      TIP3    0       5.0187  7.0995  6.5955  HW      226     0       0       0       0.417   
    231 229     OW      TIP3    0       4.2597  7.0995  9.9393  OW      230     231     0       0       -0.834 
    232 230     HW      TIP3    0       5.0187  7.0995  10.4433 HW      229     0       0       0       0.417   
    233 231     HW      TIP3    0       5.0187  7.0995  9.4353  HW      229     0       0       0       0.417   
    234 232     OW      TIP3    0       4.2597  7.0995  12.7791 OW      233     234     0       0       -0.834 
    235 233     HW      TIP3    0       5.0187  7.0995  13.2831 HW      232     0       0       0       0.417   
    236 234     HW      TIP3    0       5.0187  7.0995  12.2751 HW      232     0       0       0       0.417   
    237 235     OW      TIP3    0       4.2597  9.9393  1.4199  OW      236     237     0       0       -0.834 
    238 236     HW      TIP3    0       5.0187  9.9393  1.9239  HW      235     0       0       0       0.417   
    239 237     HW      TIP3    0       5.0187  9.9393  0.9159  HW      235     0       0       0       0.417   
    240 238     OW      TIP3    0       4.2597  9.9393  4.2597  OW      239     240     0       0       -0.834 
    241 239     HW      TIP3    0       5.0187  9.9393  4.7637  HW      238     0       0       0       0.417   
    242 240     HW      TIP3    0       5.0187  9.9393  3.7557  HW      238     0       0       0       0.417   
    243 241     OW      TIP3    0       4.2597  9.9393  7.0995  OW      242     243     0       0       -0.834 
    244 242     HW      TIP3    0       5.0187  9.9393  7.6035  HW      241     0       0       0       0.417   
    245 243     HW      TIP3    0       5.0187  9.9393  6.5955  HW      241     0       0       0       0.417   
    246 244     OW      TIP3    0       4.2597  9.9393  9.9393  OW      245     246     0       0       -0.834 
    247 245     HW      TIP3    0       5.0187  9.9393  10.4433 HW      244     0       0       0       0.417   
    248 246     HW      TIP3    0       5.0187  9.9393  9.4353  HW      244     0       0       0       0.417   
    249 247     OW      TIP3    0       4.2597  9.9393  12.7791 OW      248     249     0       0       -0.834 
    250 248     HW      TIP3    0       5.0187  9.9393  13.2831 HW      247     0       0       0       0.417   
    251 249     HW      TIP3    0       5.0187  9.9393  12.2751 HW      247     0       0       0       0.417   
    252 250     OW      TIP3    0       4.2597  12.7791 1.4199  OW      251     252     0       0       -0.834 
    253 251     HW      TIP3    0       5.0187  12.7791 1.9239  HW      250     0       0       0       0.417   
    254 252     HW      TIP3    0       5.0187  12.7791 0.9159  HW      250     0       0       0       0.417   
    255 253     OW      TIP3    0       4.2597  12.7791 4.2597  OW      254     255     0       0       -0.834 
    256 254     HW      TIP3    0       5.0187  12.7791 4.7637  HW      253     0       0       0       0.417   
    257 255     HW      TIP3    0       5.0187  12.7791 3.7557  HW      253     0       0       0       0.417   
    258 256     OW      TIP3    0       4.2597  12.7791 7.0995  OW      257     258     0       0       -0.834 
    259 257     HW      TIP3    0       5.0187  12.7791 7.6035  HW      256     0       0       0       0.417   
    260 258     HW      TIP3    0       5.0187  12.7791 6.5955  HW      256     0       0       0       0.417   
    261 259     OW      TIP3    0       4.2597  12.7791 9.9393  OW      260     261     0       0       -0.834 
    262 260     HW      TIP3    0       5.0187  12.7791 10.4433 HW      259     0       0       0       0.417   
    263 261     HW      TIP3    0       5.0187  12.7791 9.4353  HW      259     0       0       0       0.417   
    264 262     OW      TIP3    0       4.2597  12.7791 12.7791 OW      263     264     0       0       -0.834 
    265 263     HW      TIP3    0       5.0187  12.7791 13.2831 HW      262     0       0       0       0.417   
    266 264     HW      TIP3    0       5.0187  12.7791 12.2751 HW      262     0       0       0       0.417   
    267 265     OW      TIP3    0       7.0995  1.4199  1.4199  OW      266     267     0       0       -0.834 
    268 266     HW      TIP3    0       7.8585  1.4199  1.9239  HW      265     0       0       0       0.417   
    269 267     HW      TIP3    0       7.8585  1.4199  0.9159  HW      265     0       0       0       0.417   
    270 268     OW      TIP3    0       7.0995  1.4199  4.2597  OW      269     270     0       0       -0.834 
    271 269     HW      TIP3    0       7.8585  1.4199  4.7637  HW      268     0       0       0       0.417   
    272 270     HW      TIP3    0       7.8585  1.4199  3.7557  HW      268     0       0       0       0.417   
    273 271     OW      TIP3    0       7.0995  1.4199  7.0995  OW      272     273     0       0       -0.834 
    274 272     HW      TIP3    0       7.8585  1.4199  7.6035  HW      271     0       0       0       0.417   
    275 273     HW      TIP3    0       7.8585  1.4199  6.5955  HW      271     0       0       0       0.417   
    276 274     OW      TIP3    0       7.0995  1.4199  9.9393  OW      275     276     0       0       -0.834 
    277 275     HW      TIP3    0       7.8585  1.4199  10.4433 HW      274     0       0       0       0.417   
    278 276     HW      TIP3    0       7.8585  1.4199  9.4353  HW      274     0       0       0       0.417   
    279 277     OW      TIP3    0       7.0995  1.4199  12.7791 OW      278     279     0       0       -0.834 
    280 278     HW      TIP3    0       7.8585  1.4199  13.2831 HW      277     0       0       0       0.417   
    281 279     HW      TIP3    0       7.8585  1.4199  12.2751 HW      277     0       0       0       0.417   
    282 280     OW      TIP3    0       7.0995  4.2597  1.4199  OW      281     282     0       0       -0.834 
    283 281     HW      TIP3    0       7.8585  4.2597  1.9239  HW      280     0       0       0       0.417   
    284 282     HW      TIP3    0       7.8585  4.2597  0.9159  HW      280     0       0       0       0.417   
    285 283     OW      TIP3    0       7.0995  4.2597  4.2597  OW      284     285     0       0       -0.834 
    286 284     HW      TIP3    0       7.8585  4.2597  4.7637  HW      283     0       0       0       0.417   
    287 285     HW      TIP3    0       7.8585  4.2597  3.7557  HW      283     0       0       0       0.417   
    288 286     OW      TIP3    0       7.0995  4.2597  7.0995  OW      287     288     0       0       -0.834 
    289 287     HW      TIP3    0       7.8585  4.2597  7.6035  HW      286     0       0       0       0.417   
    290 288     HW      TIP3    0       7.8585  4.2597  6.5955  HW      286     0       0       0       0.417   
    291 289     OW      TIP3    0       7.0995  4.2597  9.9393  OW      290     291     0       0       -0.834 
    292 290     HW      TIP3    0       7.8585  4.2597  10.4433 HW      289     0       0       0       0.417   
    293 291     HW      TIP3    0       7.8585  4.2597  9.4353  HW      289     0       0       0       0.417   
    294 292     OW      TIP3    0       7.0995  4.2597  12.7791 OW      293     294     0       0       -0.834 
    295 293     HW      TIP3    0       7.8585  4.2597  13.2831 HW      292     0       0       0       0.417   
    296 294     HW      TIP3    0       7.8585  4.2597  12.2751 HW      292     0       0       0       0.417   
    297 295     OW      TIP3    0       7.0995  7.0995  1.4199  OW      296     297     0       0       -0.834 
    298 296     HW      TIP3    0       7.8585  7.0995  1.9239  HW      295     0       0       0       0.417   
    299 297     HW      TIP3    0       7.8585  7.0995  0.9159  HW      295     0       0       0       0.417   
    300 298     OW      TIP3    0       7.0995  7.0995  4.2597  OW      299     300     0       0       -0.834 
    301 299     HW      TIP3    0       7.8585  7.0995  4.7637  HW      298     0       0       0       0.417   
    302 300     HW      TIP3    0       7.8585  7.0995  3.7557  HW      298     0       0       0       0.417   
    303 301     OW      TIP3    0       7.0995  7.0995  7.0995  OW      302     303     0       0       -0.834 
    304 302     HW      TIP3    0       7.8585  7.0995  7.6035  HW      301     0       0       0       0.417   
    305 303     HW      TIP3    0       7.8585  7.0995  6.5955  HW      301     0       0       0       0.417   
    306 304     OW      TIP3    0       7.0995  7.0995  9.9393  OW      305     306     0       0       -0.834 
    307 305     HW      TIP3    0       7.8585  7.0995  10.4433 HW      304     0       0       0       0.417   
    308 306     HW      TIP3    0       7.8585  7.0995  9.4353  HW      304     0       0       0       0.417   
    309 307     OW      TIP3    0       7.0995  9.9393  1.4199  OW      308     309     0       0       -0.834 
    310 308     HW      TIP3    0       7.8585  9.9393  1.9239  HW      307     0       0       0       0.417   
    311 309     HW      TIP3    0       7.8585  9.9393  0.9159  HW      307     0       0       0       0.417   
    312 310     OW      TIP3    0       7.0995  9.9393  4.2597  OW      311     312     0       0       -0.834 
    313 311     HW      TIP3    0       7.8585  9.9393  4.7637  HW      310     0       0       0       0.417   
    314 312     HW      TIP3    0       7.8585  9.9393  3.7557  HW      310     0       0       0       0.417   
    315 313     OW      TIP3    0       7.0995  12.7791 1.4199  OW      314     315     0       0       -0.834 
    316 314     HW      TIP3    0       7.8585  12.7791 1.9239  HW      313     0       0       0       0.417   
    317 315     HW      TIP3    0       7.8585  12.7791 0.9159  HW      313     0       0       0       0.417   
    318 316     OW      TIP3    0       7.0995  12.7791 4.2597  OW      317     318     0       0       -0.834 
    319 317     HW      TIP3    0       7.8585  12.7791 4.7637  HW      316     0       0       0       0.417   
    320 318     HW      TIP3    0       7.8585  12.7791 3.7557  HW      316     0       0       0       0.417   
    321 319     OW      TIP3    0       9.9393  1.4199  1.4199  OW      320     321     0       0       -0.834 
    322 320     HW      TIP3    0       10.6983 1.4199  1.9239  HW      319     0       0       0       0.417   
    323 321     HW      TIP3    0       10.6983 1.4199  0.9159  HW      319     0       0       0       0.417   
    324 322     OW      TIP3    0       9.9393  1.4199  4.2597  OW      323     324     0       0       -0.834 
    325 323     HW      TIP3    0       10.6983 1.4199  4.7637  HW      322     0       0       0       0.417   
    326 324     HW      TIP3    0       10.6983 1.4199  3.7557  HW      322     0       0       0       0.417   
    327 325     OW      TIP3    0       9.9393  1.4199  7.0995  OW      326     327     0       0       -0.834 
    328 326     HW      TIP3    0       10.6983 1.4199  7.6035  HW      325     0       0       0       0.417   
    329 327     HW      TIP3    0       10.6983 1.4199  6.5955  HW      325     0       0       0       0.417   
    330 328     OW      TIP3    0       9.9393  1.4199  9.9393  OW      329     330     0       0       -0.834 
    331 329     HW      TIP3    0       10.6983 1.4199  10.4433 HW      328     0       0       0       0.417   
    332 330     HW      TIP3    0       10.6983 1.4199  9.4353  HW      328     0       0       0       0.417   
    333 331     OW      TIP3    0       9.9393  1.4199  12.7791 OW      332     333     0       0       -0.834 
    334 332     HW      TIP3    0       10.6983 1.4199  13.2831 HW      331     0       0       0       0.417   
    335 333     HW      TIP3    0       10.6983 1.4199  12.2751 HW      331     0       0       0       0.417   
    336 334     OW      TIP3    0       9.9393  4.2597  1.4199  OW      335     336     0       0       -0.834 
    337 335     HW      TIP3    0       10.6983 4.2597  1.9239  HW      334     0       0       0       0.417   
    338 336     HW      TIP3    0       10.6983 4.2597  0.9159  HW      334     0       0       0       0.417   
    339 337     OW      TIP3    0       9.9393  4.2597  4.2597  OW      338     339     0       0       -0.834 
    340 338     HW      TIP3    0       10.6983 4.2597  4.7637  HW      337     0       0       0       0.417   
    341 339     HW      TIP3    0       10.6983 4.2597  3.7557  HW      337     0       0       0       0.417   
    342 340     OW      TIP3    0       9.9393  4.2597  7.0995  OW      341     342     0       0       -0.834 
    343 341     HW      TIP3    0       10.6983 4.2597  7.6035  HW      340     0       0       0       0.417   
    344 342     HW      TIP3    0       10.6983 4.2597  6.5955  HW      340     0       0       0       0.417   
    345 343     OW      TIP3    0       9.9393  4.2597  9.9393  OW      344     345     0       0       -0.834 
    346 344     HW      TIP3    0       10.6983 4.2597  10.4433 HW      343     0       0       0       0.417   
    347 345     HW      TIP3    0       10.6983 4.2597  9.4353  HW      343     0       0       0       0.417   
    348 346     OW      TIP3    0       9.9393  4.2597  12.7791 OW      347     348     0       0       -0.834 
    349 347     HW      TIP3    0       10.6983 4.2597  13.2831 HW      346     0       0       0       0.417   
    350 348     HW      TIP3    0       10.6983 4.2597  12.2751 HW      346     0       0       0       0.417   
    351 349     OW      TIP3    0       9.9393  7.0995  1.4199  OW      350     351     0       0       -0.834 
    352 350     HW      TIP3    0       10.6983 7.0995  1.9239  HW      349     0       0       0       0.417   
    353 351     HW      TIP3    0       10.6983 7.0995  0.9159  HW      349     0       0       0       0.417   
    354 352     OW      TIP3    0       9.9393  7.0995  4.2597  OW      353     354     0       0       -0.834 
    355 353     HW      TIP3    0       10.6983 7.0995  4.7637  HW      352     0       0       0       0.417   
    356 354     HW      TIP3    0       10.6983 7.0995  3.7557  HW      352     0       0       0       0.417   
    357 355     OW      TIP3    0       9.9393  7.0995  7.0995  OW      356     357     0       0       -0.834 
    358 356     HW      TIP3    0       10.6983 7.0995  7.6035  HW      355     0       0       0       0.417   
    359 357     HW      TIP3    0       10.6983 7.0995  6.5955  HW      355     0       0       0       0.417   
    360 358     OW      TIP3    0       9.9393  7.0995  9.9393  OW      359     360     0       0       -0.834 
    361 359     HW      TIP3    0       10.6983 7.0995  10.4433 HW      358     0       0       0       0.417   
    362 360     HW      TIP3    0       10.6983 7.0995  9.4353  HW      358     0       0       0       0.417   
    363 361     OW      TIP3    0       9.9393  7.0995  12.7791 OW      362     363     0       0       -0.834 
    364 362     HW      TIP3    0       10.6983 7.0995  13.2831 HW      361     0       0       0       0.417   
    365 363     HW      TIP3    0       10.6983 7.0995  12.2751 HW      361     0       0       0       0.417   
    366 364     OW      TIP3    0       9.9393  9.9393  1.4199  OW      365     366     0       0       -0.834 
    367 365     HW      TIP3    0       10.6983 9.9393  1.9239  HW      364     0       0       0       0.417   
    368 366     HW      TIP3    0       10.6983 9.9393  0.9159  HW      364     0       0       0       0.417   
    369 367     OW      TIP3    0       9.9393  9.9393  4.2597  OW      368     369     0       0       -0.834 
    370 368     HW      TIP3    0       10.6983 9.9393  4.7637  HW      367     0       0       0       0.417   
    371 369     HW      TIP3    0       10.6983 9.9393  3.7557  HW      367     0       0       0       0.417   
    372 370     OW      TIP3    0       9.9393  9.9393  7.0995  OW      371     372     0       0       -0.834 
    373 371     HW      TIP3    0       10.6983 9.9393  7.6035  HW      370     0       0       0       0.417   
    374 372     HW      TIP3    0       10.6983 9.9393  6.5955  HW      370     0       0       0       0.417   
    375 373     OW      TIP3    0       9.9393  9.9393  9.9393  OW      374     375     0       0       -0.834 
    376 374     HW      TIP3    0       10.6983 9.9393  10.4433 HW      373     0       0       0       0.417   
    377 375     HW      TIP3    0       10.6983 9.9393  9.4353  HW      373     0       0       0       0.417   
    378 376     OW      TIP3    0       9.9393  9.9393  12.7791 OW      377     378     0       0       -0.834 
    379 377     HW      TIP3    0       10.6983 9.9393  13.2831 HW      376     0       0       0       0.417   
    380 378     HW      TIP3    0       10.6983 9.9393  12.2751 HW      376     0       0       0       0.417   
    381 379     OW      TIP3    0       9.9393  12.7791 1.4199  OW      380     381     0       0       -0.834 
    382 380     HW      TIP3    0       10.6983 12.7791 1.9239  HW      379     0       0       0       0.417   
    383 381     HW      TIP3    0       10.6983 12.7791 0.9159  HW      379     0       0       0       0.417   
    384 382     OW      TIP3    0       9.9393  12.7791 4.2597  OW      383     384     0       0       -0.834 
    385 383     HW      TIP3    0       10.6983 12.7791 4.7637  HW      382     0       0       0       0.417   
    386 384     HW      TIP3    0       10.6983 12.7791 3.7557  HW      382     0       0       0       0.417   
    387 385     OW      TIP3    0       9.9393  12.7791 7.0995  OW      386     387     0       0       -0.834 
    388 386     HW      TIP3    0       10.6983 12.7791 7.6035  HW      385     0       0       0       0.417   
    389 387     HW      TIP3    0       10.6983 12.7791 6.5955  HW      385     0       0       0       0.417   
    390 388     OW      TIP3    0       9.9393  12.7791 9.9393  OW      389     390     0       0       -0.834 
    391 389     HW      TIP3    0       10.6983 12.7791 10.4433 HW      388     0       0       0       0.417   
    392 390     HW      TIP3    0       10.6983 12.7791 9.4353  HW      388     0       0       0       0.417   
    393 391     OW      TIP3    0       9.9393  12.7791 12.7791 OW      392     393     0       0       -0.834 
    394 392     HW      TIP3    0       10.6983 12.7791 13.2831 HW      391     0       0       0       0.417   
    395 393     HW      TIP3    0       10.6983 12.7791 12.2751 HW      391     0       0       0       0.417   
    396 394     OW      TIP3    0       12.7791 1.4199  1.4199  OW      395     396     0       0       -0.834 
    397 395     HW      TIP3    0       13.5381 1.4199  1.9239  HW      394     0       0       0       0.417   
    398 396     HW      TIP3    0       13.5381 1.4199  0.9159  HW      394     0       0       0       0.417   
    399 397     OW      TIP3    0       12.7791 1.4199  4.2597  OW      398     399     0       0       -0.834 
    400 398     HW      TIP3    0       13.5381 1.4199  4.7637  HW      397     0       0       0       0.417   
    401 399     HW      TIP3    0       13.5381 1.4199  3.7557  HW      397     0       0       0       0.417   
    402 400     OW      TIP3    0       12.7791 1.4199  7.0995  OW      401     402     0       0       -0.834 
    403 401     HW      TIP3    0       13.5381 1.4199  7.6035  HW      400     0       0       0       0.417   
    404 402     HW      TIP3    0       13.5381 1.4199  6.5955  HW      400     0       0       0       0.417   
    405 403     OW      TIP3    0       12.7791 1.4199  9.9393  OW      404     405     0       0       -0.834 
    406 404     HW      TIP3    0       13.5381 1.4199  10.4433 HW      403     0       0       0       0.417   
    407 405     HW      TIP3    0       13.5381 1.4199  9.4353  HW      403     0       0       0       0.417   
    408 406     OW      TIP3    0       12.7791 1.4199  12.7791 OW      407     408     0       0       -0.834 
    409 407     HW      TIP3    0       13.5381 1.4199  13.2831 HW      406     0       0       0       0.417   
    410 408     HW      TIP3    0       13.5381 1.4199  12.2751 HW      406     0       0       0       0.417   
    411 409     OW      TIP3    0       12.7791 4.2597  1.4199  OW      410     411     0       0       -0.834 
    412 410     HW      TIP3    0       13.5381 4.2597  1.9239  HW      409     0       0       0       0.417   
    413 411     HW      TIP3    0       13.5381 4.2597  0.9159  HW      409     0       0       0       0.417   
    414 412     OW      TIP3    0       12.7791 4.2597  4.2597  OW      413     414     0       0       -0.834 
    415 413     HW      TIP3    0       13.5381 4.2597  4.7637  HW      412     0       0       0       0.417   
    416 414     HW      TIP3    0       13.5381 4.2597  3.7557  HW      412     0       0       0       0.417   
    417 415     OW      TIP3    0       12.7791 4.2597  7.0995  OW      416     417     0       0       -0.834 
    418 416     HW      TIP3    0       13.5381 4.2597  7.6035  HW      415     0       0       0       0.417   
    419 417     HW      TIP3    0       13.5381 4.2597  6.5955  HW      415     0       0       0       0.417   
    420 418     OW      TIP3    0       12.7791 4.2597  9.9393  OW      419     420     0       0       -0.834 
    421 419     HW      TIP3    0       13.5381 4.2597  10.4433 HW      418     0       0       0       0.417   
    422 420     HW      TIP3    0       13.5381 4.2597  9.4353  HW      418     0       0       0       0.417   
    423 421     OW      TIP3    0       12.7791 4.2597  12.7791 OW      422     423     0       0       -0.834 
    424 422     HW      TIP3    0       13.5381 4.2597  13.2831 HW      421     0       0       0       0.417   
    425 423     HW      TIP3    0       13.5381 4.2597  12.2751 HW      421     0       0       0       0.417   
    426 424     OW      TIP3    0       12.7791 7.0995  1.4199  OW      425     426     0       0       -0.834 
    427 425     HW      TIP3    0       13.5381 7.0995  1.9239  HW      424     0       0       0       0.417   
    428 426     HW      TIP3    0       13.5381 7.0995  0.9159  HW      424     0       0       0       0.417   
    429 427     OW      TIP3    0       12.7791 7.0995  4.2597  OW      428     429     0       0       -0.834 
    430 428     HW      TIP3    0       13.5381 7.0995  4.7637  HW      427     0       0       0       0.417   
    431 429     HW      TIP3    0       13.5381 7.0995  3.7557  HW      427     0       0       0       0.417   
    432 430     OW      TIP3    0       12.7791 7.0995  7.0995  OW      431     432     0       0       -0.834 
    433 431     HW      TIP3    0       13.5381 7.0995  7.6035  HW      430     0       0       0       0.417   
    434 432     HW      TIP3    0       13.5381 7.0995  6.5955  HW      430     0       0       0       0.417   
    435 433     OW      TIP3    0       12.7791 7.0995  9.9393  OW      434     435     0       0       -0.834 
    436 434     HW      TIP3    0       13.5381 7.0995  10.4433 HW      433     0       0       0       0.417   
    437 435     HW      TIP3    0       13.5381 7.0995  9.4353  HW      433     0       0       0       0.417   
    438 436     OW      TIP3    0       12.7791 7.0995  12.7791 OW      437     438     0       0       -0.834 
    439 437     HW      TIP3    0       13.5381 7.0995  13.2831 HW      436     0       0       0       0.417   
    440 438     HW      TIP3    0       13.5381 7.0995  12.2751 HW      436     0       0       0       0.417   
    441 439     OW      TIP3    0       12.7791 9.9393  1.4199  OW      440     441     0       0       -0.834 
    442 440     HW      TIP3    0       13.5381 9.9393  1.9239  HW      439     0       0       0       0.417   
    443 441     HW      TIP3    0       13.5381 9.9393  0.9159  HW      439     0       0       0       0.417   
    444 442     OW      TIP3    0       12.7791 9.9393  4.2597  OW      443     444     0       0       -0.834 
    445 443     HW      TIP3    0       13.5381 9.9393  4.7637  HW      442     0       0       0       0.417   
    446 444     HW      TIP3    0       13.5381 9.9393  3.7557  HW      442     0       0       0       0.417   
    447 445     OW      TIP3    0       12.7791 9.9393  7.0995  OW      446     447     0       0       -0.834 
    448 446     HW      TIP3    0       13.5381 9.9393  7.6035  HW      445     0       0       0       0.417   
    449 447     HW      TIP3    0       13.5381 9.9393  6.5955  HW      445     0       0       0       0.417   
    450 448     OW      TIP3    0       12.7791 9.9393  9.9393  OW      449     450     0       0       -0.834 
    451 449     HW      TIP3    0       13.5381 9.9393  10.4433 HW      448     0       0       0       0.417   
    452 450     HW      TIP3    0       13.5381 9.9393  9.4353  HW      448     0       0       0       0.417   
    453 451     OW      TIP3    0       12.7791 9.9393  12.7791 OW      452     453     0       0       -0.834 
    454 452     HW      TIP3    0       13.5381 9.9393  13.2831 HW      451     0       0       0       0.417   
    455 453     HW      TIP3    0       13.5381 9.9393  12.2751 HW      451     0       0       0       0.417   
    456 454     OW      TIP3    0       12.7791 12.7791 1.4199  OW      455     456     0       0       -0.834 
    457 455     HW      TIP3    0       13.5381 12.7791 1.9239  HW      454     0       0       0       0.417   
    458 456     HW      TIP3    0       13.5381 12.7791 0.9159  HW      454     0       0       0       0.417   
    459 457     OW      TIP3    0       12.7791 12.7791 4.2597  OW      458     459     0       0       -0.834 
    460 458     HW      TIP3    0       13.5381 12.7791 4.7637  HW      457     0       0       0       0.417   
    461 459     HW      TIP3    0       13.5381 12.7791 3.7557  HW      457     0       0       0       0.417   
    462 460     OW      TIP3    0       12.7791 12.7791 7.0995  OW      461     462     0       0       -0.834 
    463 461     HW      TIP3    0       13.5381 12.7791 7.6035  HW      460     0       0       0       0.417   
    464 462     HW      TIP3    0       13.5381 12.7791 6.5955  HW      460     0       0       0       0.417   
    465 463     OW      TIP3    0       12.7791 12.7791 9.9393  OW      464     465     0       0       -0.834 
    466 464     HW      TIP3    0       13.5381 12.7791 10.4433 HW      463     0       0       0       0.417   
    467 465     HW      TIP3    0       13.5381 12.7791 9.4353  HW      463     0       0       0       0.417   
    468 466     OW      TIP3    0       12.7791 12.7791 12.7791 OW      467     468     0       0       -0.834 
    469 467     HW      TIP3    0       13.5381 12.7791 13.2831 HW      466     0       0       0       0.417   
    470 468     HW      TIP3    0       13.5381 12.7791 12.2751 HW      466     0       0       0       0.417   
     117115     OW      TIP3    0       1.4199  1.4199  1.9239  OW      116     117     0       0       -0.834 
     118116     HW      TIP3    0       2.1789  1.4199  2.4279  HW      115     0       0       0       0.417   
     119117     HW      TIP3    0       2.1789  1.4199  1.4199  HW      115     0       0       0       0.417   
     120118     OW      TIP3    0       1.4199  1.4199  4.7637  OW      119     120     0       0       -0.834 
     121119     HW      TIP3    0       2.1789  1.4199  5.2677  HW      118     0       0       0       0.417   
     122120     HW      TIP3    0       2.1789  1.4199  4.2597  HW      118     0       0       0       0.417   
     123121     OW      TIP3    0       1.4199  1.4199  7.6035  OW      122     123     0       0       -0.834 
     124122     HW      TIP3    0       2.1789  1.4199  8.1075  HW      121     0       0       0       0.417   
     125123     HW      TIP3    0       2.1789  1.4199  7.0995  HW      121     0       0       0       0.417   
     126124     OW      TIP3    0       1.4199  1.4199  10.4433 OW      125     126     0       0       -0.834 
     127125     HW      TIP3    0       2.1789  1.4199  10.9473 HW      124     0       0       0       0.417   
     128126     HW      TIP3    0       2.1789  1.4199  9.9393  HW      124     0       0       0       0.417   
     129127     OW      TIP3    0       1.4199  1.4199  13.2831 OW      128     129     0       0       -0.834 
     130128     HW      TIP3    0       2.1789  1.4199  13.7871 HW      127     0       0       0       0.417   
     131129     HW      TIP3    0       2.1789  1.4199  12.7791 HW      127     0       0       0       0.417   
     132130     OW      TIP3    0       1.4199  4.2597  1.9239  OW      131     132     0       0       -0.834 
     133131     HW      TIP3    0       2.1789  4.2597  2.4279  HW      130     0       0       0       0.417   
     134132     HW      TIP3    0       2.1789  4.2597  1.4199  HW      130     0       0       0       0.417   
     135133     OW      TIP3    0       1.4199  4.2597  4.7637  OW      134     135     0       0       -0.834 
     136134     HW      TIP3    0       2.1789  4.2597  5.2677  HW      133     0       0       0       0.417   
     137135     HW      TIP3    0       2.1789  4.2597  4.2597  HW      133     0       0       0       0.417   
     138136     OW      TIP3    0       1.4199  4.2597  7.6035  OW      137     138     0       0       -0.834 
     139137     HW      TIP3    0       2.1789  4.2597  8.1075  HW      136     0       0       0       0.417   
     140138     HW      TIP3    0       2.1789  4.2597  7.0995  HW      136     0       0       0       0.417   
     141139     OW      TIP3    0       1.4199  4.2597  10.4433 OW      140     141     0       0       -0.834 
     142140     HW      TIP3    0       2.1789  4.2597  10.9473 HW      139     0       0       0       0.417   
     143141     HW      TIP3    0       2.1789  4.2597  9.9393  HW      139     0       0       0       0.417   
     144142     OW      TIP3    0       1.4199  4.2597  13.2831 OW      143     144     0       0       -0.834 
     145143     HW      TIP3    0       2.1789  4.2597  13.7871 HW      142     0       0       0       0.417   
     146144     HW      TIP3    0       2.1789  4.2597  12.7791 HW      142     0       0       0       0.417   
     147145     OW      TIP3    0       1.4199  7.0995  1.9239  OW      146     147     0       0       -0.834 
     148146     HW      TIP3    0       2.1789  7.0995  2.4279  HW      145     0       0       0       0.417   
     149147     HW      TIP3    0       2.1789  7.0995  1.4199  HW      145     0       0       0       0.417   
     150148     OW      TIP3    0       1.4199  7.0995  4.7637  OW      149     150     0       0       -0.834 
     151149     HW      TIP3    0       2.1789  7.0995  5.2677  HW      148     0       0       0       0.417   
     152150     HW      TIP3    0       2.1789  7.0995  4.2597  HW      148     0       0       0       0.417   
     153151     OW      TIP3    0       1.4199  7.0995  7.6035  OW      152     153     0       0       -0.834 
     154152     HW      TIP3    0       2.1789  7.0995  8.1075  HW      151     0       0       0       0.417   
     155153     HW      TIP3    0       2.1789  7.0995  7.0995  HW      151     0       0       0       0.417   
     156154     OW      TIP3    0       1.4199  7.0995  10.4433 OW      155     156     0       0       -0.834 
     157155     HW      TIP3    0       2.1789  7.0995  10.9473 HW      154     0       0       0       0.417   
     158156     HW      TIP3    0       2.1789  7.0995  9.9393  HW      154     0       0       0       0.417   
     159157     OW      TIP3    0       1.4199  7.0995  13.2831 OW      158     159     0       0       -0.834 
     160158     HW      TIP3    0       2.1789  7.0995  13.7871 HW      157     0       0       0       0.417   
     161159     HW      TIP3    0       2.1789  7.0995  12.7791 HW      157     0       0       0       0.417   
     162160     OW      TIP3    0       1.4199  9.9393  1.9239  OW      161     162     0       0       -0.834 
     163161     HW      TIP3    0       2.1789  9.9393  2.4279  HW      160     0       0       0       0.417   
     164162     HW      TIP3    0       2.1789  9.9393  1.4199  HW      160     0       0       0       0.417   
     165163     OW      TIP3    0       1.4199  9.9393  4.7637  OW      164     165     0       0       -0.834 
     166164     HW      TIP3    0       2.1789  9.9393  5.2677  HW      163     0       0       0       0.417   
     167165     HW      TIP3    0       2.1789  9.9393  4.2597  HW      163     0       0       0       0.417   
     168166     OW      TIP3    0       1.4199  9.9393  7.6035  OW      167     168     0       0       -0.834 
     169167     HW      TIP3    0       2.1789  9.9393  8.1075  HW      166     0       0       0       0.417   
     170168     HW      TIP3    0       2.1789  9.9393  7.0995  HW      166     0       0       0       0.417   
     171169     OW      TIP3    0       1.4199  9.9393  10.4433 OW      170     171     0       0       -0.834 
     172170     HW      TIP3    0       2.1789  9.9393  10.9473 HW      169     0       0       0       0.417   
     173171     HW      TIP3    0       2.1789  9.9393  9.9393  HW      169     0       0       0       0.417   
     174172     OW      TIP3    0       1.4199  9.9393  13.2831 OW      173     174     0       0       -0.834 
     175173     HW      TIP3    0       2.1789  9.9393  13.7871 HW      172     0       0       0       0.417   
     176174     HW      TIP3    0       2.1789  9.9393  12.7791 HW      172     0       0       0       0.417   
     177175     OW      TIP3    0       1.4199  12.7791 1.9239  OW      176     177     0       0       -0.834 
     178176     HW      TIP3    0       2.1789  12.7791 2.4279  HW      175     0       0       0       0.417   
     179177     HW      TIP3    0       2.1789  12.7791 1.4199  HW      175     0       0       0       0.417   
     180178     OW      TIP3    0       1.4199  12.7791 4.7637  OW      179     180     0       0       -0.834 
     181179     HW      TIP3    0       2.1789  12.7791 5.2677  HW      178     0       0       0       0.417   
     182180     HW      TIP3    0       2.1789  12.7791 4.2597  HW      178     0       0       0       0.417   
     183181     OW      TIP3    0       1.4199  12.7791 7.6035  OW      182     183     0       0       -0.834 
     184182     HW      TIP3    0       2.1789  12.7791 8.1075  HW      181     0       0       0       0.417   
     185183     HW      TIP3    0       2.1789  12.7791 7.0995  HW      181     0       0       0       0.417   
     186184     OW      TIP3    0       1.4199  12.7791 10.4433 OW      185     186     0       0       -0.834 
     187185     HW      TIP3    0       2.1789  12.7791 10.9473 HW      184     0       0       0       0.417   
     188186     HW      TIP3    0       2.1789  12.7791 9.9393  HW      184     0       0       0       0.417   
     189187     OW      TIP3    0       1.4199  12.7791 13.2831 OW      188     189     0       0       -0.834 
     190188     HW      TIP3    0       2.1789  12.7791 13.7871 HW      187     0       0       0       0.417   
     191189     HW      TIP3    0       2.1789  12.7791 12.7791 HW      187     0       0       0       0.417   
     192190     OW      TIP3    0       4.2597  1.4199  1.9239  OW      191     192     0       0       -0.834 
     193191     HW      TIP3    0       5.0187  1.4199  2.4279  HW      190     0       0       0       0.417   
     194192     HW      TIP3    0       5.0187  1.4199  1.4199  HW      190     0       0       0       0.417   
     195193     OW      TIP3    0       4.2597  1.4199  4.7637  OW      194     195     0       0       -0.834 
     196194     HW      TIP3    0       5.0187  1.4199  5.2677  HW      193     0       0       0       0.417   
     197195     HW      TIP3    0       5.0187  1.4199  4.2597  HW      193     0       0       0       0.417   
     198196     OW      TIP3    0       4.2597  1.4199  7.6035  OW      197     198     0       0       -0.834 
     199197     HW      TIP3    0       5.0187  1.4199  8.1075  HW      196     0       0       0       0.417   
     200198     HW      TIP3    0       5.0187  1.4199  7.0995  HW      196     0       0       0       0.417   
     201199     OW      TIP3    0       4.2597  1.4199  10.4433 OW      200     201     0       0       -0.834 
     202200     HW      TIP3    0       5.0187  1.4199  10.9473 HW      199     0       0       0       0.417   
     203201     HW      TIP3    0       5.0187  1.4199  9.9393  HW      199     0       0       0       0.417   
     204202     OW      TIP3    0       4.2597  1.4199  13.2831 OW      203     204     0       0       -0.834 
     205203     HW      TIP3    0       5.0187  1.4199  13.7871 HW      202     0       0       0       0.417   
     206204     HW      TIP3    0       5.0187  1.4199  12.7791 HW      202     0       0       0       0.417   
     207205     OW      TIP3    0       4.2597  4.2597  1.9239  OW      206     207     0       0       -0.834 
     208206     HW      TIP3    0       5.0187  4.2597  2.4279  HW      205     0       0       0       0.417   
     209207     HW      TIP3    0       5.0187  4.2597  1.4199  HW      205     0       0       0       0.417   
     210208     OW      TIP3    0       4.2597  4.2597  4.7637  OW      209     210     0       0       -0.834 
     211209     HW      TIP3    0       5.0187  4.2597  5.2677  HW      208     0       0       0       0.417   
     212210     HW      TIP3    0       5.0187  4.2597  4.2597  HW      208     0       0       0       0.417   
     213211     OW      TIP3    0       4.2597  4.2597  7.6035  OW      212     213     0       0       -0.834 
     214212     HW      TIP3    0       5.0187  4.2597  8.1075  HW      211     0       0       0       0.417   
     215213     HW      TIP3    0       5.0187  4.2597  7.0995  HW      211     0       0       0       0.417   
     216214     OW      TIP3    0       4.2597  4.2597  10.4433 OW      215     216     0       0       -0.834 
     217215     HW      TIP3    0       5.0187  4.2597  10.9473 HW      214     0       0       0       0.417   
     218216     HW      TIP3    0       5.0187  4.2597  9.9393  HW      214     0       0       0       0.417   
     219217     OW      TIP3    0       4.2597  4.2597  13.2831 OW      218     219     0       0       -0.834 
     220218     HW      TIP3    0       5.0187  4.2597  13.7871 HW      217     0       0       0       0.417   
     221219     HW      TIP3    0       5.0187  4.2597  12.7791 HW      217     0       0       0       0.417   
     222220     OW      TIP3    0       4.2597  7.0995  1.9239  OW      221     222     0       0       -0.834 
     223221     HW      TIP3    0       5.0187  7.0995  2.4279  HW      220     0       0       0       0.417   
     224222     HW      TIP3    0       5.0187  7.0995  1.4199  HW      220     0       0       0       0.417   
     225223     OW      TIP3    0       4.2597  7.0995  4.7637  OW      224     225     0       0       -0.834 
     226224     HW      TIP3    0       5.0187  7.0995  5.2677  HW      223     0       0       0       0.417   
     227225     HW      TIP3    0       5.0187  7.0995  4.2597  HW      223     0       0       0       0.417   
     228226     OW      TIP3    0       4.2597  7.0995  7.6035  OW      227     228     0       0       -0.834 
     229227     HW      TIP3    0       5.0187  7.0995  8.1075  HW      226     0       0       0       0.417   
     230228     HW      TIP3    0       5.0187  7.0995  7.0995  HW      226     0       0       0       0.417   
     231229     OW      TIP3    0       4.2597  7.0995  10.4433 OW      230     231     0       0       -0.834 
     232230     HW      TIP3    0       5.0187  7.0995  10.9473 HW      229     0       0       0       0.417   
     233231     HW      TIP3    0       5.0187  7.0995  9.9393  HW      229     0       0       0       0.417   
     234232     OW      TIP3    0       4.2597  7.0995  13.2831 OW      233     234     0       0       -0.834 
     235233     HW      TIP3    0       5.0187  7.0995  13.7871 HW      232     0       0       0       0.417   
     236234     HW      TIP3    0       5.0187  7.0995  12.7791 HW      232     0       0       0       0.417   
     237235     OW      TIP3    0       4.2597  9.9393  1.9239  OW      236     237     0       0       -0.834 
     238236     HW      TIP3    0       5.0187  9.9393  2.4279  HW      235     0       0       0       0.417   
     239237     HW      TIP3    0       5.0187  9.9393  1.4199  HW      235     0       0       0       0.417   
     240238     OW      TIP3    0       4.2597  9.9393  4.7637  OW      239     240     0       0       -0.834 
     241239     HW      TIP3    0       5.0187  9.9393  5.2677  HW      238     0       0       0       0.417   
     242240     HW      TIP3    0       5.0187  9.9393  4.2597  HW      238     0       0       0       0.417   
     243241     OW      TIP3    0       4.2597  9.9393  7.6035  OW      242     243     0       0       -0.834 
     244242     HW      TIP3    0       5.0187  9.9393  8.1075  HW      241     0       0       0       0.417   
     245243     HW      TIP3    0       5.0187  9.9393  7.0995  HW      241     0       0       0       0.417   
     246244     OW      TIP3    0       4.2597  9.9393  10.4433 OW      245     246     0       0       -0.834 
     247245     HW      TIP3    0       5.0187  9.9393  10.9473 HW      244     0       0       0       0.417   
     248246     HW      TIP3    0       5.0187  9.9393  9.9393  HW      244     0       0       0       0.417   
     249247     OW      TIP3    0       4.2597  9.9393  13.2831 OW      248     249     0       0       -0.834 
     250248     HW      TIP3    0       5.0187  9.9393  13.7871 HW      247     0       0       0       0.417   
     251249     HW      TIP3    0       5.0187  9.9393  12.7791 HW      247     0       0       0       0.417   
     252250     OW      TIP3    0       4.2597  12.7791 1.9239  OW      251     252     0       0       -0.834 
     253251     HW      TIP3    0       5.0187  12.7791 2.4279  HW      250     0       0       0       0.417   
     254252     HW      TIP3    0       5.0187  12.7791 1.4199  HW      250     0       0       0       0.417   
     255253     OW      TIP3    0       4.2597  12.7791 4.7637  OW      254     255     0       0       -0.834 
     256254     HW      TIP3    0       5.0187  12.7791 5.2677  HW      253     0       0       0       0.417   
     257255     HW      TIP3    0       5.0187  12.7791 4.2597  HW      253     0       0       0       0.417   
     258256     OW      TIP3    0       4.2597  12.7791 7.6035  OW      257     258     0       0       -0.834 
     259257     HW      TIP3    0       5.0187  12.7791 8.1075  HW      256     0       0       0       0.417   
     260258     HW      TIP3    0       5.0187  12.7791 7.0995  HW      256     0       0       0       0.417   
     261259     OW      TIP3    0       4.2597  12.7791 10.4433 OW      260     261     0       0       -0.834 
     262260     HW      TIP3    0       5.0187  12.7791 10.9473 HW      259     0       0       0       0.417   
     263261     HW      TIP3    0       5.0187  12.7791 9.9393  HW      259     0       0       0       0.417   
     264262     OW      TIP3    0       4.2597  12.7791 13.2831 OW      263     264     0       0       -0.834 
     265263     HW      TIP3    0       5.0187  12.7791 13.7871 HW      262     0       0       0       0.417   
     266264     HW      TIP3    0       5.0187  12.7791 12.7791 HW      262     0       0       0       0.417   
     267265     OW      TIP3    0       7.0995  1.4199  1.9239  OW      266     267     0       0       -0.834 
     268266     HW      TIP3    0       7.8585  1.4199  2.4279  HW      265     0       0       0       0.417   
     269267     HW      TIP3    0       7.8585  1.4199  1.4199  HW      265     0       0       0       0.417   
     270268     OW      TIP3    0       7.0995  1.4199  4.7637  OW      269     270     0       0       -0.834 
     271269     HW      TIP3    0       7.8585  1.4199  5.2677  HW      268     0       0       0       0.417   
     272270     HW      TIP3    0       7.8585  1.4199  4.2597  HW      268     0       0       0       0.417   
     273271     OW      TIP3    0       7.0995  1.4199  7.6035  OW      272     273     0       0       -0.834 
     274272     HW      TIP3    0       7.8585  1.4199  8.1075  HW      271     0       0       0       0.417   
     275273     HW      TIP3    0       7.8585  1.4199  7.0995  HW      271     0       0       0       0.417   
     276274     OW      TIP3    0       7.0995  1.4199  10.4433 OW      275     276     0       0       -0.834 
     277275     HW      TIP3    0       7.8585  1.4199  10.9473 HW      274     0       0       0       0.417   
     278276     HW      TIP3    0       7.8585  1.4199  9.9393  HW      274     0       0       0       0.417   
     279277     OW      TIP3    0       7.0995  1.4199  13.2831 OW      278     279     0       0       -0.834 
     280278     HW      TIP3    0       7.8585  1.4199  13.7871 HW      277     0       0       0       0.417   
     281279     HW      TIP3    0       7.8585  1.4199  12.7791 HW      277     0       0       0       0.417   
     282280     OW      TIP3    0       7.0995  4.2597  1.9239  OW      281     282     0       0       -0.834 
     283281     HW      TIP3    0       7.8585  4.2597  2.4279  HW      280     0       0       0       0.417   
     284282     HW      TIP3    0       7.8585  4.2597  1.4199  HW      280     0       0       0       0.417   
     285283     OW      TIP3    0       7.0995  4.2597  4.7637  OW      284     285     0       0       -0.834 
     286284     HW      TIP3    0       7.8585  4.2597  5.2677  HW      283     0       0       0       0.417   
     287285     HW      TIP3    0       7.8585  4.2597  4.2597  HW      283     0       0       0       0.417   
     288286     OW      TIP3    0       7.0995  4.2597  7.6035  OW      287     288     0       0       -0.834 
     289287     HW      TIP3    0       7.8585  4.2597  8.1075  HW      286     0       0       0       0.417   
     290288     HW      TIP3    0       7.8585  4.2597  7.0995  HW      286     0       0       0       0.417   
     291289     OW      TIP3    0       7.0995  4.2597  10.4433 OW      290     291     0       0       -0.834 
     292290     HW      TIP3    0       7.8585  4.2597  10.9473 HW      289     0       0       0       0.417   
     293291     HW      TIP3    0       7.8585  4.2597  9.9393  HW      289     0       0       0       0.417   
     294292     OW      TIP3    0       7.0995  4.2597  13.2831 OW      293     294     0       0       -0.834 
     295293     HW      TIP3    0       7.8585  4.2597  13.7871 HW      292     0       0       0       0.417   
     296294     HW      TIP3    0       7.8585  4.2597  12.7791 HW      292     0       0       0       0.417   
     297295     OW      TIP3    0       7.0995  7.0995  1.9239  OW      296     297     0       0       -0.834 
     298296     HW      TIP3    0       7.8585  7.0995  2.4279  HW      295     0       0       0       0.417   
     299297     HW      TIP3    0       7.8585  7.0995  1.4199  HW      295     0       0       0       0.417   
     300298     OW      TIP3    0       7.0995  7.0995  4.7637  OW      299     300     0       0       -0.834 
     301299     HW      TIP3    0       7.8585  7.0995  5.2677  HW      298     0       0       0       0.417   
     302300     HW      TIP3    0       7.8585  7.0995  4.2597  HW      298     0       0       0       0.417   
     303301     OW      TIP3    0       7.0995  7.0995  7.6035  OW      302     303     0       0       -0.834 
     304302     HW      TIP3    0       7.8585  7.0995  8.1075  HW      301     0       0       0       0.417   
     305303     HW      TIP3    0       7.8585  7.0995  7.0995  HW      301     0       0       0       0.417   
     306304     OW      TIP3    0       7.0995  7.0995  10.4433 OW      305     306     0       0       -0.834 
     307305     HW      TIP3    0       7.8585  7.0995  10.9473 HW      304     0       0       0       0.417   
     308306     HW      TIP3    0       7.8585  7.0995  9.9393  HW      304     0       0       0       0.417   
     309307     OW      TIP3    0       7.0995  9.9393  1.9239  OW      308     309     0       0       -0.834 
     310308     HW      TIP3    0       7.8585  9.9393  2.4279  HW      307     0       0       0       0.417   
     311309     HW      TIP3    0       7.8585  9.9393  1.4199  HW      307     0       0       0       0.417   
     312310     OW      TIP3    0       7.0995  9.9393  4.7637  OW      311     312     0       0       -0.834 
     313311     HW      TIP3    0       7.8585  9.9393  5.2677  HW      310     0       0       0       0.417   
     314312     HW      TIP3    0       7.8585  9.9393  4.2597  HW      310     0       0       0       0.417   
     315313     OW      TIP3    0       7.0995  12.7791 1.9239  OW      314     315     0       0       -0.834 
     316314     HW      TIP3    0       7.8585  12.7791 2.4279  HW      313     0       0       0       0.417   
     317315     HW      TIP3    0       7.8585  12.7791 1.4199  HW      313     0       0       0       0.417   
     318316     OW      TIP3    0       7.0995  12.7791 4.7637  OW      317     318     0       0       -0.834 
     319317     HW      TIP3    0       7.8585  12.7791 5.2677  HW      316     0       0       0       0.417   
     320318     HW      TIP3    0       7.8585  12.7791 4.2597  HW      316     0       0       0       0.417   
     321319     OW      TIP3    0       9.9393  1.4199  1.9239  OW      320     321     0       0       -0.834 
     322320     HW      TIP3    0       10.6983 1.4199  2.4279  HW      319     0       0       0       0.417   
     323321     HW      TIP3    0       10.6983 1.4199  1.4199  HW      319     0       0       0       0.417   
     324322     OW      TIP3    0       9.9393  1.4199  4.7637  OW      323     324     0       0       -0.834 
     325323     HW      TIP3    0       10.6983 1.4199  5.2677  HW      322     0       0       0       0.417   
     326324     HW      TIP3    0       10.6983 1.4199  4.2597  HW      322     0       0       0       0.417   
     327325     OW      TIP3    0       9.9393  1.4199  7.6035  OW      326     327     0       0       -0.834 
     328326     HW      TIP3    0       10.6983 1.4199  8.1075  HW      325     0       0       0       0.417   
     329327     HW      TIP3    0       10.6983 1.4199  7.0995  HW      325     0       0       0       0.417   
     330328     OW      TIP3    0       9.9393  1.4199  10.4433 OW      329     330     0       0       -0.834 
     331329     HW      TIP3    0       10.6983 1.4199  10.9473 HW      328     0       0       0       0.417   
     332330     HW      TIP3    0       10.6983 1.4199  9.9393  HW      328     0       0       0       0.417   
     333331     OW      TIP3    0       9.9393  1.4199  13.2831 OW      332     333     0       0       -0.834 
     334332     HW      TIP3    0       10.6983 1.4199  13.7871 HW      331     0       0       0       0.417   
     335333     HW      TIP3    0       10.6983 1.4199  12.7791 HW      331     0       0       0       0.417   
     336334     OW      TIP3    0       9.9393  4.2597  1.9239  OW      335     336     0       0       -0.834 
     337335     HW      TIP3    0       10.6983 4.2597  2.4279  HW      334     0       0       0       0.417   
     338336     HW      TIP3    0       10.6983 4.2597  1.4199  HW      334     0       0       0       0.417   
     339337     OW      TIP3    0       9.9393  4.2597  4.7637  OW      338     339     0       0       -0.834 
     340338     HW      TIP3    0       10.6983 4.2597  5.2677  HW      337     0       0       0       0.417   
     341339     HW      TIP3    0       10.6983 4.2597  4.2597  HW      337     0       0       0       0.417   
     342340     OW      TIP3    0       9.9393  4.2597  7.6035  OW      341     342     0       0       -0.834 
     343341     HW      TIP3    0       10.6983 4.2597  8.1075  HW      340     0       0       0       0.417   
     344342     HW      TIP3    0       10.6983 4.2597  7.0995  HW      340     0       0       0       0.417   
     345343     OW      TIP3    0       9.9393  4.2597  10.4433 OW      344     345     0       0       -0.834 
     346344     HW      TIP3    0       10.6983 4.2597  10.9473 HW      343     0       0       0       0.417   
     347345     HW      TIP3    0       10.6983 4.2597  9.9393  HW      343     0       0       0       0.417   
     348346     OW      TIP3    0       9.9393  4.2597  13.2831 OW      347     348     0       0       -0.834 
     349347     HW      TIP3    0       10.6983 4.2597  13.7871 HW      346     0       0       0       0.417   
     350348     HW      TIP3    0       10.6983 4.2597  12.7791 HW      346     0       0       0       0.417   
     351349     OW      TIP3    0       9.9393  7.0995  1.9239  OW      350     351     0       0       -0.834 
     352350     HW      TIP3    0       10.6983 7.0995  2.4279  HW      349     0       0       0       0.417   
     353351     HW      TIP3    0       10.6983 7.0995  1.4199  HW      349     0       0       0       0.417   
     354352     OW      TIP3    0       9.9393  7.0995  4.7637  OW      353     354     0       0       -0.834 
     355353     HW      TIP3    0       10.6983 7.0995  5.2677  HW      352     0       0       0       0.417   
     356354     HW      TIP3    0       10.6983 7.0995  4.2597  HW      352     0       0       0       0.417   
     357355     OW      TIP3    0       9.9393  7.0995  7.6035  OW      356     357     0       0       -0.834 
     358356     HW      TIP3    0       10.6983 7.0995  8.1075  HW      355     0       0       0       0.417   
     359357     HW      TIP3    0       10.6983 7.0995  7.0995  HW      355     0       0       0       0.417   
     360358     OW      TIP3    0       9.9393  7.0995  10.4433 OW      359     360     0       0       -0.834 
     361359     HW      TIP3    0       10.6983 7.0995  10.9473 HW      358     0       0       0       0.417   
     362360     HW      TIP3    0       10.6983 7.0995  9.9393  HW      358     0       0       0       0.417   
     363361     OW      TIP3    0       9.9393  7.0995  13.2831 OW      362     363     0       0       -0.834 
     364362     HW      TIP3    0       10.6983 7.0995  13.7871 HW      361     0       0       0       0.417   
     365363     HW      TIP3    0       10.6983 7.0995  12.7791 HW      361     0       0       0       0.417   
     366364     OW      TIP3    0       9.9393  9.9393  1.9239  OW      365     366     0       0       -0.834 
     367365     HW      TIP3    0       10.6983 9.9393  2.4279  HW      364     0       0       0       0.417   
     368366     HW      TIP3    0       10.6983 9.9393  1.4199  HW      364     0       0       0       0.417   
     369367     OW      TIP3    0       9.9393  9.9393  4.7637  OW      368     369     0       0       -0.834 
     370368     HW      TIP3    0       10.6983 9.9393  5.2677  HW      367     0       0       0       0.417   
     371369     HW      TIP3    0       10.6983 9.9393  4.2597  HW      367     0       0       0       0.417   
     372370     OW      TIP3    0       9.9393  9.9393  7.6035  OW      371     372     0       0       -0.834 
     373371     HW      TIP3    0       10.6983 9.9393  8.1075  HW      370     0       0       0       0.417   
     374372     HW      TIP3    0       10.6983 9.9393  7.0995  HW      370     0       0       0       0.417   
     375373     OW      TIP3    0       9.9393  9.9393  10.4433 OW      374     375     0       0       -0.834 
     376374     HW      TIP3    0       10.6983 9.9393  10.9473 HW      373     0       0       0       0.417   
     377375     HW      TIP3    0       10.6983 9.9393  9.9393  HW      373     0       0       0       0.417   
     378376     OW      TIP3    0       9.9393  9.9393  13.2831 OW      377     378     0       0       -0.834 
     379377     HW      TIP3    0       10.6983 9.9393  13.7871 HW      376     0       0       0       0.417   
     380378     HW      TIP3    0       10.6983 9.9393  12.7791 HW      376     0       0       0       0.417   
     381379     OW      TIP3    0       9.9393  12.7791 1.9239  OW      380     381     0       0       -0.834 
     382380     HW      TIP3    0       10.6983 12.7791 2.4279  HW      379     0       0       0       0.417   
     383381     HW      TIP3    0       10.6983 12.7791 1.4199  HW      379     0       0       0       0.417   
     384382     OW      TIP3    0       9.9393  12.7791 4.7637  OW      383     384     0       0       -0.834 
     385383     HW      TIP3    0       10.6983 12.7791 5.2677  HW      382     0       0       0       0.417   
     386384     HW      TIP3    0       10.6983 12.7791 4.2597  HW      382     0       0       0       0.417   
     387385     OW      TIP3    0       9.9393  12.7791 7.6035  OW      386     387     0       0       -0.834 
     388386     HW      TIP3    0       10.6983 12.7791 8.1075  HW      385     0       0       0       0.417   
     389387     HW      TIP3    0       10.6983 12.7791 7.0995  HW      385     0       0       0       0.417   
     390388     OW      TIP3    0       9.9393  12.7791 10.4433 OW      389     390     0       0       -0.834 
     391389     HW      TIP3    0       10.6983 12.7791 10.9473 HW      388     0       0       0       0.417   
     392390     HW      TIP3    0       10.6983 12.7791 9.9393  HW      388     0       0       0       0.417   
     393391     OW      TIP3    0       9.9393  12.7791 13.2831 OW      392     393     0       0       -0.834 
     394392     HW      TIP3    0       10.6983 12.7791 13.7871 HW      391     0       0       0       0.417   
     395393     HW      TIP3    0       10.6983 12.7791 12.7791 HW      391     0       0       0       0.417   
     396394     OW      TIP3    0       12.7791 1.4199  1.9239  OW      395     396     0       0       -0.834 
     397395     HW      TIP3    0       13.5381 1.4199  2.4279  HW      394     0       0       0       0.417   
     398396     HW      TIP3    0       13.5381 1.4199  1.4199  HW      394     0       0       0       0.417   
     399397     OW      TIP3    0       12.7791 1.4199  4.7637  OW      398     399     0       0       -0.834 
     400398     HW      TIP3    0       13.5381 1.4199  5.2677  HW      397     0       0       0       0.417   
     401399     HW      TIP3    0       13.5381 1.4199  4.2597  HW      397     0       0       0       0.417   
     402400     OW      TIP3    0       12.7791 1.4199  7.6035  OW      401     402     0       0       -0.834 
     403401     HW      TIP3    0       13.5381 1.4199  8.1075  HW      400     0       0       0       0.417   
     404402     HW      TIP3    0       13.5381 1.4199  7.0995  HW      400     0       0       0       0.417   
     405403     OW      TIP3    0       12.7791 1.4199  10.4433 OW      404     405     0       0       -0.834 
     406404     HW      TIP3    0       13.5381 1.4199  10.9473 HW      403     0       0       0       0.417   
     407405     HW      TIP3    0       13.5381 1.4199  9.9393  HW      403     0       0       0       0.417   
     408406     OW      TIP3    0       12.7791 1.4199  13.2831 OW      407     408     0       0       -0.834 
     409407     HW      TIP3    0       13.5381 1.4199  13.7871 HW      406     0       0       0       0.417   
     410408     HW      TIP3    0       13.5381 1.4199  12.7791 HW      406     0       0       0       0.417   
     411409     OW      TIP3    0       12.7791 4.2597  1.9239  OW      410     411     0       0       -0.834 
     412410     HW      TIP3    0       13.5381 4.2597  2.4279  HW      409     0       0       0       0.417   
     413411     HW      TIP3    0       13.5381 4.2597  1.4199  HW      409     0       0       0       0.417   
     414412     OW      TIP3    0       12.7791 4.2597  4.7637  OW      413     414     0       0       -0.834 
     415413     HW      TIP3    0       13.5381 4.2597  5.2677  HW      412     0       0       0       0.417   
     416414     HW      TIP3    0       13.5381 4.2597  4.2597  HW      412     0       0       0       0.417   
     417415     OW      TIP3    0       12.7791 4.2597  7.6035  OW      416     417     0       0       -0.834 
     418416     HW      TIP3    0       13.5381 4.2597  8.1075  HW      415     0       0       0       0.417   
     419417     HW      TIP3    0       13.5381 4.2597  7.0995  HW      415     0       0       0       0.417   
     420418     OW      TIP3    0       12.7791 4.2597  10.4433 OW      419     420     0       0       -0.834 
     421419     HW      TIP3    0       13.5381 4.2597  10.9473 HW      418     0       0       0       0.417   
     422420     HW      TIP3    0       13.5381 4.2597  9.9393  HW      418     0       0       0       0.417   
     423421     OW      TIP3    0       12.7791 4.2597  13.2831 OW      422     423     0       0       -0.834 
     424422     HW      TIP3    0       13.5381 4.2597  13.7871 HW      421     0       0       0       0.417   
     425423     HW      TIP3    0       13.5381 4.2597  12.7791 HW      421     0       0       0       0.417   
     426424     OW      TIP3    0       12.7791 7.0995  1.9239  OW      425     426     0       0       -0.834 
     427425     HW      TIP3    0       13.5381 7.0995  2.4279  HW      424     0       0       0       0.417   
     428426     HW      TIP3    0       13.5381 7.0995  1.4199  HW      424     0       0       0       0.417   
     429427     OW      TIP3    0       12.7791 7.0995  4.7637  OW      428     429     0       0       -0.834 
     430428     HW      TIP3    0       13.5381 7.0995  5.2677  HW      427     0       0       0       0.417   
     431429     HW      TIP3    0       13.5381 7.0995  4.2597  HW      427     0       0       0       0.417   
     432430     OW      TIP3    0       12.7791 7.0995  7.6035  OW      431     432     0       0       -0.834 
     433431     HW      TIP3    0       13.5381 7.0995  8.1075  HW      430     0       0       0       0.417   
     434432     HW      TIP3    0       13.5381 7.0995  7.0995  HW      430     0       0       0       0.417   
     435433     OW      TIP3    0       12.7791 7.0995  10.4433 OW      434     435     0       0       -0.834 
     436434     HW      TIP3    0       13.5381 7.0995  10.9473 HW      433     0       0       0       0.417   
     437435     HW      TIP3    0       13.5381 7.0995  9.9393  HW      433     0       0       0       0.417   
     438436     OW      TIP3    0       12.7791 7.0995  13.2831 OW      437     438     0       0       -0.834 
     439437     HW      TIP3    0       13.5381 7.0995  13.7871 HW      436     0       0       0       0.417   
     440438     HW      TIP3    0       13.5381 7.0995  12.7791 HW      436     0       0       0       0.417   
     441439     OW      TIP3    0       12.7791 9.9393  1.9239  OW      440     441     0       0       -0.834 
     442440     HW      TIP3    0       13.5381 9.9393  2.4279  HW      439     0       0       0       0.417   
     443441     HW      TIP3    0       13.5381 9.9393  1.4199  HW      439     0       0       0       0.417   
     444442     OW      TIP3    0       12.7791 9.9393  4.7637  OW      443     444     0       0       -0.834 
     445443     HW      TIP3    0       13.5381 9.9393  5.2677  HW      442     0       0       0       0.417   
     446444     HW      TIP3    0       13.5381 9.9393  4.2597  HW      442     0       0       0       0.417   
     447445     OW      TIP3    0       12.7791 9.9393  7.6035  OW      446     447     0       0       -0.834 
     448446     HW      TIP3    0       13.5381 9.9393  8.1075  HW      445     0       0       0       0.417   
     449447     HW      TIP3    0       13.5381 9.9393  7.0995  HW      445     0       0       0       0.417   
     450448     OW      TIP3    0       12.7791 9.9393  10.4433 OW      449     450     0       0       -0.834 
     451449     HW      TIP3    0       13.5381 9.9393  10.9473 HW      448     0       0       0       0.417   
     452450     HW      TIP3    0       13.5381 9.9393  9.9393  HW      448     0       0       0       0.417   
     453451     OW      TIP3    0       12.7791 9.9393  13.2831 OW      452     453     0       0       -0.834 
     454452     HW      TIP3    0       13.5381 9.9393  13.7871 HW      451     0       0       0       0.417   
     455453     HW      TIP3    0       13.5381 9.9393  12.7791 HW      451     0       0       0       0.417   
     456454     OW      TIP3    0       12.7791 12.7791 1.9239  OW      455     456     0       0       -0.834 
     457455     HW      TIP3    0       13.5381 12.7791 2.4279  HW      454     0       0       0       0.417   
     458456     HW      TIP3    0       13.5381 12.7791 1.4199  HW      454     0       0       0       0.417   
     459457     OW      TIP3    0       12.7791 12.7791 4.7637  OW      458     459     0       0       -0.834 
     460458     HW      TIP3    0       13.5381 12.7791 5.2677  HW      457     0       0       0       0.417   
     461459     HW      TIP3    0       13.5381 12.7791 4.2597  HW      457     0       0       0       0.417   
     462460     OW      TIP3    0       12.7791 12.7791 7.6035  OW      461     462     0       0       -0.834 
     463461     HW      TIP3    0       13.5381 12.7791 8.1075  HW      460     0       0       0       0.417   
     464462     HW      TIP3    0       13.5381 12.7791 7.0995  HW      460     0       0       0       0.417   
     465463     OW      TIP3    0       12.7791 12.7791 10.4433 OW      464     465     0       0       -0.834 
     466464     HW      TIP3    0       13.5381 12.7791 10.9473 HW      463     0       0       0       0.417   
     467465     HW      TIP3    0       13.5381 12.7791 9.9393  HW      463     0       0       0       0.417   
     468466     OW      TIP3    0       12.7791 12.7791 13.2831 OW      467     468     0       0       -0.834 
     469467     HW      TIP3    0       13.5381 12.7791 13.7871 HW      466     0       0       0       0.417   
     470468     HW      TIP3    0       13.5381 12.7791 12.7791 HW      466     0       0       0       0.417   
  • tests/regression/Filling/RegularGrid/post/solved_single_sles.data

    r8859b5 r7f1b51  
    585856      H12     SLES    1       8.7336  6.8825  28.784  HAL3    54      0       0       0       0.09   
    595957      H12     SLES    1       7.0942  6.2524  28.3633 HAL3    54      0       0       0       0.09   
    60 58      OW      TIP3    0       1.4199  1.66216 1.54163 OW      59      60      0       0       -0.834 
    61 59      HW      TIP3    0       2.1789  1.66216 2.04563 HW      58      0       0       0       0.417   
    62 60      HW      TIP3    0       2.1789  1.66216 1.03763 HW      58      0       0       0       0.417   
    63 61      OW      TIP3    0       1.4199  1.66216 4.6249  OW      62      63      0       0       -0.834 
    64 62      HW      TIP3    0       2.1789  1.66216 5.1289  HW      61      0       0       0       0.417   
    65 63      HW      TIP3    0       2.1789  1.66216 4.1209  HW      61      0       0       0       0.417   
    66 64      OW      TIP3    0       1.4199  1.66216 7.70816 OW      65      66      0       0       -0.834 
    67 65      HW      TIP3    0       2.1789  1.66216 8.21216 HW      64      0       0       0       0.417   
    68 66      HW      TIP3    0       2.1789  1.66216 7.20416 HW      64      0       0       0       0.417   
    69 67      OW      TIP3    0       1.4199  1.66216 10.7914 OW      68      69      0       0       -0.834 
    70 68      HW      TIP3    0       2.1789  1.66216 11.2954 HW      67      0       0       0       0.417   
    71 69      HW      TIP3    0       2.1789  1.66216 10.2874 HW      67      0       0       0       0.417   
    72 70      OW      TIP3    0       1.4199  1.66216 13.8747 OW      71      72      0       0       -0.834 
    73 71      HW      TIP3    0       2.1789  1.66216 14.3787 HW      70      0       0       0       0.417   
    74 72      HW      TIP3    0       2.1789  1.66216 13.3707 HW      70      0       0       0       0.417   
    75 73      OW      TIP3    0       1.4199  1.66216 16.958  OW      74      75      0       0       -0.834 
    76 74      HW      TIP3    0       2.1789  1.66216 17.4619 HW      73      0       0       0       0.417   
    77 75      HW      TIP3    0       2.1789  1.66216 16.454  HW      73      0       0       0       0.417   
    78 76      OW      TIP3    0       1.4199  1.66216 20.0412 OW      77      78      0       0       -0.834 
    79 77      HW      TIP3    0       2.1789  1.66216 20.5452 HW      76      0       0       0       0.417   
    80 78      HW      TIP3    0       2.1789  1.66216 19.5372 HW      76      0       0       0       0.417   
    81 79      OW      TIP3    0       1.4199  1.66216 23.1245 OW      80      81      0       0       -0.834 
    82 80      HW      TIP3    0       2.1789  1.66216 23.6285 HW      79      0       0       0       0.417   
    83 81      HW      TIP3    0       2.1789  1.66216 22.6205 HW      79      0       0       0       0.417   
    84 82      OW      TIP3    0       1.4199  1.66216 26.2077 OW      83      84      0       0       -0.834 
    85 83      HW      TIP3    0       2.1789  1.66216 26.7117 HW      82      0       0       0       0.417   
    86 84      HW      TIP3    0       2.1789  1.66216 25.7037 HW      82      0       0       0       0.417   
    87 85      OW      TIP3    0       1.4199  1.66216 29.291  OW      86      87      0       0       -0.834 
    88 86      HW      TIP3    0       2.1789  1.66216 29.795  HW      85      0       0       0       0.417   
    89 87      HW      TIP3    0       2.1789  1.66216 28.787  HW      85      0       0       0       0.417   
    90 88      OW      TIP3    0       1.4199  1.66216 32.3743 OW      89      90      0       0       -0.834 
    91 89      HW      TIP3    0       2.1789  1.66216 32.8783 HW      88      0       0       0       0.417   
    92 90      HW      TIP3    0       2.1789  1.66216 31.8703 HW      88      0       0       0       0.417   
    93 91      OW      TIP3    0       1.4199  4.98648 1.54163 OW      92      93      0       0       -0.834 
    94 92      HW      TIP3    0       2.1789  4.98648 2.04563 HW      91      0       0       0       0.417   
    95 93      HW      TIP3    0       2.1789  4.98648 1.03763 HW      91      0       0       0       0.417   
    96 94      OW      TIP3    0       1.4199  4.98648 4.6249  OW      95      96      0       0       -0.834 
    97 95      HW      TIP3    0       2.1789  4.98648 5.1289  HW      94      0       0       0       0.417   
    98 96      HW      TIP3    0       2.1789  4.98648 4.1209  HW      94      0       0       0       0.417   
    99 97      OW      TIP3    0       1.4199  4.98648 7.70816 OW      98      99      0       0       -0.834 
    100 98      HW      TIP3    0       2.1789  4.98648 8.21216 HW      97      0       0       0       0.417   
    101 99      HW      TIP3    0       2.1789  4.98648 7.20416 HW      97      0       0       0       0.417   
    102 100     OW      TIP3    0       1.4199  4.98648 10.7914 OW      101     102     0       0       -0.834 
    103 101     HW      TIP3    0       2.1789  4.98648 11.2954 HW      100     0       0       0       0.417   
    104 102     HW      TIP3    0       2.1789  4.98648 10.2874 HW      100     0       0       0       0.417   
    105 103     OW      TIP3    0       1.4199  4.98648 13.8747 OW      104     105     0       0       -0.834 
    106 104     HW      TIP3    0       2.1789  4.98648 14.3787 HW      103     0       0       0       0.417   
    107 105     HW      TIP3    0       2.1789  4.98648 13.3707 HW      103     0       0       0       0.417   
    108 106     OW      TIP3    0       1.4199  4.98648 16.958  OW      107     108     0       0       -0.834 
    109 107     HW      TIP3    0       2.1789  4.98648 17.4619 HW      106     0       0       0       0.417   
    110 108     HW      TIP3    0       2.1789  4.98648 16.454  HW      106     0       0       0       0.417   
    111 109     OW      TIP3    0       1.4199  4.98648 20.0412 OW      110     111     0       0       -0.834 
    112 110     HW      TIP3    0       2.1789  4.98648 20.5452 HW      109     0       0       0       0.417   
    113 111     HW      TIP3    0       2.1789  4.98648 19.5372 HW      109     0       0       0       0.417   
    114 112     OW      TIP3    0       1.4199  4.98648 23.1245 OW      113     114     0       0       -0.834 
    115 113     HW      TIP3    0       2.1789  4.98648 23.6285 HW      112     0       0       0       0.417   
    116 114     HW      TIP3    0       2.1789  4.98648 22.6205 HW      112     0       0       0       0.417   
    117 115     OW      TIP3    0       1.4199  4.98648 26.2077 OW      116     117     0       0       -0.834 
    118 116     HW      TIP3    0       2.1789  4.98648 26.7117 HW      115     0       0       0       0.417   
    119 117     HW      TIP3    0       2.1789  4.98648 25.7037 HW      115     0       0       0       0.417   
    120 118     OW      TIP3    0       1.4199  4.98648 29.291  OW      119     120     0       0       -0.834 
    121 119     HW      TIP3    0       2.1789  4.98648 29.795  HW      118     0       0       0       0.417   
    122 120     HW      TIP3    0       2.1789  4.98648 28.787  HW      118     0       0       0       0.417   
    123 121     OW      TIP3    0       1.4199  4.98648 32.3743 OW      122     123     0       0       -0.834 
    124 122     HW      TIP3    0       2.1789  4.98648 32.8783 HW      121     0       0       0       0.417   
    125 123     HW      TIP3    0       2.1789  4.98648 31.8703 HW      121     0       0       0       0.417   
    126 124     OW      TIP3    0       1.4199  8.3108  1.54163 OW      125     126     0       0       -0.834 
    127 125     HW      TIP3    0       2.1789  8.3108  2.04563 HW      124     0       0       0       0.417   
    128 126     HW      TIP3    0       2.1789  8.3108  1.03763 HW      124     0       0       0       0.417   
    129 127     OW      TIP3    0       1.4199  8.3108  4.6249  OW      128     129     0       0       -0.834 
    130 128     HW      TIP3    0       2.1789  8.3108  5.1289  HW      127     0       0       0       0.417   
    131 129     HW      TIP3    0       2.1789  8.3108  4.1209  HW      127     0       0       0       0.417   
    132 130     OW      TIP3    0       1.4199  8.3108  7.70816 OW      131     132     0       0       -0.834 
    133 131     HW      TIP3    0       2.1789  8.3108  8.21216 HW      130     0       0       0       0.417   
    134 132     HW      TIP3    0       2.1789  8.3108  7.20416 HW      130     0       0       0       0.417   
    135 133     OW      TIP3    0       1.4199  8.3108  10.7914 OW      134     135     0       0       -0.834 
    136 134     HW      TIP3    0       2.1789  8.3108  11.2954 HW      133     0       0       0       0.417   
    137 135     HW      TIP3    0       2.1789  8.3108  10.2874 HW      133     0       0       0       0.417   
    138 136     OW      TIP3    0       1.4199  8.3108  13.8747 OW      137     138     0       0       -0.834 
    139 137     HW      TIP3    0       2.1789  8.3108  14.3787 HW      136     0       0       0       0.417   
    140 138     HW      TIP3    0       2.1789  8.3108  13.3707 HW      136     0       0       0       0.417   
    141 139     OW      TIP3    0       1.4199  8.3108  16.958  OW      140     141     0       0       -0.834 
    142 140     HW      TIP3    0       2.1789  8.3108  17.4619 HW      139     0       0       0       0.417   
    143 141     HW      TIP3    0       2.1789  8.3108  16.454  HW      139     0       0       0       0.417   
    144 142     OW      TIP3    0       1.4199  8.3108  20.0412 OW      143     144     0       0       -0.834 
    145 143     HW      TIP3    0       2.1789  8.3108  20.5452 HW      142     0       0       0       0.417   
    146 144     HW      TIP3    0       2.1789  8.3108  19.5372 HW      142     0       0       0       0.417   
    147 145     OW      TIP3    0       1.4199  8.3108  23.1245 OW      146     147     0       0       -0.834 
    148 146     HW      TIP3    0       2.1789  8.3108  23.6285 HW      145     0       0       0       0.417   
    149 147     HW      TIP3    0       2.1789  8.3108  22.6205 HW      145     0       0       0       0.417   
    150 148     OW      TIP3    0       1.4199  8.3108  26.2077 OW      149     150     0       0       -0.834 
    151 149     HW      TIP3    0       2.1789  8.3108  26.7117 HW      148     0       0       0       0.417   
    152 150     HW      TIP3    0       2.1789  8.3108  25.7037 HW      148     0       0       0       0.417   
    153 151     OW      TIP3    0       1.4199  8.3108  29.291  OW      152     153     0       0       -0.834 
    154 152     HW      TIP3    0       2.1789  8.3108  29.795  HW      151     0       0       0       0.417   
    155 153     HW      TIP3    0       2.1789  8.3108  28.787  HW      151     0       0       0       0.417   
    156 154     OW      TIP3    0       1.4199  8.3108  32.3743 OW      155     156     0       0       -0.834 
    157 155     HW      TIP3    0       2.1789  8.3108  32.8783 HW      154     0       0       0       0.417   
    158 156     HW      TIP3    0       2.1789  8.3108  31.8703 HW      154     0       0       0       0.417   
    159 157     OW      TIP3    0       1.4199  11.6351 1.54163 OW      158     159     0       0       -0.834 
    160 158     HW      TIP3    0       2.1789  11.6351 2.04563 HW      157     0       0       0       0.417   
    161 159     HW      TIP3    0       2.1789  11.6351 1.03763 HW      157     0       0       0       0.417   
    162 160     OW      TIP3    0       1.4199  11.6351 4.6249  OW      161     162     0       0       -0.834 
    163 161     HW      TIP3    0       2.1789  11.6351 5.1289  HW      160     0       0       0       0.417   
    164 162     HW      TIP3    0       2.1789  11.6351 4.1209  HW      160     0       0       0       0.417   
    165 163     OW      TIP3    0       1.4199  11.6351 7.70816 OW      164     165     0       0       -0.834 
    166 164     HW      TIP3    0       2.1789  11.6351 8.21216 HW      163     0       0       0       0.417   
    167 165     HW      TIP3    0       2.1789  11.6351 7.20416 HW      163     0       0       0       0.417   
    168 166     OW      TIP3    0       1.4199  11.6351 10.7914 OW      167     168     0       0       -0.834 
    169 167     HW      TIP3    0       2.1789  11.6351 11.2954 HW      166     0       0       0       0.417   
    170 168     HW      TIP3    0       2.1789  11.6351 10.2874 HW      166     0       0       0       0.417   
    171 169     OW      TIP3    0       1.4199  11.6351 13.8747 OW      170     171     0       0       -0.834 
    172 170     HW      TIP3    0       2.1789  11.6351 14.3787 HW      169     0       0       0       0.417   
    173 171     HW      TIP3    0       2.1789  11.6351 13.3707 HW      169     0       0       0       0.417   
    174 172     OW      TIP3    0       1.4199  11.6351 16.958  OW      173     174     0       0       -0.834 
    175 173     HW      TIP3    0       2.1789  11.6351 17.4619 HW      172     0       0       0       0.417   
    176 174     HW      TIP3    0       2.1789  11.6351 16.454  HW      172     0       0       0       0.417   
    177 175     OW      TIP3    0       1.4199  11.6351 20.0412 OW      176     177     0       0       -0.834 
    178 176     HW      TIP3    0       2.1789  11.6351 20.5452 HW      175     0       0       0       0.417   
    179 177     HW      TIP3    0       2.1789  11.6351 19.5372 HW      175     0       0       0       0.417   
    180 178     OW      TIP3    0       1.4199  11.6351 23.1245 OW      179     180     0       0       -0.834 
    181 179     HW      TIP3    0       2.1789  11.6351 23.6285 HW      178     0       0       0       0.417   
    182 180     HW      TIP3    0       2.1789  11.6351 22.6205 HW      178     0       0       0       0.417   
    183 181     OW      TIP3    0       1.4199  11.6351 26.2077 OW      182     183     0       0       -0.834 
    184 182     HW      TIP3    0       2.1789  11.6351 26.7117 HW      181     0       0       0       0.417   
    185 183     HW      TIP3    0       2.1789  11.6351 25.7037 HW      181     0       0       0       0.417   
    186 184     OW      TIP3    0       1.4199  11.6351 29.291  OW      185     186     0       0       -0.834 
    187 185     HW      TIP3    0       2.1789  11.6351 29.795  HW      184     0       0       0       0.417   
    188 186     HW      TIP3    0       2.1789  11.6351 28.787  HW      184     0       0       0       0.417   
    189 187     OW      TIP3    0       1.4199  11.6351 32.3743 OW      188     189     0       0       -0.834 
    190 188     HW      TIP3    0       2.1789  11.6351 32.8783 HW      187     0       0       0       0.417   
    191 189     HW      TIP3    0       2.1789  11.6351 31.8703 HW      187     0       0       0       0.417   
    192 190     OW      TIP3    0       1.4199  14.9594 1.54163 OW      191     192     0       0       -0.834 
    193 191     HW      TIP3    0       2.1789  14.9594 2.04563 HW      190     0       0       0       0.417   
    194 192     HW      TIP3    0       2.1789  14.9594 1.03763 HW      190     0       0       0       0.417   
    195 193     OW      TIP3    0       1.4199  14.9594 4.6249  OW      194     195     0       0       -0.834 
    196 194     HW      TIP3    0       2.1789  14.9594 5.1289  HW      193     0       0       0       0.417   
    197 195     HW      TIP3    0       2.1789  14.9594 4.1209  HW      193     0       0       0       0.417   
    198 196     OW      TIP3    0       1.4199  14.9594 7.70816 OW      197     198     0       0       -0.834 
    199 197     HW      TIP3    0       2.1789  14.9594 8.21216 HW      196     0       0       0       0.417   
    200 198     HW      TIP3    0       2.1789  14.9594 7.20416 HW      196     0       0       0       0.417   
    201 199     OW      TIP3    0       1.4199  14.9594 10.7914 OW      200     201     0       0       -0.834 
    202 200     HW      TIP3    0       2.1789  14.9594 11.2954 HW      199     0       0       0       0.417   
    203 201     HW      TIP3    0       2.1789  14.9594 10.2874 HW      199     0       0       0       0.417   
    204 202     OW      TIP3    0       1.4199  14.9594 13.8747 OW      203     204     0       0       -0.834 
    205 203     HW      TIP3    0       2.1789  14.9594 14.3787 HW      202     0       0       0       0.417   
    206 204     HW      TIP3    0       2.1789  14.9594 13.3707 HW      202     0       0       0       0.417   
    207 205     OW      TIP3    0       1.4199  14.9594 16.958  OW      206     207     0       0       -0.834 
    208 206     HW      TIP3    0       2.1789  14.9594 17.4619 HW      205     0       0       0       0.417   
    209 207     HW      TIP3    0       2.1789  14.9594 16.454  HW      205     0       0       0       0.417   
    210 208     OW      TIP3    0       1.4199  14.9594 20.0412 OW      209     210     0       0       -0.834 
    211 209     HW      TIP3    0       2.1789  14.9594 20.5452 HW      208     0       0       0       0.417   
    212 210     HW      TIP3    0       2.1789  14.9594 19.5372 HW      208     0       0       0       0.417   
    213 211     OW      TIP3    0       1.4199  14.9594 23.1245 OW      212     213     0       0       -0.834 
    214 212     HW      TIP3    0       2.1789  14.9594 23.6285 HW      211     0       0       0       0.417   
    215 213     HW      TIP3    0       2.1789  14.9594 22.6205 HW      211     0       0       0       0.417   
    216 214     OW      TIP3    0       1.4199  14.9594 26.2077 OW      215     216     0       0       -0.834 
    217 215     HW      TIP3    0       2.1789  14.9594 26.7117 HW      214     0       0       0       0.417   
    218 216     HW      TIP3    0       2.1789  14.9594 25.7037 HW      214     0       0       0       0.417   
    219 217     OW      TIP3    0       1.4199  14.9594 29.291  OW      218     219     0       0       -0.834 
    220 218     HW      TIP3    0       2.1789  14.9594 29.795  HW      217     0       0       0       0.417   
    221 219     HW      TIP3    0       2.1789  14.9594 28.787  HW      217     0       0       0       0.417   
    222 220     OW      TIP3    0       1.4199  14.9594 32.3743 OW      221     222     0       0       -0.834 
    223 221     HW      TIP3    0       2.1789  14.9594 32.8783 HW      220     0       0       0       0.417   
    224 222     HW      TIP3    0       2.1789  14.9594 31.8703 HW      220     0       0       0       0.417   
    225 223     OW      TIP3    0       4.2597  1.66216 1.54163 OW      224     225     0       0       -0.834 
    226 224     HW      TIP3    0       5.0187  1.66216 2.04563 HW      223     0       0       0       0.417   
    227 225     HW      TIP3    0       5.0187  1.66216 1.03763 HW      223     0       0       0       0.417   
    228 226     OW      TIP3    0       4.2597  1.66216 4.6249  OW      227     228     0       0       -0.834 
    229 227     HW      TIP3    0       5.0187  1.66216 5.1289  HW      226     0       0       0       0.417   
    230 228     HW      TIP3    0       5.0187  1.66216 4.1209  HW      226     0       0       0       0.417   
    231 229     OW      TIP3    0       4.2597  1.66216 7.70816 OW      230     231     0       0       -0.834 
    232 230     HW      TIP3    0       5.0187  1.66216 8.21216 HW      229     0       0       0       0.417   
    233 231     HW      TIP3    0       5.0187  1.66216 7.20416 HW      229     0       0       0       0.417   
    234 232     OW      TIP3    0       4.2597  1.66216 10.7914 OW      233     234     0       0       -0.834 
    235 233     HW      TIP3    0       5.0187  1.66216 11.2954 HW      232     0       0       0       0.417   
    236 234     HW      TIP3    0       5.0187  1.66216 10.2874 HW      232     0       0       0       0.417   
    237 235     OW      TIP3    0       4.2597  1.66216 13.8747 OW      236     237     0       0       -0.834 
    238 236     HW      TIP3    0       5.0187  1.66216 14.3787 HW      235     0       0       0       0.417   
    239 237     HW      TIP3    0       5.0187  1.66216 13.3707 HW      235     0       0       0       0.417   
    240 238     OW      TIP3    0       4.2597  1.66216 16.958  OW      239     240     0       0       -0.834 
    241 239     HW      TIP3    0       5.0187  1.66216 17.4619 HW      238     0       0       0       0.417   
    242 240     HW      TIP3    0       5.0187  1.66216 16.454  HW      238     0       0       0       0.417   
    243 241     OW      TIP3    0       4.2597  1.66216 20.0412 OW      242     243     0       0       -0.834 
    244 242     HW      TIP3    0       5.0187  1.66216 20.5452 HW      241     0       0       0       0.417   
    245 243     HW      TIP3    0       5.0187  1.66216 19.5372 HW      241     0       0       0       0.417   
    246 244     OW      TIP3    0       4.2597  1.66216 23.1245 OW      245     246     0       0       -0.834 
    247 245     HW      TIP3    0       5.0187  1.66216 23.6285 HW      244     0       0       0       0.417   
    248 246     HW      TIP3    0       5.0187  1.66216 22.6205 HW      244     0       0       0       0.417   
    249 247     OW      TIP3    0       4.2597  1.66216 26.2077 OW      248     249     0       0       -0.834 
    250 248     HW      TIP3    0       5.0187  1.66216 26.7117 HW      247     0       0       0       0.417   
    251 249     HW      TIP3    0       5.0187  1.66216 25.7037 HW      247     0       0       0       0.417   
    252 250     OW      TIP3    0       4.2597  1.66216 29.291  OW      251     252     0       0       -0.834 
    253 251     HW      TIP3    0       5.0187  1.66216 29.795  HW      250     0       0       0       0.417   
    254 252     HW      TIP3    0       5.0187  1.66216 28.787  HW      250     0       0       0       0.417   
    255 253     OW      TIP3    0       4.2597  1.66216 32.3743 OW      254     255     0       0       -0.834 
    256 254     HW      TIP3    0       5.0187  1.66216 32.8783 HW      253     0       0       0       0.417   
    257 255     HW      TIP3    0       5.0187  1.66216 31.8703 HW      253     0       0       0       0.417   
    258 256     OW      TIP3    0       4.2597  4.98648 1.54163 OW      257     258     0       0       -0.834 
    259 257     HW      TIP3    0       5.0187  4.98648 2.04563 HW      256     0       0       0       0.417   
    260 258     HW      TIP3    0       5.0187  4.98648 1.03763 HW      256     0       0       0       0.417   
    261 259     OW      TIP3    0       4.2597  4.98648 4.6249  OW      260     261     0       0       -0.834 
    262 260     HW      TIP3    0       5.0187  4.98648 5.1289  HW      259     0       0       0       0.417   
    263 261     HW      TIP3    0       5.0187  4.98648 4.1209  HW      259     0       0       0       0.417   
    264 262     OW      TIP3    0       4.2597  4.98648 7.70816 OW      263     264     0       0       -0.834 
    265 263     HW      TIP3    0       5.0187  4.98648 8.21216 HW      262     0       0       0       0.417   
    266 264     HW      TIP3    0       5.0187  4.98648 7.20416 HW      262     0       0       0       0.417   
    267 265     OW      TIP3    0       4.2597  4.98648 10.7914 OW      266     267     0       0       -0.834 
    268 266     HW      TIP3    0       5.0187  4.98648 11.2954 HW      265     0       0       0       0.417   
    269 267     HW      TIP3    0       5.0187  4.98648 10.2874 HW      265     0       0       0       0.417   
    270 268     OW      TIP3    0       4.2597  4.98648 13.8747 OW      269     270     0       0       -0.834 
    271 269     HW      TIP3    0       5.0187  4.98648 14.3787 HW      268     0       0       0       0.417   
    272 270     HW      TIP3    0       5.0187  4.98648 13.3707 HW      268     0       0       0       0.417   
    273 271     OW      TIP3    0       4.2597  4.98648 29.291  OW      272     273     0       0       -0.834 
    274 272     HW      TIP3    0       5.0187  4.98648 29.795  HW      271     0       0       0       0.417   
    275 273     HW      TIP3    0       5.0187  4.98648 28.787  HW      271     0       0       0       0.417   
    276 274     OW      TIP3    0       4.2597  4.98648 32.3743 OW      275     276     0       0       -0.834 
    277 275     HW      TIP3    0       5.0187  4.98648 32.8783 HW      274     0       0       0       0.417   
    278 276     HW      TIP3    0       5.0187  4.98648 31.8703 HW      274     0       0       0       0.417   
    279 277     OW      TIP3    0       4.2597  8.3108  1.54163 OW      278     279     0       0       -0.834 
    280 278     HW      TIP3    0       5.0187  8.3108  2.04563 HW      277     0       0       0       0.417   
    281 279     HW      TIP3    0       5.0187  8.3108  1.03763 HW      277     0       0       0       0.417   
    282 280     OW      TIP3    0       4.2597  8.3108  32.3743 OW      281     282     0       0       -0.834 
    283 281     HW      TIP3    0       5.0187  8.3108  32.8783 HW      280     0       0       0       0.417   
    284 282     HW      TIP3    0       5.0187  8.3108  31.8703 HW      280     0       0       0       0.417   
    285 283     OW      TIP3    0       4.2597  11.6351 1.54163 OW      284     285     0       0       -0.834 
    286 284     HW      TIP3    0       5.0187  11.6351 2.04563 HW      283     0       0       0       0.417   
    287 285     HW      TIP3    0       5.0187  11.6351 1.03763 HW      283     0       0       0       0.417   
    288 286     OW      TIP3    0       4.2597  11.6351 7.70816 OW      287     288     0       0       -0.834 
    289 287     HW      TIP3    0       5.0187  11.6351 8.21216 HW      286     0       0       0       0.417   
    290 288     HW      TIP3    0       5.0187  11.6351 7.20416 HW      286     0       0       0       0.417   
    291 289     OW      TIP3    0       4.2597  11.6351 10.7914 OW      290     291     0       0       -0.834 
    292 290     HW      TIP3    0       5.0187  11.6351 11.2954 HW      289     0       0       0       0.417   
    293 291     HW      TIP3    0       5.0187  11.6351 10.2874 HW      289     0       0       0       0.417   
    294 292     OW      TIP3    0       4.2597  11.6351 13.8747 OW      293     294     0       0       -0.834 
    295 293     HW      TIP3    0       5.0187  11.6351 14.3787 HW      292     0       0       0       0.417   
    296 294     HW      TIP3    0       5.0187  11.6351 13.3707 HW      292     0       0       0       0.417   
    297 295     OW      TIP3    0       4.2597  11.6351 16.958  OW      296     297     0       0       -0.834 
    298 296     HW      TIP3    0       5.0187  11.6351 17.4619 HW      295     0       0       0       0.417   
    299 297     HW      TIP3    0       5.0187  11.6351 16.454  HW      295     0       0       0       0.417   
    300 298     OW      TIP3    0       4.2597  11.6351 20.0412 OW      299     300     0       0       -0.834 
    301 299     HW      TIP3    0       5.0187  11.6351 20.5452 HW      298     0       0       0       0.417   
    302 300     HW      TIP3    0       5.0187  11.6351 19.5372 HW      298     0       0       0       0.417   
    303 301     OW      TIP3    0       4.2597  11.6351 23.1245 OW      302     303     0       0       -0.834 
    304 302     HW      TIP3    0       5.0187  11.6351 23.6285 HW      301     0       0       0       0.417   
    305 303     HW      TIP3    0       5.0187  11.6351 22.6205 HW      301     0       0       0       0.417   
    306 304     OW      TIP3    0       4.2597  11.6351 26.2077 OW      305     306     0       0       -0.834 
    307 305     HW      TIP3    0       5.0187  11.6351 26.7117 HW      304     0       0       0       0.417   
    308 306     HW      TIP3    0       5.0187  11.6351 25.7037 HW      304     0       0       0       0.417   
    309 307     OW      TIP3    0       4.2597  11.6351 29.291  OW      308     309     0       0       -0.834 
    310 308     HW      TIP3    0       5.0187  11.6351 29.795  HW      307     0       0       0       0.417   
    311 309     HW      TIP3    0       5.0187  11.6351 28.787  HW      307     0       0       0       0.417   
    312 310     OW      TIP3    0       4.2597  11.6351 32.3743 OW      311     312     0       0       -0.834 
    313 311     HW      TIP3    0       5.0187  11.6351 32.8783 HW      310     0       0       0       0.417   
    314 312     HW      TIP3    0       5.0187  11.6351 31.8703 HW      310     0       0       0       0.417   
    315 313     OW      TIP3    0       4.2597  14.9594 1.54163 OW      314     315     0       0       -0.834 
    316 314     HW      TIP3    0       5.0187  14.9594 2.04563 HW      313     0       0       0       0.417   
    317 315     HW      TIP3    0       5.0187  14.9594 1.03763 HW      313     0       0       0       0.417   
    318 316     OW      TIP3    0       4.2597  14.9594 4.6249  OW      317     318     0       0       -0.834 
    319 317     HW      TIP3    0       5.0187  14.9594 5.1289  HW      316     0       0       0       0.417   
    320 318     HW      TIP3    0       5.0187  14.9594 4.1209  HW      316     0       0       0       0.417   
    321 319     OW      TIP3    0       4.2597  14.9594 7.70816 OW      320     321     0       0       -0.834 
    322 320     HW      TIP3    0       5.0187  14.9594 8.21216 HW      319     0       0       0       0.417   
    323 321     HW      TIP3    0       5.0187  14.9594 7.20416 HW      319     0       0       0       0.417   
    324 322     OW      TIP3    0       4.2597  14.9594 10.7914 OW      323     324     0       0       -0.834 
    325 323     HW      TIP3    0       5.0187  14.9594 11.2954 HW      322     0       0       0       0.417   
    326 324     HW      TIP3    0       5.0187  14.9594 10.2874 HW      322     0       0       0       0.417   
    327 325     OW      TIP3    0       4.2597  14.9594 13.8747 OW      326     327     0       0       -0.834 
    328 326     HW      TIP3    0       5.0187  14.9594 14.3787 HW      325     0       0       0       0.417   
    329 327     HW      TIP3    0       5.0187  14.9594 13.3707 HW      325     0       0       0       0.417   
    330 328     OW      TIP3    0       4.2597  14.9594 16.958  OW      329     330     0       0       -0.834 
    331 329     HW      TIP3    0       5.0187  14.9594 17.4619 HW      328     0       0       0       0.417   
    332 330     HW      TIP3    0       5.0187  14.9594 16.454  HW      328     0       0       0       0.417   
    333 331     OW      TIP3    0       4.2597  14.9594 20.0412 OW      332     333     0       0       -0.834 
    334 332     HW      TIP3    0       5.0187  14.9594 20.5452 HW      331     0       0       0       0.417   
    335 333     HW      TIP3    0       5.0187  14.9594 19.5372 HW      331     0       0       0       0.417   
    336 334     OW      TIP3    0       4.2597  14.9594 23.1245 OW      335     336     0       0       -0.834 
    337 335     HW      TIP3    0       5.0187  14.9594 23.6285 HW      334     0       0       0       0.417   
    338 336     HW      TIP3    0       5.0187  14.9594 22.6205 HW      334     0       0       0       0.417   
    339 337     OW      TIP3    0       4.2597  14.9594 26.2077 OW      338     339     0       0       -0.834 
    340 338     HW      TIP3    0       5.0187  14.9594 26.7117 HW      337     0       0       0       0.417   
    341 339     HW      TIP3    0       5.0187  14.9594 25.7037 HW      337     0       0       0       0.417   
    342 340     OW      TIP3    0       4.2597  14.9594 29.291  OW      341     342     0       0       -0.834 
    343 341     HW      TIP3    0       5.0187  14.9594 29.795  HW      340     0       0       0       0.417   
    344 342     HW      TIP3    0       5.0187  14.9594 28.787  HW      340     0       0       0       0.417   
    345 343     OW      TIP3    0       4.2597  14.9594 32.3743 OW      344     345     0       0       -0.834 
    346 344     HW      TIP3    0       5.0187  14.9594 32.8783 HW      343     0       0       0       0.417   
    347 345     HW      TIP3    0       5.0187  14.9594 31.8703 HW      343     0       0       0       0.417   
    348 346     OW      TIP3    0       7.0995  1.66216 1.54163 OW      347     348     0       0       -0.834 
    349 347     HW      TIP3    0       7.8585  1.66216 2.04563 HW      346     0       0       0       0.417   
    350 348     HW      TIP3    0       7.8585  1.66216 1.03763 HW      346     0       0       0       0.417   
    351 349     OW      TIP3    0       7.0995  1.66216 4.6249  OW      350     351     0       0       -0.834 
    352 350     HW      TIP3    0       7.8585  1.66216 5.1289  HW      349     0       0       0       0.417   
    353 351     HW      TIP3    0       7.8585  1.66216 4.1209  HW      349     0       0       0       0.417   
    354 352     OW      TIP3    0       7.0995  1.66216 7.70816 OW      353     354     0       0       -0.834 
    355 353     HW      TIP3    0       7.8585  1.66216 8.21216 HW      352     0       0       0       0.417   
    356 354     HW      TIP3    0       7.8585  1.66216 7.20416 HW      352     0       0       0       0.417   
    357 355     OW      TIP3    0       7.0995  1.66216 10.7914 OW      356     357     0       0       -0.834 
    358 356     HW      TIP3    0       7.8585  1.66216 11.2954 HW      355     0       0       0       0.417   
    359 357     HW      TIP3    0       7.8585  1.66216 10.2874 HW      355     0       0       0       0.417   
    360 358     OW      TIP3    0       7.0995  1.66216 13.8747 OW      359     360     0       0       -0.834 
    361 359     HW      TIP3    0       7.8585  1.66216 14.3787 HW      358     0       0       0       0.417   
    362 360     HW      TIP3    0       7.8585  1.66216 13.3707 HW      358     0       0       0       0.417   
    363 361     OW      TIP3    0       7.0995  1.66216 16.958  OW      362     363     0       0       -0.834 
    364 362     HW      TIP3    0       7.8585  1.66216 17.4619 HW      361     0       0       0       0.417   
    365 363     HW      TIP3    0       7.8585  1.66216 16.454  HW      361     0       0       0       0.417   
    366 364     OW      TIP3    0       7.0995  1.66216 20.0412 OW      365     366     0       0       -0.834 
    367 365     HW      TIP3    0       7.8585  1.66216 20.5452 HW      364     0       0       0       0.417   
    368 366     HW      TIP3    0       7.8585  1.66216 19.5372 HW      364     0       0       0       0.417   
    369 367     OW      TIP3    0       7.0995  1.66216 23.1245 OW      368     369     0       0       -0.834 
    370 368     HW      TIP3    0       7.8585  1.66216 23.6285 HW      367     0       0       0       0.417   
    371 369     HW      TIP3    0       7.8585  1.66216 22.6205 HW      367     0       0       0       0.417   
    372 370     OW      TIP3    0       7.0995  1.66216 26.2077 OW      371     372     0       0       -0.834 
    373 371     HW      TIP3    0       7.8585  1.66216 26.7117 HW      370     0       0       0       0.417   
    374 372     HW      TIP3    0       7.8585  1.66216 25.7037 HW      370     0       0       0       0.417   
    375 373     OW      TIP3    0       7.0995  1.66216 29.291  OW      374     375     0       0       -0.834 
    376 374     HW      TIP3    0       7.8585  1.66216 29.795  HW      373     0       0       0       0.417   
    377 375     HW      TIP3    0       7.8585  1.66216 28.787  HW      373     0       0       0       0.417   
    378 376     OW      TIP3    0       7.0995  1.66216 32.3743 OW      377     378     0       0       -0.834 
    379 377     HW      TIP3    0       7.8585  1.66216 32.8783 HW      376     0       0       0       0.417   
    380 378     HW      TIP3    0       7.8585  1.66216 31.8703 HW      376     0       0       0       0.417   
    381 379     OW      TIP3    0       7.0995  4.98648 1.54163 OW      380     381     0       0       -0.834 
    382 380     HW      TIP3    0       7.8585  4.98648 2.04563 HW      379     0       0       0       0.417   
    383 381     HW      TIP3    0       7.8585  4.98648 1.03763 HW      379     0       0       0       0.417   
    384 382     OW      TIP3    0       7.0995  4.98648 4.6249  OW      383     384     0       0       -0.834 
    385 383     HW      TIP3    0       7.8585  4.98648 5.1289  HW      382     0       0       0       0.417   
    386 384     HW      TIP3    0       7.8585  4.98648 4.1209  HW      382     0       0       0       0.417   
    387 385     OW      TIP3    0       7.0995  4.98648 10.7914 OW      386     387     0       0       -0.834 
    388 386     HW      TIP3    0       7.8585  4.98648 11.2954 HW      385     0       0       0       0.417   
    389 387     HW      TIP3    0       7.8585  4.98648 10.2874 HW      385     0       0       0       0.417   
    390 388     OW      TIP3    0       7.0995  4.98648 32.3743 OW      389     390     0       0       -0.834 
    391 389     HW      TIP3    0       7.8585  4.98648 32.8783 HW      388     0       0       0       0.417   
    392 390     HW      TIP3    0       7.8585  4.98648 31.8703 HW      388     0       0       0       0.417   
    393 391     OW      TIP3    0       7.0995  8.3108  1.54163 OW      392     393     0       0       -0.834 
    394 392     HW      TIP3    0       7.8585  8.3108  2.04563 HW      391     0       0       0       0.417   
    395 393     HW      TIP3    0       7.8585  8.3108  1.03763 HW      391     0       0       0       0.417   
    396 394     OW      TIP3    0       7.0995  8.3108  32.3743 OW      395     396     0       0       -0.834 
    397 395     HW      TIP3    0       7.8585  8.3108  32.8783 HW      394     0       0       0       0.417   
    398 396     HW      TIP3    0       7.8585  8.3108  31.8703 HW      394     0       0       0       0.417   
    399 397     OW      TIP3    0       7.0995  11.6351 1.54163 OW      398     399     0       0       -0.834 
    400 398     HW      TIP3    0       7.8585  11.6351 2.04563 HW      397     0       0       0       0.417   
    401 399     HW      TIP3    0       7.8585  11.6351 1.03763 HW      397     0       0       0       0.417   
    402 400     OW      TIP3    0       7.0995  11.6351 20.0412 OW      401     402     0       0       -0.834 
    403 401     HW      TIP3    0       7.8585  11.6351 20.5452 HW      400     0       0       0       0.417   
    404 402     HW      TIP3    0       7.8585  11.6351 19.5372 HW      400     0       0       0       0.417   
    405 403     OW      TIP3    0       7.0995  11.6351 23.1245 OW      404     405     0       0       -0.834 
    406 404     HW      TIP3    0       7.8585  11.6351 23.6285 HW      403     0       0       0       0.417   
    407 405     HW      TIP3    0       7.8585  11.6351 22.6205 HW      403     0       0       0       0.417   
    408 406     OW      TIP3    0       7.0995  11.6351 29.291  OW      407     408     0       0       -0.834 
    409 407     HW      TIP3    0       7.8585  11.6351 29.795  HW      406     0       0       0       0.417   
    410 408     HW      TIP3    0       7.8585  11.6351 28.787  HW      406     0       0       0       0.417   
    411 409     OW      TIP3    0       7.0995  11.6351 32.3743 OW      410     411     0       0       -0.834 
    412 410     HW      TIP3    0       7.8585  11.6351 32.8783 HW      409     0       0       0       0.417   
    413 411     HW      TIP3    0       7.8585  11.6351 31.8703 HW      409     0       0       0       0.417   
    414 412     OW      TIP3    0       7.0995  14.9594 1.54163 OW      413     414     0       0       -0.834 
    415 413     HW      TIP3    0       7.8585  14.9594 2.04563 HW      412     0       0       0       0.417   
    416 414     HW      TIP3    0       7.8585  14.9594 1.03763 HW      412     0       0       0       0.417   
    417 415     OW      TIP3    0       7.0995  14.9594 4.6249  OW      416     417     0       0       -0.834 
    418 416     HW      TIP3    0       7.8585  14.9594 5.1289  HW      415     0       0       0       0.417   
    419 417     HW      TIP3    0       7.8585  14.9594 4.1209  HW      415     0       0       0       0.417   
    420 418     OW      TIP3    0       7.0995  14.9594 7.70816 OW      419     420     0       0       -0.834 
    421 419     HW      TIP3    0       7.8585  14.9594 8.21216 HW      418     0       0       0       0.417   
    422 420     HW      TIP3    0       7.8585  14.9594 7.20416 HW      418     0       0       0       0.417   
    423 421     OW      TIP3    0       7.0995  14.9594 10.7914 OW      422     423     0       0       -0.834 
    424 422     HW      TIP3    0       7.8585  14.9594 11.2954 HW      421     0       0       0       0.417   
    425 423     HW      TIP3    0       7.8585  14.9594 10.2874 HW      421     0       0       0       0.417   
    426 424     OW      TIP3    0       7.0995  14.9594 13.8747 OW      425     426     0       0       -0.834 
    427 425     HW      TIP3    0       7.8585  14.9594 14.3787 HW      424     0       0       0       0.417   
    428 426     HW      TIP3    0       7.8585  14.9594 13.3707 HW      424     0       0       0       0.417   
    429 427     OW      TIP3    0       7.0995  14.9594 16.958  OW      428     429     0       0       -0.834 
    430 428     HW      TIP3    0       7.8585  14.9594 17.4619 HW      427     0       0       0       0.417   
    431 429     HW      TIP3    0       7.8585  14.9594 16.454  HW      427     0       0       0       0.417   
    432 430     OW      TIP3    0       7.0995  14.9594 20.0412 OW      431     432     0       0       -0.834 
    433 431     HW      TIP3    0       7.8585  14.9594 20.5452 HW      430     0       0       0       0.417   
    434 432     HW      TIP3    0       7.8585  14.9594 19.5372 HW      430     0       0       0       0.417   
    435 433     OW      TIP3    0       7.0995  14.9594 23.1245 OW      434     435     0       0       -0.834 
    436 434     HW      TIP3    0       7.8585  14.9594 23.6285 HW      433     0       0       0       0.417   
    437 435     HW      TIP3    0       7.8585  14.9594 22.6205 HW      433     0       0       0       0.417   
    438 436     OW      TIP3    0       7.0995  14.9594 26.2077 OW      437     438     0       0       -0.834 
    439 437     HW      TIP3    0       7.8585  14.9594 26.7117 HW      436     0       0       0       0.417   
    440 438     HW      TIP3    0       7.8585  14.9594 25.7037 HW      436     0       0       0       0.417   
    441 439     OW      TIP3    0       7.0995  14.9594 29.291  OW      440     441     0       0       -0.834 
    442 440     HW      TIP3    0       7.8585  14.9594 29.795  HW      439     0       0       0       0.417   
    443 441     HW      TIP3    0       7.8585  14.9594 28.787  HW      439     0       0       0       0.417   
    444 442     OW      TIP3    0       7.0995  14.9594 32.3743 OW      443     444     0       0       -0.834 
    445 443     HW      TIP3    0       7.8585  14.9594 32.8783 HW      442     0       0       0       0.417   
    446 444     HW      TIP3    0       7.8585  14.9594 31.8703 HW      442     0       0       0       0.417   
    447 445     OW      TIP3    0       9.9393  1.66216 1.54163 OW      446     447     0       0       -0.834 
    448 446     HW      TIP3    0       10.6983 1.66216 2.04563 HW      445     0       0       0       0.417   
    449 447     HW      TIP3    0       10.6983 1.66216 1.03763 HW      445     0       0       0       0.417   
    450 448     OW      TIP3    0       9.9393  1.66216 4.6249  OW      449     450     0       0       -0.834 
    451 449     HW      TIP3    0       10.6983 1.66216 5.1289  HW      448     0       0       0       0.417   
    452 450     HW      TIP3    0       10.6983 1.66216 4.1209  HW      448     0       0       0       0.417   
    453 451     OW      TIP3    0       9.9393  1.66216 7.70816 OW      452     453     0       0       -0.834 
    454 452     HW      TIP3    0       10.6983 1.66216 8.21216 HW      451     0       0       0       0.417   
    455 453     HW      TIP3    0       10.6983 1.66216 7.20416 HW      451     0       0       0       0.417   
    456 454     OW      TIP3    0       9.9393  1.66216 10.7914 OW      455     456     0       0       -0.834 
    457 455     HW      TIP3    0       10.6983 1.66216 11.2954 HW      454     0       0       0       0.417   
    458 456     HW      TIP3    0       10.6983 1.66216 10.2874 HW      454     0       0       0       0.417   
    459 457     OW      TIP3    0       9.9393  1.66216 13.8747 OW      458     459     0       0       -0.834 
    460 458     HW      TIP3    0       10.6983 1.66216 14.3787 HW      457     0       0       0       0.417   
    461 459     HW      TIP3    0       10.6983 1.66216 13.3707 HW      457     0       0       0       0.417   
    462 460     OW      TIP3    0       9.9393  1.66216 16.958  OW      461     462     0       0       -0.834 
    463 461     HW      TIP3    0       10.6983 1.66216 17.4619 HW      460     0       0       0       0.417   
    464 462     HW      TIP3    0       10.6983 1.66216 16.454  HW      460     0       0       0       0.417   
    465 463     OW      TIP3    0       9.9393  1.66216 20.0412 OW      464     465     0       0       -0.834 
    466 464     HW      TIP3    0       10.6983 1.66216 20.5452 HW      463     0       0       0       0.417   
    467 465     HW      TIP3    0       10.6983 1.66216 19.5372 HW      463     0       0       0       0.417   
    468 466     OW      TIP3    0       9.9393  1.66216 23.1245 OW      467     468     0       0       -0.834 
    469 467     HW      TIP3    0       10.6983 1.66216 23.6285 HW      466     0       0       0       0.417   
    470 468     HW      TIP3    0       10.6983 1.66216 22.6205 HW      466     0       0       0       0.417   
    471 469     OW      TIP3    0       9.9393  1.66216 26.2077 OW      470     471     0       0       -0.834 
    472 470     HW      TIP3    0       10.6983 1.66216 26.7117 HW      469     0       0       0       0.417   
    473 471     HW      TIP3    0       10.6983 1.66216 25.7037 HW      469     0       0       0       0.417   
    474 472     OW      TIP3    0       9.9393  1.66216 29.291  OW      473     474     0       0       -0.834 
    475 473     HW      TIP3    0       10.6983 1.66216 29.795  HW      472     0       0       0       0.417   
    476 474     HW      TIP3    0       10.6983 1.66216 28.787  HW      472     0       0       0       0.417   
    477 475     OW      TIP3    0       9.9393  1.66216 32.3743 OW      476     477     0       0       -0.834 
    478 476     HW      TIP3    0       10.6983 1.66216 32.8783 HW      475     0       0       0       0.417   
    479 477     HW      TIP3    0       10.6983 1.66216 31.8703 HW      475     0       0       0       0.417   
    480 478     OW      TIP3    0       9.9393  4.98648 1.54163 OW      479     480     0       0       -0.834 
    481 479     HW      TIP3    0       10.6983 4.98648 2.04563 HW      478     0       0       0       0.417   
    482 480     HW      TIP3    0       10.6983 4.98648 1.03763 HW      478     0       0       0       0.417   
    483 481     OW      TIP3    0       9.9393  4.98648 4.6249  OW      482     483     0       0       -0.834 
    484 482     HW      TIP3    0       10.6983 4.98648 5.1289  HW      481     0       0       0       0.417   
    485 483     HW      TIP3    0       10.6983 4.98648 4.1209  HW      481     0       0       0       0.417   
    486 484     OW      TIP3    0       9.9393  4.98648 7.70816 OW      485     486     0       0       -0.834 
    487 485     HW      TIP3    0       10.6983 4.98648 8.21216 HW      484     0       0       0       0.417   
    488 486     HW      TIP3    0       10.6983 4.98648 7.20416 HW      484     0       0       0       0.417   
    489 487     OW      TIP3    0       9.9393  4.98648 10.7914 OW      488     489     0       0       -0.834 
    490 488     HW      TIP3    0       10.6983 4.98648 11.2954 HW      487     0       0       0       0.417   
    491 489     HW      TIP3    0       10.6983 4.98648 10.2874 HW      487     0       0       0       0.417   
    492 490     OW      TIP3    0       9.9393  4.98648 16.958  OW      491     492     0       0       -0.834 
    493 491     HW      TIP3    0       10.6983 4.98648 17.4619 HW      490     0       0       0       0.417   
    494 492     HW      TIP3    0       10.6983 4.98648 16.454  HW      490     0       0       0       0.417   
    495 493     OW      TIP3    0       9.9393  4.98648 32.3743 OW      494     495     0       0       -0.834 
    496 494     HW      TIP3    0       10.6983 4.98648 32.8783 HW      493     0       0       0       0.417   
    497 495     HW      TIP3    0       10.6983 4.98648 31.8703 HW      493     0       0       0       0.417   
    498 496     OW      TIP3    0       9.9393  8.3108  1.54163 OW      497     498     0       0       -0.834 
    499 497     HW      TIP3    0       10.6983 8.3108  2.04563 HW      496     0       0       0       0.417   
    500 498     HW      TIP3    0       10.6983 8.3108  1.03763 HW      496     0       0       0       0.417   
    501 499     OW      TIP3    0       9.9393  8.3108  32.3743 OW      500     501     0       0       -0.834 
    502 500     HW      TIP3    0       10.6983 8.3108  32.8783 HW      499     0       0       0       0.417   
    503 501     HW      TIP3    0       10.6983 8.3108  31.8703 HW      499     0       0       0       0.417   
    504 502     OW      TIP3    0       9.9393  11.6351 1.54163 OW      503     504     0       0       -0.834 
    505 503     HW      TIP3    0       10.6983 11.6351 2.04563 HW      502     0       0       0       0.417   
    506 504     HW      TIP3    0       10.6983 11.6351 1.03763 HW      502     0       0       0       0.417   
    507 505     OW      TIP3    0       9.9393  11.6351 13.8747 OW      506     507     0       0       -0.834 
    508 506     HW      TIP3    0       10.6983 11.6351 14.3787 HW      505     0       0       0       0.417   
    509 507     HW      TIP3    0       10.6983 11.6351 13.3707 HW      505     0       0       0       0.417   
    510 508     OW      TIP3    0       9.9393  11.6351 16.958  OW      509     510     0       0       -0.834 
    511 509     HW      TIP3    0       10.6983 11.6351 17.4619 HW      508     0       0       0       0.417   
    512 510     HW      TIP3    0       10.6983 11.6351 16.454  HW      508     0       0       0       0.417   
    513 511     OW      TIP3    0       9.9393  11.6351 20.0412 OW      512     513     0       0       -0.834 
    514 512     HW      TIP3    0       10.6983 11.6351 20.5452 HW      511     0       0       0       0.417   
    515 513     HW      TIP3    0       10.6983 11.6351 19.5372 HW      511     0       0       0       0.417   
    516 514     OW      TIP3    0       9.9393  11.6351 23.1245 OW      515     516     0       0       -0.834 
    517 515     HW      TIP3    0       10.6983 11.6351 23.6285 HW      514     0       0       0       0.417   
    518 516     HW      TIP3    0       10.6983 11.6351 22.6205 HW      514     0       0       0       0.417   
    519 517     OW      TIP3    0       9.9393  11.6351 26.2077 OW      518     519     0       0       -0.834 
    520 518     HW      TIP3    0       10.6983 11.6351 26.7117 HW      517     0       0       0       0.417   
    521 519     HW      TIP3    0       10.6983 11.6351 25.7037 HW      517     0       0       0       0.417   
    522 520     OW      TIP3    0       9.9393  11.6351 29.291  OW      521     522     0       0       -0.834 
    523 521     HW      TIP3    0       10.6983 11.6351 29.795  HW      520     0       0       0       0.417   
    524 522     HW      TIP3    0       10.6983 11.6351 28.787  HW      520     0       0       0       0.417   
    525 523     OW      TIP3    0       9.9393  11.6351 32.3743 OW      524     525     0       0       -0.834 
    526 524     HW      TIP3    0       10.6983 11.6351 32.8783 HW      523     0       0       0       0.417   
    527 525     HW      TIP3    0       10.6983 11.6351 31.8703 HW      523     0       0       0       0.417   
    528 526     OW      TIP3    0       9.9393  14.9594 1.54163 OW      527     528     0       0       -0.834 
    529 527     HW      TIP3    0       10.6983 14.9594 2.04563 HW      526     0       0       0       0.417   
    530 528     HW      TIP3    0       10.6983 14.9594 1.03763 HW      526     0       0       0       0.417   
    531 529     OW      TIP3    0       9.9393  14.9594 4.6249  OW      530     531     0       0       -0.834 
    532 530     HW      TIP3    0       10.6983 14.9594 5.1289  HW      529     0       0       0       0.417   
    533 531     HW      TIP3    0       10.6983 14.9594 4.1209  HW      529     0       0       0       0.417   
    534 532     OW      TIP3    0       9.9393  14.9594 7.70816 OW      533     534     0       0       -0.834 
    535 533     HW      TIP3    0       10.6983 14.9594 8.21216 HW      532     0       0       0       0.417   
    536 534     HW      TIP3    0       10.6983 14.9594 7.20416 HW      532     0       0       0       0.417   
    537 535     OW      TIP3    0       9.9393  14.9594 10.7914 OW      536     537     0       0       -0.834 
    538 536     HW      TIP3    0       10.6983 14.9594 11.2954 HW      535     0       0       0       0.417   
    539 537     HW      TIP3    0       10.6983 14.9594 10.2874 HW      535     0       0       0       0.417   
    540 538     OW      TIP3    0       9.9393  14.9594 13.8747 OW      539     540     0       0       -0.834 
    541 539     HW      TIP3    0       10.6983 14.9594 14.3787 HW      538     0       0       0       0.417   
    542 540     HW      TIP3    0       10.6983 14.9594 13.3707 HW      538     0       0       0       0.417   
    543 541     OW      TIP3    0       9.9393  14.9594 16.958  OW      542     543     0       0       -0.834 
    544 542     HW      TIP3    0       10.6983 14.9594 17.4619 HW      541     0       0       0       0.417   
    545 543     HW      TIP3    0       10.6983 14.9594 16.454  HW      541     0       0       0       0.417   
    546 544     OW      TIP3    0       9.9393  14.9594 20.0412 OW      545     546     0       0       -0.834 
    547 545     HW      TIP3    0       10.6983 14.9594 20.5452 HW      544     0       0       0       0.417   
    548 546     HW      TIP3    0       10.6983 14.9594 19.5372 HW      544     0       0       0       0.417   
    549 547     OW      TIP3    0       9.9393  14.9594 23.1245 OW      548     549     0       0       -0.834 
    550 548     HW      TIP3    0       10.6983 14.9594 23.6285 HW      547     0       0       0       0.417   
    551 549     HW      TIP3    0       10.6983 14.9594 22.6205 HW      547     0       0       0       0.417   
    552 550     OW      TIP3    0       9.9393  14.9594 26.2077 OW      551     552     0       0       -0.834 
    553 551     HW      TIP3    0       10.6983 14.9594 26.7117 HW      550     0       0       0       0.417   
    554 552     HW      TIP3    0       10.6983 14.9594 25.7037 HW      550     0       0       0       0.417   
    555 553     OW      TIP3    0       9.9393  14.9594 29.291  OW      554     555     0       0       -0.834 
    556 554     HW      TIP3    0       10.6983 14.9594 29.795  HW      553     0       0       0       0.417   
    557 555     HW      TIP3    0       10.6983 14.9594 28.787  HW      553     0       0       0       0.417   
    558 556     OW      TIP3    0       9.9393  14.9594 32.3743 OW      557     558     0       0       -0.834 
    559 557     HW      TIP3    0       10.6983 14.9594 32.8783 HW      556     0       0       0       0.417   
    560 558     HW      TIP3    0       10.6983 14.9594 31.8703 HW      556     0       0       0       0.417   
    561 559     OW      TIP3    0       12.7791 1.66216 1.54163 OW      560     561     0       0       -0.834 
    562 560     HW      TIP3    0       13.5381 1.66216 2.04563 HW      559     0       0       0       0.417   
    563 561     HW      TIP3    0       13.5381 1.66216 1.03763 HW      559     0       0       0       0.417   
    564 562     OW      TIP3    0       12.7791 1.66216 4.6249  OW      563     564     0       0       -0.834 
    565 563     HW      TIP3    0       13.5381 1.66216 5.1289  HW      562     0       0       0       0.417   
    566 564     HW      TIP3    0       13.5381 1.66216 4.1209  HW      562     0       0       0       0.417   
    567 565     OW      TIP3    0       12.7791 1.66216 7.70816 OW      566     567     0       0       -0.834 
    568 566     HW      TIP3    0       13.5381 1.66216 8.21216 HW      565     0       0       0       0.417   
    569 567     HW      TIP3    0       13.5381 1.66216 7.20416 HW      565     0       0       0       0.417   
    570 568     OW      TIP3    0       12.7791 1.66216 10.7914 OW      569     570     0       0       -0.834 
    571 569     HW      TIP3    0       13.5381 1.66216 11.2954 HW      568     0       0       0       0.417   
    572 570     HW      TIP3    0       13.5381 1.66216 10.2874 HW      568     0       0       0       0.417   
    573 571     OW      TIP3    0       12.7791 1.66216 13.8747 OW      572     573     0       0       -0.834 
    574 572     HW      TIP3    0       13.5381 1.66216 14.3787 HW      571     0       0       0       0.417   
    575 573     HW      TIP3    0       13.5381 1.66216 13.3707 HW      571     0       0       0       0.417   
    576 574     OW      TIP3    0       12.7791 1.66216 16.958  OW      575     576     0       0       -0.834 
    577 575     HW      TIP3    0       13.5381 1.66216 17.4619 HW      574     0       0       0       0.417   
    578 576     HW      TIP3    0       13.5381 1.66216 16.454  HW      574     0       0       0       0.417   
    579 577     OW      TIP3    0       12.7791 1.66216 20.0412 OW      578     579     0       0       -0.834 
    580 578     HW      TIP3    0       13.5381 1.66216 20.5452 HW      577     0       0       0       0.417   
    581 579     HW      TIP3    0       13.5381 1.66216 19.5372 HW      577     0       0       0       0.417   
    582 580     OW      TIP3    0       12.7791 1.66216 23.1245 OW      581     582     0       0       -0.834 
    583 581     HW      TIP3    0       13.5381 1.66216 23.6285 HW      580     0       0       0       0.417   
    584 582     HW      TIP3    0       13.5381 1.66216 22.6205 HW      580     0       0       0       0.417   
    585 583     OW      TIP3    0       12.7791 1.66216 26.2077 OW      584     585     0       0       -0.834 
    586 584     HW      TIP3    0       13.5381 1.66216 26.7117 HW      583     0       0       0       0.417   
    587 585     HW      TIP3    0       13.5381 1.66216 25.7037 HW      583     0       0       0       0.417   
    588 586     OW      TIP3    0       12.7791 1.66216 29.291  OW      587     588     0       0       -0.834 
    589 587     HW      TIP3    0       13.5381 1.66216 29.795  HW      586     0       0       0       0.417   
    590 588     HW      TIP3    0       13.5381 1.66216 28.787  HW      586     0       0       0       0.417   
    591 589     OW      TIP3    0       12.7791 1.66216 32.3743 OW      590     591     0       0       -0.834 
    592 590     HW      TIP3    0       13.5381 1.66216 32.8783 HW      589     0       0       0       0.417   
    593 591     HW      TIP3    0       13.5381 1.66216 31.8703 HW      589     0       0       0       0.417   
    594 592     OW      TIP3    0       12.7791 4.98648 1.54163 OW      593     594     0       0       -0.834 
    595 593     HW      TIP3    0       13.5381 4.98648 2.04563 HW      592     0       0       0       0.417   
    596 594     HW      TIP3    0       13.5381 4.98648 1.03763 HW      592     0       0       0       0.417   
    597 595     OW      TIP3    0       12.7791 4.98648 4.6249  OW      596     597     0       0       -0.834 
    598 596     HW      TIP3    0       13.5381 4.98648 5.1289  HW      595     0       0       0       0.417   
    599 597     HW      TIP3    0       13.5381 4.98648 4.1209  HW      595     0       0       0       0.417   
    600 598     OW      TIP3    0       12.7791 4.98648 7.70816 OW      599     600     0       0       -0.834 
    601 599     HW      TIP3    0       13.5381 4.98648 8.21216 HW      598     0       0       0       0.417   
    602 600     HW      TIP3    0       13.5381 4.98648 7.20416 HW      598     0       0       0       0.417   
    603 601     OW      TIP3    0       12.7791 4.98648 10.7914 OW      602     603     0       0       -0.834 
    604 602     HW      TIP3    0       13.5381 4.98648 11.2954 HW      601     0       0       0       0.417   
    605 603     HW      TIP3    0       13.5381 4.98648 10.2874 HW      601     0       0       0       0.417   
    606 604     OW      TIP3    0       12.7791 4.98648 13.8747 OW      605     606     0       0       -0.834 
    607 605     HW      TIP3    0       13.5381 4.98648 14.3787 HW      604     0       0       0       0.417   
    608 606     HW      TIP3    0       13.5381 4.98648 13.3707 HW      604     0       0       0       0.417   
    609 607     OW      TIP3    0       12.7791 4.98648 16.958  OW      608     609     0       0       -0.834 
    610 608     HW      TIP3    0       13.5381 4.98648 17.4619 HW      607     0       0       0       0.417   
    611 609     HW      TIP3    0       13.5381 4.98648 16.454  HW      607     0       0       0       0.417   
    612 610     OW      TIP3    0       12.7791 4.98648 20.0412 OW      611     612     0       0       -0.834 
    613 611     HW      TIP3    0       13.5381 4.98648 20.5452 HW      610     0       0       0       0.417   
    614 612     HW      TIP3    0       13.5381 4.98648 19.5372 HW      610     0       0       0       0.417   
    615 613     OW      TIP3    0       12.7791 4.98648 23.1245 OW      614     615     0       0       -0.834 
    616 614     HW      TIP3    0       13.5381 4.98648 23.6285 HW      613     0       0       0       0.417   
    617 615     HW      TIP3    0       13.5381 4.98648 22.6205 HW      613     0       0       0       0.417   
    618 616     OW      TIP3    0       12.7791 4.98648 26.2077 OW      617     618     0       0       -0.834 
    619 617     HW      TIP3    0       13.5381 4.98648 26.7117 HW      616     0       0       0       0.417   
    620 618     HW      TIP3    0       13.5381 4.98648 25.7037 HW      616     0       0       0       0.417   
    621 619     OW      TIP3    0       12.7791 4.98648 29.291  OW      620     621     0       0       -0.834 
    622 620     HW      TIP3    0       13.5381 4.98648 29.795  HW      619     0       0       0       0.417   
    623 621     HW      TIP3    0       13.5381 4.98648 28.787  HW      619     0       0       0       0.417   
    624 622     OW      TIP3    0       12.7791 4.98648 32.3743 OW      623     624     0       0       -0.834 
    625 623     HW      TIP3    0       13.5381 4.98648 32.8783 HW      622     0       0       0       0.417   
    626 624     HW      TIP3    0       13.5381 4.98648 31.8703 HW      622     0       0       0       0.417   
    627 625     OW      TIP3    0       12.7791 8.3108  1.54163 OW      626     627     0       0       -0.834 
    628 626     HW      TIP3    0       13.5381 8.3108  2.04563 HW      625     0       0       0       0.417   
    629 627     HW      TIP3    0       13.5381 8.3108  1.03763 HW      625     0       0       0       0.417   
    630 628     OW      TIP3    0       12.7791 8.3108  4.6249  OW      629     630     0       0       -0.834 
    631 629     HW      TIP3    0       13.5381 8.3108  5.1289  HW      628     0       0       0       0.417   
    632 630     HW      TIP3    0       13.5381 8.3108  4.1209  HW      628     0       0       0       0.417   
    633 631     OW      TIP3    0       12.7791 8.3108  7.70816 OW      632     633     0       0       -0.834 
    634 632     HW      TIP3    0       13.5381 8.3108  8.21216 HW      631     0       0       0       0.417   
    635 633     HW      TIP3    0       13.5381 8.3108  7.20416 HW      631     0       0       0       0.417   
    636 634     OW      TIP3    0       12.7791 8.3108  10.7914 OW      635     636     0       0       -0.834 
    637 635     HW      TIP3    0       13.5381 8.3108  11.2954 HW      634     0       0       0       0.417   
    638 636     HW      TIP3    0       13.5381 8.3108  10.2874 HW      634     0       0       0       0.417   
    639 637     OW      TIP3    0       12.7791 8.3108  13.8747 OW      638     639     0       0       -0.834 
    640 638     HW      TIP3    0       13.5381 8.3108  14.3787 HW      637     0       0       0       0.417   
    641 639     HW      TIP3    0       13.5381 8.3108  13.3707 HW      637     0       0       0       0.417   
    642 640     OW      TIP3    0       12.7791 8.3108  16.958  OW      641     642     0       0       -0.834 
    643 641     HW      TIP3    0       13.5381 8.3108  17.4619 HW      640     0       0       0       0.417   
    644 642     HW      TIP3    0       13.5381 8.3108  16.454  HW      640     0       0       0       0.417   
    645 643     OW      TIP3    0       12.7791 8.3108  20.0412 OW      644     645     0       0       -0.834 
    646 644     HW      TIP3    0       13.5381 8.3108  20.5452 HW      643     0       0       0       0.417   
    647 645     HW      TIP3    0       13.5381 8.3108  19.5372 HW      643     0       0       0       0.417   
    648 646     OW      TIP3    0       12.7791 8.3108  23.1245 OW      647     648     0       0       -0.834 
    649 647     HW      TIP3    0       13.5381 8.3108  23.6285 HW      646     0       0       0       0.417   
    650 648     HW      TIP3    0       13.5381 8.3108  22.6205 HW      646     0       0       0       0.417   
    651 649     OW      TIP3    0       12.7791 8.3108  26.2077 OW      650     651     0       0       -0.834 
    652 650     HW      TIP3    0       13.5381 8.3108  26.7117 HW      649     0       0       0       0.417   
    653 651     HW      TIP3    0       13.5381 8.3108  25.7037 HW      649     0       0       0       0.417   
    654 652     OW      TIP3    0       12.7791 8.3108  29.291  OW      653     654     0       0       -0.834 
    655 653     HW      TIP3    0       13.5381 8.3108  29.795  HW      652     0       0       0       0.417   
    656 654     HW      TIP3    0       13.5381 8.3108  28.787  HW      652     0       0       0       0.417   
    657 655     OW      TIP3    0       12.7791 8.3108  32.3743 OW      656     657     0       0       -0.834 
    658 656     HW      TIP3    0       13.5381 8.3108  32.8783 HW      655     0       0       0       0.417   
    659 657     HW      TIP3    0       13.5381 8.3108  31.8703 HW      655     0       0       0       0.417   
    660 658     OW      TIP3    0       12.7791 11.6351 1.54163 OW      659     660     0       0       -0.834 
    661 659     HW      TIP3    0       13.5381 11.6351 2.04563 HW      658     0       0       0       0.417   
    662 660     HW      TIP3    0       13.5381 11.6351 1.03763 HW      658     0       0       0       0.417   
    663 661     OW      TIP3    0       12.7791 11.6351 4.6249  OW      662     663     0       0       -0.834 
    664 662     HW      TIP3    0       13.5381 11.6351 5.1289  HW      661     0       0       0       0.417   
    665 663     HW      TIP3    0       13.5381 11.6351 4.1209  HW      661     0       0       0       0.417   
    666 664     OW      TIP3    0       12.7791 11.6351 7.70816 OW      665     666     0       0       -0.834 
    667 665     HW      TIP3    0       13.5381 11.6351 8.21216 HW      664     0       0       0       0.417   
    668 666     HW      TIP3    0       13.5381 11.6351 7.20416 HW      664     0       0       0       0.417   
    669 667     OW      TIP3    0       12.7791 11.6351 10.7914 OW      668     669     0       0       -0.834 
    670 668     HW      TIP3    0       13.5381 11.6351 11.2954 HW      667     0       0       0       0.417   
    671 669     HW      TIP3    0       13.5381 11.6351 10.2874 HW      667     0       0       0       0.417   
    672 670     OW      TIP3    0       12.7791 11.6351 13.8747 OW      671     672     0       0       -0.834 
    673 671     HW      TIP3    0       13.5381 11.6351 14.3787 HW      670     0       0       0       0.417   
    674 672     HW      TIP3    0       13.5381 11.6351 13.3707 HW      670     0       0       0       0.417   
    675 673     OW      TIP3    0       12.7791 11.6351 16.958  OW      674     675     0       0       -0.834 
    676 674     HW      TIP3    0       13.5381 11.6351 17.4619 HW      673     0       0       0       0.417   
    677 675     HW      TIP3    0       13.5381 11.6351 16.454  HW      673     0       0       0       0.417   
    678 676     OW      TIP3    0       12.7791 11.6351 20.0412 OW      677     678     0       0       -0.834 
    679 677     HW      TIP3    0       13.5381 11.6351 20.5452 HW      676     0       0       0       0.417   
    680 678     HW      TIP3    0       13.5381 11.6351 19.5372 HW      676     0       0       0       0.417   
    681 679     OW      TIP3    0       12.7791 11.6351 23.1245 OW      680     681     0       0       -0.834 
    682 680     HW      TIP3    0       13.5381 11.6351 23.6285 HW      679     0       0       0       0.417   
    683 681     HW      TIP3    0       13.5381 11.6351 22.6205 HW      679     0       0       0       0.417   
    684 682     OW      TIP3    0       12.7791 11.6351 26.2077 OW      683     684     0       0       -0.834 
    685 683     HW      TIP3    0       13.5381 11.6351 26.7117 HW      682     0       0       0       0.417   
    686 684     HW      TIP3    0       13.5381 11.6351 25.7037 HW      682     0       0       0       0.417   
    687 685     OW      TIP3    0       12.7791 11.6351 29.291  OW      686     687     0       0       -0.834 
    688 686     HW      TIP3    0       13.5381 11.6351 29.795  HW      685     0       0       0       0.417   
    689 687     HW      TIP3    0       13.5381 11.6351 28.787  HW      685     0       0       0       0.417   
    690 688     OW      TIP3    0       12.7791 11.6351 32.3743 OW      689     690     0       0       -0.834 
    691 689     HW      TIP3    0       13.5381 11.6351 32.8783 HW      688     0       0       0       0.417   
    692 690     HW      TIP3    0       13.5381 11.6351 31.8703 HW      688     0       0       0       0.417   
    693 691     OW      TIP3    0       12.7791 14.9594 1.54163 OW      692     693     0       0       -0.834 
    694 692     HW      TIP3    0       13.5381 14.9594 2.04563 HW      691     0       0       0       0.417   
    695 693     HW      TIP3    0       13.5381 14.9594 1.03763 HW      691     0       0       0       0.417   
    696 694     OW      TIP3    0       12.7791 14.9594 4.6249  OW      695     696     0       0       -0.834 
    697 695     HW      TIP3    0       13.5381 14.9594 5.1289  HW      694     0       0       0       0.417   
    698 696     HW      TIP3    0       13.5381 14.9594 4.1209  HW      694     0       0       0       0.417   
    699 697     OW      TIP3    0       12.7791 14.9594 7.70816 OW      698     699     0       0       -0.834 
    700 698     HW      TIP3    0       13.5381 14.9594 8.21216 HW      697     0       0       0       0.417   
    701 699     HW      TIP3    0       13.5381 14.9594 7.20416 HW      697     0       0       0       0.417   
    702 700     OW      TIP3    0       12.7791 14.9594 10.7914 OW      701     702     0       0       -0.834 
    703 701     HW      TIP3    0       13.5381 14.9594 11.2954 HW      700     0       0       0       0.417   
    704 702     HW      TIP3    0       13.5381 14.9594 10.2874 HW      700     0       0       0       0.417   
    705 703     OW      TIP3    0       12.7791 14.9594 13.8747 OW      704     705     0       0       -0.834 
    706 704     HW      TIP3    0       13.5381 14.9594 14.3787 HW      703     0       0       0       0.417   
    707 705     HW      TIP3    0       13.5381 14.9594 13.3707 HW      703     0       0       0       0.417   
    708 706     OW      TIP3    0       12.7791 14.9594 16.958  OW      707     708     0       0       -0.834 
    709 707     HW      TIP3    0       13.5381 14.9594 17.4619 HW      706     0       0       0       0.417   
    710 708     HW      TIP3    0       13.5381 14.9594 16.454  HW      706     0       0       0       0.417   
    711 709     OW      TIP3    0       12.7791 14.9594 20.0412 OW      710     711     0       0       -0.834 
    712 710     HW      TIP3    0       13.5381 14.9594 20.5452 HW      709     0       0       0       0.417   
    713 711     HW      TIP3    0       13.5381 14.9594 19.5372 HW      709     0       0       0       0.417   
    714 712     OW      TIP3    0       12.7791 14.9594 23.1245 OW      713     714     0       0       -0.834 
    715 713     HW      TIP3    0       13.5381 14.9594 23.6285 HW      712     0       0       0       0.417   
    716 714     HW      TIP3    0       13.5381 14.9594 22.6205 HW      712     0       0       0       0.417   
    717 715     OW      TIP3    0       12.7791 14.9594 26.2077 OW      716     717     0       0       -0.834 
    718 716     HW      TIP3    0       13.5381 14.9594 26.7117 HW      715     0       0       0       0.417   
    719 717     HW      TIP3    0       13.5381 14.9594 25.7037 HW      715     0       0       0       0.417   
    720 718     OW      TIP3    0       12.7791 14.9594 29.291  OW      719     720     0       0       -0.834 
    721 719     HW      TIP3    0       13.5381 14.9594 29.795  HW      718     0       0       0       0.417   
    722 720     HW      TIP3    0       13.5381 14.9594 28.787  HW      718     0       0       0       0.417   
    723 721     OW      TIP3    0       12.7791 14.9594 32.3743 OW      722     723     0       0       -0.834 
    724 722     HW      TIP3    0       13.5381 14.9594 32.8783 HW      721     0       0       0       0.417   
    725 723     HW      TIP3    0       13.5381 14.9594 31.8703 HW      721     0       0       0       0.417   
     6058      OW      TIP3    0       1.4199  1.66216 2.04563 OW      59      60      0       0       -0.834 
     6159      HW      TIP3    0       2.1789  1.66216 2.54963 HW      58      0       0       0       0.417   
     6260      HW      TIP3    0       2.1789  1.66216 1.54163 HW      58      0       0       0       0.417   
     6361      OW      TIP3    0       1.4199  1.66216 5.1289  OW      62      63      0       0       -0.834 
     6462      HW      TIP3    0       2.1789  1.66216 5.6329  HW      61      0       0       0       0.417   
     6563      HW      TIP3    0       2.1789  1.66216 4.6249  HW      61      0       0       0       0.417   
     6664      OW      TIP3    0       1.4199  1.66216 8.21216 OW      65      66      0       0       -0.834 
     6765      HW      TIP3    0       2.1789  1.66216 8.71616 HW      64      0       0       0       0.417   
     6866      HW      TIP3    0       2.1789  1.66216 7.70816 HW      64      0       0       0       0.417   
     6967      OW      TIP3    0       1.4199  1.66216 11.2954 OW      68      69      0       0       -0.834 
     7068      HW      TIP3    0       2.1789  1.66216 11.7994 HW      67      0       0       0       0.417   
     7169      HW      TIP3    0       2.1789  1.66216 10.7914 HW      67      0       0       0       0.417   
     7270      OW      TIP3    0       1.4199  1.66216 14.3787 OW      71      72      0       0       -0.834 
     7371      HW      TIP3    0       2.1789  1.66216 14.8827 HW      70      0       0       0       0.417   
     7472      HW      TIP3    0       2.1789  1.66216 13.8747 HW      70      0       0       0       0.417   
     7573      OW      TIP3    0       1.4199  1.66216 17.4619 OW      74      75      0       0       -0.834 
     7674      HW      TIP3    0       2.1789  1.66216 17.966  HW      73      0       0       0       0.417   
     7775      HW      TIP3    0       2.1789  1.66216 16.958  HW      73      0       0       0       0.417   
     7876      OW      TIP3    0       1.4199  1.66216 20.5452 OW      77      78      0       0       -0.834 
     7977      HW      TIP3    0       2.1789  1.66216 21.0492 HW      76      0       0       0       0.417   
     8078      HW      TIP3    0       2.1789  1.66216 20.0412 HW      76      0       0       0       0.417   
     8179      OW      TIP3    0       1.4199  1.66216 23.6285 OW      80      81      0       0       -0.834 
     8280      HW      TIP3    0       2.1789  1.66216 24.1325 HW      79      0       0       0       0.417   
     8381      HW      TIP3    0       2.1789  1.66216 23.1245 HW      79      0       0       0       0.417   
     8482      OW      TIP3    0       1.4199  1.66216 26.7117 OW      83      84      0       0       -0.834 
     8583      HW      TIP3    0       2.1789  1.66216 27.2157 HW      82      0       0       0       0.417   
     8684      HW      TIP3    0       2.1789  1.66216 26.2077 HW      82      0       0       0       0.417   
     8785      OW      TIP3    0       1.4199  1.66216 29.795  OW      86      87      0       0       -0.834 
     8886      HW      TIP3    0       2.1789  1.66216 30.299  HW      85      0       0       0       0.417   
     8987      HW      TIP3    0       2.1789  1.66216 29.291  HW      85      0       0       0       0.417   
     9088      OW      TIP3    0       1.4199  1.66216 32.8783 OW      89      90      0       0       -0.834 
     9189      HW      TIP3    0       2.1789  1.66216 33.3823 HW      88      0       0       0       0.417   
     9290      HW      TIP3    0       2.1789  1.66216 32.3743 HW      88      0       0       0       0.417   
     9391      OW      TIP3    0       1.4199  4.98648 2.04563 OW      92      93      0       0       -0.834 
     9492      HW      TIP3    0       2.1789  4.98648 2.54963 HW      91      0       0       0       0.417   
     9593      HW      TIP3    0       2.1789  4.98648 1.54163 HW      91      0       0       0       0.417   
     9694      OW      TIP3    0       1.4199  4.98648 5.1289  OW      95      96      0       0       -0.834 
     9795      HW      TIP3    0       2.1789  4.98648 5.6329  HW      94      0       0       0       0.417   
     9896      HW      TIP3    0       2.1789  4.98648 4.6249  HW      94      0       0       0       0.417   
     9997      OW      TIP3    0       1.4199  4.98648 8.21216 OW      98      99      0       0       -0.834 
     10098      HW      TIP3    0       2.1789  4.98648 8.71616 HW      97      0       0       0       0.417   
     10199      HW      TIP3    0       2.1789  4.98648 7.70816 HW      97      0       0       0       0.417   
     102100     OW      TIP3    0       1.4199  4.98648 11.2954 OW      101     102     0       0       -0.834 
     103101     HW      TIP3    0       2.1789  4.98648 11.7994 HW      100     0       0       0       0.417   
     104102     HW      TIP3    0       2.1789  4.98648 10.7914 HW      100     0       0       0       0.417   
     105103     OW      TIP3    0       1.4199  4.98648 14.3787 OW      104     105     0       0       -0.834 
     106104     HW      TIP3    0       2.1789  4.98648 14.8827 HW      103     0       0       0       0.417   
     107105     HW      TIP3    0       2.1789  4.98648 13.8747 HW      103     0       0       0       0.417   
     108106     OW      TIP3    0       1.4199  4.98648 17.4619 OW      107     108     0       0       -0.834 
     109107     HW      TIP3    0       2.1789  4.98648 17.966  HW      106     0       0       0       0.417   
     110108     HW      TIP3    0       2.1789  4.98648 16.958  HW      106     0       0       0       0.417   
     111109     OW      TIP3    0       1.4199  4.98648 20.5452 OW      110     111     0       0       -0.834 
     112110     HW      TIP3    0       2.1789  4.98648 21.0492 HW      109     0       0       0       0.417   
     113111     HW      TIP3    0       2.1789  4.98648 20.0412 HW      109     0       0       0       0.417   
     114112     OW      TIP3    0       1.4199  4.98648 23.6285 OW      113     114     0       0       -0.834 
     115113     HW      TIP3    0       2.1789  4.98648 24.1325 HW      112     0       0       0       0.417   
     116114     HW      TIP3    0       2.1789  4.98648 23.1245 HW      112     0       0       0       0.417   
     117115     OW      TIP3    0       1.4199  4.98648 26.7117 OW      116     117     0       0       -0.834 
     118116     HW      TIP3    0       2.1789  4.98648 27.2157 HW      115     0       0       0       0.417   
     119117     HW      TIP3    0       2.1789  4.98648 26.2077 HW      115     0       0       0       0.417   
     120118     OW      TIP3    0       1.4199  4.98648 29.795  OW      119     120     0       0       -0.834 
     121119     HW      TIP3    0       2.1789  4.98648 30.299  HW      118     0       0       0       0.417   
     122120     HW      TIP3    0       2.1789  4.98648 29.291  HW      118     0       0       0       0.417   
     123121     OW      TIP3    0       1.4199  4.98648 32.8783 OW      122     123     0       0       -0.834 
     124122     HW      TIP3    0       2.1789  4.98648 33.3823 HW      121     0       0       0       0.417   
     125123     HW      TIP3    0       2.1789  4.98648 32.3743 HW      121     0       0       0       0.417   
     126124     OW      TIP3    0       1.4199  8.3108  2.04563 OW      125     126     0       0       -0.834 
     127125     HW      TIP3    0       2.1789  8.3108  2.54963 HW      124     0       0       0       0.417   
     128126     HW      TIP3    0       2.1789  8.3108  1.54163 HW      124     0       0       0       0.417   
     129127     OW      TIP3    0       1.4199  8.3108  5.1289  OW      128     129     0       0       -0.834 
     130128     HW      TIP3    0       2.1789  8.3108  5.6329  HW      127     0       0       0       0.417   
     131129     HW      TIP3    0       2.1789  8.3108  4.6249  HW      127     0       0       0       0.417   
     132130     OW      TIP3    0       1.4199  8.3108  8.21216 OW      131     132     0       0       -0.834 
     133131     HW      TIP3    0       2.1789  8.3108  8.71616 HW      130     0       0       0       0.417   
     134132     HW      TIP3    0       2.1789  8.3108  7.70816 HW      130     0       0       0       0.417   
     135133     OW      TIP3    0       1.4199  8.3108  11.2954 OW      134     135     0       0       -0.834 
     136134     HW      TIP3    0       2.1789  8.3108  11.7994 HW      133     0       0       0       0.417   
     137135     HW      TIP3    0       2.1789  8.3108  10.7914 HW      133     0       0       0       0.417   
     138136     OW      TIP3    0       1.4199  8.3108  14.3787 OW      137     138     0       0       -0.834 
     139137     HW      TIP3    0       2.1789  8.3108  14.8827 HW      136     0       0       0       0.417   
     140138     HW      TIP3    0       2.1789  8.3108  13.8747 HW      136     0       0       0       0.417   
     141139     OW      TIP3    0       1.4199  8.3108  17.4619 OW      140     141     0       0       -0.834 
     142140     HW      TIP3    0       2.1789  8.3108  17.966  HW      139     0       0       0       0.417   
     143141     HW      TIP3    0       2.1789  8.3108  16.958  HW      139     0       0       0       0.417   
     144142     OW      TIP3    0       1.4199  8.3108  20.5452 OW      143     144     0       0       -0.834 
     145143     HW      TIP3    0       2.1789  8.3108  21.0492 HW      142     0       0       0       0.417   
     146144     HW      TIP3    0       2.1789  8.3108  20.0412 HW      142     0       0       0       0.417   
     147145     OW      TIP3    0       1.4199  8.3108  23.6285 OW      146     147     0       0       -0.834 
     148146     HW      TIP3    0       2.1789  8.3108  24.1325 HW      145     0       0       0       0.417   
     149147     HW      TIP3    0       2.1789  8.3108  23.1245 HW      145     0       0       0       0.417   
     150148     OW      TIP3    0       1.4199  8.3108  26.7117 OW      149     150     0       0       -0.834 
     151149     HW      TIP3    0       2.1789  8.3108  27.2157 HW      148     0       0       0       0.417   
     152150     HW      TIP3    0       2.1789  8.3108  26.2077 HW      148     0       0       0       0.417   
     153151     OW      TIP3    0       1.4199  8.3108  29.795  OW      152     153     0       0       -0.834 
     154152     HW      TIP3    0       2.1789  8.3108  30.299  HW      151     0       0       0       0.417   
     155153     HW      TIP3    0       2.1789  8.3108  29.291  HW      151     0       0       0       0.417   
     156154     OW      TIP3    0       1.4199  8.3108  32.8783 OW      155     156     0       0       -0.834 
     157155     HW      TIP3    0       2.1789  8.3108  33.3823 HW      154     0       0       0       0.417   
     158156     HW      TIP3    0       2.1789  8.3108  32.3743 HW      154     0       0       0       0.417   
     159157     OW      TIP3    0       1.4199  11.6351 2.04563 OW      158     159     0       0       -0.834 
     160158     HW      TIP3    0       2.1789  11.6351 2.54963 HW      157     0       0       0       0.417   
     161159     HW      TIP3    0       2.1789  11.6351 1.54163 HW      157     0       0       0       0.417   
     162160     OW      TIP3    0       1.4199  11.6351 5.1289  OW      161     162     0       0       -0.834 
     163161     HW      TIP3    0       2.1789  11.6351 5.6329  HW      160     0       0       0       0.417   
     164162     HW      TIP3    0       2.1789  11.6351 4.6249  HW      160     0       0       0       0.417   
     165163     OW      TIP3    0       1.4199  11.6351 8.21216 OW      164     165     0       0       -0.834 
     166164     HW      TIP3    0       2.1789  11.6351 8.71616 HW      163     0       0       0       0.417   
     167165     HW      TIP3    0       2.1789  11.6351 7.70816 HW      163     0       0       0       0.417   
     168166     OW      TIP3    0       1.4199  11.6351 11.2954 OW      167     168     0       0       -0.834 
     169167     HW      TIP3    0       2.1789  11.6351 11.7994 HW      166     0       0       0       0.417   
     170168     HW      TIP3    0       2.1789  11.6351 10.7914 HW      166     0       0       0       0.417   
     171169     OW      TIP3    0       1.4199  11.6351 14.3787 OW      170     171     0       0       -0.834 
     172170     HW      TIP3    0       2.1789  11.6351 14.8827 HW      169     0       0       0       0.417   
     173171     HW      TIP3    0       2.1789  11.6351 13.8747 HW      169     0       0       0       0.417   
     174172     OW      TIP3    0       1.4199  11.6351 17.4619 OW      173     174     0       0       -0.834 
     175173     HW      TIP3    0       2.1789  11.6351 17.966  HW      172     0       0       0       0.417   
     176174     HW      TIP3    0       2.1789  11.6351 16.958  HW      172     0       0       0       0.417   
     177175     OW      TIP3    0       1.4199  11.6351 20.5452 OW      176     177     0       0       -0.834 
     178176     HW      TIP3    0       2.1789  11.6351 21.0492 HW      175     0       0       0       0.417   
     179177     HW      TIP3    0       2.1789  11.6351 20.0412 HW      175     0       0       0       0.417   
     180178     OW      TIP3    0       1.4199  11.6351 23.6285 OW      179     180     0       0       -0.834 
     181179     HW      TIP3    0       2.1789  11.6351 24.1325 HW      178     0       0       0       0.417   
     182180     HW      TIP3    0       2.1789  11.6351 23.1245 HW      178     0       0       0       0.417   
     183181     OW      TIP3    0       1.4199  11.6351 26.7117 OW      182     183     0       0       -0.834 
     184182     HW      TIP3    0       2.1789  11.6351 27.2157 HW      181     0       0       0       0.417   
     185183     HW      TIP3    0       2.1789  11.6351 26.2077 HW      181     0       0       0       0.417   
     186184     OW      TIP3    0       1.4199  11.6351 29.795  OW      185     186     0       0       -0.834 
     187185     HW      TIP3    0       2.1789  11.6351 30.299  HW      184     0       0       0       0.417   
     188186     HW      TIP3    0       2.1789  11.6351 29.291  HW      184     0       0       0       0.417   
     189187     OW      TIP3    0       1.4199  11.6351 32.8783 OW      188     189     0       0       -0.834 
     190188     HW      TIP3    0       2.1789  11.6351 33.3823 HW      187     0       0       0       0.417   
     191189     HW      TIP3    0       2.1789  11.6351 32.3743 HW      187     0       0       0       0.417   
     192190     OW      TIP3    0       1.4199  14.9594 2.04563 OW      191     192     0       0       -0.834 
     193191     HW      TIP3    0       2.1789  14.9594 2.54963 HW      190     0       0       0       0.417   
     194192     HW      TIP3    0       2.1789  14.9594 1.54163 HW      190     0       0       0       0.417   
     195193     OW      TIP3    0       1.4199  14.9594 5.1289  OW      194     195     0       0       -0.834 
     196194     HW      TIP3    0       2.1789  14.9594 5.6329  HW      193     0       0       0       0.417   
     197195     HW      TIP3    0       2.1789  14.9594 4.6249  HW      193     0       0       0       0.417   
     198196     OW      TIP3    0       1.4199  14.9594 8.21216 OW      197     198     0       0       -0.834 
     199197     HW      TIP3    0       2.1789  14.9594 8.71616 HW      196     0       0       0       0.417   
     200198     HW      TIP3    0       2.1789  14.9594 7.70816 HW      196     0       0       0       0.417   
     201199     OW      TIP3    0       1.4199  14.9594 11.2954 OW      200     201     0       0       -0.834 
     202200     HW      TIP3    0       2.1789  14.9594 11.7994 HW      199     0       0       0       0.417   
     203201     HW      TIP3    0       2.1789  14.9594 10.7914 HW      199     0       0       0       0.417   
     204202     OW      TIP3    0       1.4199  14.9594 14.3787 OW      203     204     0       0       -0.834 
     205203     HW      TIP3    0       2.1789  14.9594 14.8827 HW      202     0       0       0       0.417   
     206204     HW      TIP3    0       2.1789  14.9594 13.8747 HW      202     0       0       0       0.417   
     207205     OW      TIP3    0       1.4199  14.9594 17.4619 OW      206     207     0       0       -0.834 
     208206     HW      TIP3    0       2.1789  14.9594 17.966  HW      205     0       0       0       0.417   
     209207     HW      TIP3    0       2.1789  14.9594 16.958  HW      205     0       0       0       0.417   
     210208     OW      TIP3    0       1.4199  14.9594 20.5452 OW      209     210     0       0       -0.834 
     211209     HW      TIP3    0       2.1789  14.9594 21.0492 HW      208     0       0       0       0.417   
     212210     HW      TIP3    0       2.1789  14.9594 20.0412 HW      208     0       0       0       0.417   
     213211     OW      TIP3    0       1.4199  14.9594 23.6285 OW      212     213     0       0       -0.834 
     214212     HW      TIP3    0       2.1789  14.9594 24.1325 HW      211     0       0       0       0.417   
     215213     HW      TIP3    0       2.1789  14.9594 23.1245 HW      211     0       0       0       0.417   
     216214     OW      TIP3    0       1.4199  14.9594 26.7117 OW      215     216     0       0       -0.834 
     217215     HW      TIP3    0       2.1789  14.9594 27.2157 HW      214     0       0       0       0.417   
     218216     HW      TIP3    0       2.1789  14.9594 26.2077 HW      214     0       0       0       0.417   
     219217     OW      TIP3    0       1.4199  14.9594 29.795  OW      218     219     0       0       -0.834 
     220218     HW      TIP3    0       2.1789  14.9594 30.299  HW      217     0       0       0       0.417   
     221219     HW      TIP3    0       2.1789  14.9594 29.291  HW      217     0       0       0       0.417   
     222220     OW      TIP3    0       1.4199  14.9594 32.8783 OW      221     222     0       0       -0.834 
     223221     HW      TIP3    0       2.1789  14.9594 33.3823 HW      220     0       0       0       0.417   
     224222     HW      TIP3    0       2.1789  14.9594 32.3743 HW      220     0       0       0       0.417   
     225223     OW      TIP3    0       4.2597  1.66216 2.04563 OW      224     225     0       0       -0.834 
     226224     HW      TIP3    0       5.0187  1.66216 2.54963 HW      223     0       0       0       0.417   
     227225     HW      TIP3    0       5.0187  1.66216 1.54163 HW      223     0       0       0       0.417   
     228226     OW      TIP3    0       4.2597  1.66216 5.1289  OW      227     228     0       0       -0.834 
     229227     HW      TIP3    0       5.0187  1.66216 5.6329  HW      226     0       0       0       0.417   
     230228     HW      TIP3    0       5.0187  1.66216 4.6249  HW      226     0       0       0       0.417   
     231229     OW      TIP3    0       4.2597  1.66216 8.21216 OW      230     231     0       0       -0.834 
     232230     HW      TIP3    0       5.0187  1.66216 8.71616 HW      229     0       0       0       0.417   
     233231     HW      TIP3    0       5.0187  1.66216 7.70816 HW      229     0       0       0       0.417   
     234232     OW      TIP3    0       4.2597  1.66216 11.2954 OW      233     234     0       0       -0.834 
     235233     HW      TIP3    0       5.0187  1.66216 11.7994 HW      232     0       0       0       0.417   
     236234     HW      TIP3    0       5.0187  1.66216 10.7914 HW      232     0       0       0       0.417   
     237235     OW      TIP3    0       4.2597  1.66216 14.3787 OW      236     237     0       0       -0.834 
     238236     HW      TIP3    0       5.0187  1.66216 14.8827 HW      235     0       0       0       0.417   
     239237     HW      TIP3    0       5.0187  1.66216 13.8747 HW      235     0       0       0       0.417   
     240238     OW      TIP3    0       4.2597  1.66216 17.4619 OW      239     240     0       0       -0.834 
     241239     HW      TIP3    0       5.0187  1.66216 17.966  HW      238     0       0       0       0.417   
     242240     HW      TIP3    0       5.0187  1.66216 16.958  HW      238     0       0       0       0.417   
     243241     OW      TIP3    0       4.2597  1.66216 20.5452 OW      242     243     0       0       -0.834 
     244242     HW      TIP3    0       5.0187  1.66216 21.0492 HW      241     0       0       0       0.417   
     245243     HW      TIP3    0       5.0187  1.66216 20.0412 HW      241     0       0       0       0.417   
     246244     OW      TIP3    0       4.2597  1.66216 23.6285 OW      245     246     0       0       -0.834 
     247245     HW      TIP3    0       5.0187  1.66216 24.1325 HW      244     0       0       0       0.417   
     248246     HW      TIP3    0       5.0187  1.66216 23.1245 HW      244     0       0       0       0.417   
     249247     OW      TIP3    0       4.2597  1.66216 26.7117 OW      248     249     0       0       -0.834 
     250248     HW      TIP3    0       5.0187  1.66216 27.2157 HW      247     0       0       0       0.417   
     251249     HW      TIP3    0       5.0187  1.66216 26.2077 HW      247     0       0       0       0.417   
     252250     OW      TIP3    0       4.2597  1.66216 29.795  OW      251     252     0       0       -0.834 
     253251     HW      TIP3    0       5.0187  1.66216 30.299  HW      250     0       0       0       0.417   
     254252     HW      TIP3    0       5.0187  1.66216 29.291  HW      250     0       0       0       0.417   
     255253     OW      TIP3    0       4.2597  1.66216 32.8783 OW      254     255     0       0       -0.834 
     256254     HW      TIP3    0       5.0187  1.66216 33.3823 HW      253     0       0       0       0.417   
     257255     HW      TIP3    0       5.0187  1.66216 32.3743 HW      253     0       0       0       0.417   
     258256     OW      TIP3    0       4.2597  4.98648 2.04563 OW      257     258     0       0       -0.834 
     259257     HW      TIP3    0       5.0187  4.98648 2.54963 HW      256     0       0       0       0.417   
     260258     HW      TIP3    0       5.0187  4.98648 1.54163 HW      256     0       0       0       0.417   
     261259     OW      TIP3    0       4.2597  4.98648 5.1289  OW      260     261     0       0       -0.834 
     262260     HW      TIP3    0       5.0187  4.98648 5.6329  HW      259     0       0       0       0.417   
     263261     HW      TIP3    0       5.0187  4.98648 4.6249  HW      259     0       0       0       0.417   
     264262     OW      TIP3    0       4.2597  4.98648 8.21216 OW      263     264     0       0       -0.834 
     265263     HW      TIP3    0       5.0187  4.98648 8.71616 HW      262     0       0       0       0.417   
     266264     HW      TIP3    0       5.0187  4.98648 7.70816 HW      262     0       0       0       0.417   
     267265     OW      TIP3    0       4.2597  4.98648 11.2954 OW      266     267     0       0       -0.834 
     268266     HW      TIP3    0       5.0187  4.98648 11.7994 HW      265     0       0       0       0.417   
     269267     HW      TIP3    0       5.0187  4.98648 10.7914 HW      265     0       0       0       0.417   
     270268     OW      TIP3    0       4.2597  4.98648 14.3787 OW      269     270     0       0       -0.834 
     271269     HW      TIP3    0       5.0187  4.98648 14.8827 HW      268     0       0       0       0.417   
     272270     HW      TIP3    0       5.0187  4.98648 13.8747 HW      268     0       0       0       0.417   
     273271     OW      TIP3    0       4.2597  4.98648 29.795  OW      272     273     0       0       -0.834 
     274272     HW      TIP3    0       5.0187  4.98648 30.299  HW      271     0       0       0       0.417   
     275273     HW      TIP3    0       5.0187  4.98648 29.291  HW      271     0       0       0       0.417   
     276274     OW      TIP3    0       4.2597  4.98648 32.8783 OW      275     276     0       0       -0.834 
     277275     HW      TIP3    0       5.0187  4.98648 33.3823 HW      274     0       0       0       0.417   
     278276     HW      TIP3    0       5.0187  4.98648 32.3743 HW      274     0       0       0       0.417   
     279277     OW      TIP3    0       4.2597  8.3108  2.04563 OW      278     279     0       0       -0.834 
     280278     HW      TIP3    0       5.0187  8.3108  2.54963 HW      277     0       0       0       0.417   
     281279     HW      TIP3    0       5.0187  8.3108  1.54163 HW      277     0       0       0       0.417   
     282280     OW      TIP3    0       4.2597  8.3108  32.8783 OW      281     282     0       0       -0.834 
     283281     HW      TIP3    0       5.0187  8.3108  33.3823 HW      280     0       0       0       0.417   
     284282     HW      TIP3    0       5.0187  8.3108  32.3743 HW      280     0       0       0       0.417   
     285283     OW      TIP3    0       4.2597  11.6351 2.04563 OW      284     285     0       0       -0.834 
     286284     HW      TIP3    0       5.0187  11.6351 2.54963 HW      283     0       0       0       0.417   
     287285     HW      TIP3    0       5.0187  11.6351 1.54163 HW      283     0       0       0       0.417   
     288286     OW      TIP3    0       4.2597  11.6351 8.21216 OW      287     288     0       0       -0.834 
     289287     HW      TIP3    0       5.0187  11.6351 8.71616 HW      286     0       0       0       0.417   
     290288     HW      TIP3    0       5.0187  11.6351 7.70816 HW      286     0       0       0       0.417   
     291289     OW      TIP3    0       4.2597  11.6351 11.2954 OW      290     291     0       0       -0.834 
     292290     HW      TIP3    0       5.0187  11.6351 11.7994 HW      289     0       0       0       0.417   
     293291     HW      TIP3    0       5.0187  11.6351 10.7914 HW      289     0       0       0       0.417   
     294292     OW      TIP3    0       4.2597  11.6351 14.3787 OW      293     294     0       0       -0.834 
     295293     HW      TIP3    0       5.0187  11.6351 14.8827 HW      292     0       0       0       0.417   
     296294     HW      TIP3    0       5.0187  11.6351 13.8747 HW      292     0       0       0       0.417   
     297295     OW      TIP3    0       4.2597  11.6351 17.4619 OW      296     297     0       0       -0.834 
     298296     HW      TIP3    0       5.0187  11.6351 17.966  HW      295     0       0       0       0.417   
     299297     HW      TIP3    0       5.0187  11.6351 16.958  HW      295     0       0       0       0.417   
     300298     OW      TIP3    0       4.2597  11.6351 20.5452 OW      299     300     0       0       -0.834 
     301299     HW      TIP3    0       5.0187  11.6351 21.0492 HW      298     0       0       0       0.417   
     302300     HW      TIP3    0       5.0187  11.6351 20.0412 HW      298     0       0       0       0.417   
     303301     OW      TIP3    0       4.2597  11.6351 23.6285 OW      302     303     0       0       -0.834 
     304302     HW      TIP3    0       5.0187  11.6351 24.1325 HW      301     0       0       0       0.417   
     305303     HW      TIP3    0       5.0187  11.6351 23.1245 HW      301     0       0       0       0.417   
     306304     OW      TIP3    0       4.2597  11.6351 26.7117 OW      305     306     0       0       -0.834 
     307305     HW      TIP3    0       5.0187  11.6351 27.2157 HW      304     0       0       0       0.417   
     308306     HW      TIP3    0       5.0187  11.6351 26.2077 HW      304     0       0       0       0.417   
     309307     OW      TIP3    0       4.2597  11.6351 29.795  OW      308     309     0       0       -0.834 
     310308     HW      TIP3    0       5.0187  11.6351 30.299  HW      307     0       0       0       0.417   
     311309     HW      TIP3    0       5.0187  11.6351 29.291  HW      307     0       0       0       0.417   
     312310     OW      TIP3    0       4.2597  11.6351 32.8783 OW      311     312     0       0       -0.834 
     313311     HW      TIP3    0       5.0187  11.6351 33.3823 HW      310     0       0       0       0.417   
     314312     HW      TIP3    0       5.0187  11.6351 32.3743 HW      310     0       0       0       0.417   
     315313     OW      TIP3    0       4.2597  14.9594 2.04563 OW      314     315     0       0       -0.834 
     316314     HW      TIP3    0       5.0187  14.9594 2.54963 HW      313     0       0       0       0.417   
     317315     HW      TIP3    0       5.0187  14.9594 1.54163 HW      313     0       0       0       0.417   
     318316     OW      TIP3    0       4.2597  14.9594 5.1289  OW      317     318     0       0       -0.834 
     319317     HW      TIP3    0       5.0187  14.9594 5.6329  HW      316     0       0       0       0.417   
     320318     HW      TIP3    0       5.0187  14.9594 4.6249  HW      316     0       0       0       0.417   
     321319     OW      TIP3    0       4.2597  14.9594 8.21216 OW      320     321     0       0       -0.834 
     322320     HW      TIP3    0       5.0187  14.9594 8.71616 HW      319     0       0       0       0.417   
     323321     HW      TIP3    0       5.0187  14.9594 7.70816 HW      319     0       0       0       0.417   
     324322     OW      TIP3    0       4.2597  14.9594 11.2954 OW      323     324     0       0       -0.834 
     325323     HW      TIP3    0       5.0187  14.9594 11.7994 HW      322     0       0       0       0.417   
     326324     HW      TIP3    0       5.0187  14.9594 10.7914 HW      322     0       0       0       0.417   
     327325     OW      TIP3    0       4.2597  14.9594 14.3787 OW      326     327     0       0       -0.834 
     328326     HW      TIP3    0       5.0187  14.9594 14.8827 HW      325     0       0       0       0.417   
     329327     HW      TIP3    0       5.0187  14.9594 13.8747 HW      325     0       0       0       0.417   
     330328     OW      TIP3    0       4.2597  14.9594 17.4619 OW      329     330     0       0       -0.834 
     331329     HW      TIP3    0       5.0187  14.9594 17.966  HW      328     0       0       0       0.417   
     332330     HW      TIP3    0       5.0187  14.9594 16.958  HW      328     0       0       0       0.417   
     333331     OW      TIP3    0       4.2597  14.9594 20.5452 OW      332     333     0       0       -0.834 
     334332     HW      TIP3    0       5.0187  14.9594 21.0492 HW      331     0       0       0       0.417   
     335333     HW      TIP3    0       5.0187  14.9594 20.0412 HW      331     0       0       0       0.417   
     336334     OW      TIP3    0       4.2597  14.9594 23.6285 OW      335     336     0       0       -0.834 
     337335     HW      TIP3    0       5.0187  14.9594 24.1325 HW      334     0       0       0       0.417   
     338336     HW      TIP3    0       5.0187  14.9594 23.1245 HW      334     0       0       0       0.417   
     339337     OW      TIP3    0       4.2597  14.9594 26.7117 OW      338     339     0       0       -0.834 
     340338     HW      TIP3    0       5.0187  14.9594 27.2157 HW      337     0       0       0       0.417   
     341339     HW      TIP3    0       5.0187  14.9594 26.2077 HW      337     0       0       0       0.417   
     342340     OW      TIP3    0       4.2597  14.9594 29.795  OW      341     342     0       0       -0.834 
     343341     HW      TIP3    0       5.0187  14.9594 30.299  HW      340     0       0       0       0.417   
     344342     HW      TIP3    0       5.0187  14.9594 29.291  HW      340     0       0       0       0.417   
     345343     OW      TIP3    0       4.2597  14.9594 32.8783 OW      344     345     0       0       -0.834 
     346344     HW      TIP3    0       5.0187  14.9594 33.3823 HW      343     0       0       0       0.417   
     347345     HW      TIP3    0       5.0187  14.9594 32.3743 HW      343     0       0       0       0.417   
     348346     OW      TIP3    0       7.0995  1.66216 2.04563 OW      347     348     0       0       -0.834 
     349347     HW      TIP3    0       7.8585  1.66216 2.54963 HW      346     0       0       0       0.417   
     350348     HW      TIP3    0       7.8585  1.66216 1.54163 HW      346     0       0       0       0.417   
     351349     OW      TIP3    0       7.0995  1.66216 5.1289  OW      350     351     0       0       -0.834 
     352350     HW      TIP3    0       7.8585  1.66216 5.6329  HW      349     0       0       0       0.417   
     353351     HW      TIP3    0       7.8585  1.66216 4.6249  HW      349     0       0       0       0.417   
     354352     OW      TIP3    0       7.0995  1.66216 8.21216 OW      353     354     0       0       -0.834 
     355353     HW      TIP3    0       7.8585  1.66216 8.71616 HW      352     0       0       0       0.417   
     356354     HW      TIP3    0       7.8585  1.66216 7.70816 HW      352     0       0       0       0.417   
     357355     OW      TIP3    0       7.0995  1.66216 11.2954 OW      356     357     0       0       -0.834 
     358356     HW      TIP3    0       7.8585  1.66216 11.7994 HW      355     0       0       0       0.417   
     359357     HW      TIP3    0       7.8585  1.66216 10.7914 HW      355     0       0       0       0.417   
     360358     OW      TIP3    0       7.0995  1.66216 14.3787 OW      359     360     0       0       -0.834 
     361359     HW      TIP3    0       7.8585  1.66216 14.8827 HW      358     0       0       0       0.417   
     362360     HW      TIP3    0       7.8585  1.66216 13.8747 HW      358     0       0       0       0.417   
     363361     OW      TIP3    0       7.0995  1.66216 17.4619 OW      362     363     0       0       -0.834 
     364362     HW      TIP3    0       7.8585  1.66216 17.966  HW      361     0       0       0       0.417   
     365363     HW      TIP3    0       7.8585  1.66216 16.958  HW      361     0       0       0       0.417   
     366364     OW      TIP3    0       7.0995  1.66216 20.5452 OW      365     366     0       0       -0.834 
     367365     HW      TIP3    0       7.8585  1.66216 21.0492 HW      364     0       0       0       0.417   
     368366     HW      TIP3    0       7.8585  1.66216 20.0412 HW      364     0       0       0       0.417   
     369367     OW      TIP3    0       7.0995  1.66216 23.6285 OW      368     369     0       0       -0.834 
     370368     HW      TIP3    0       7.8585  1.66216 24.1325 HW      367     0       0       0       0.417   
     371369     HW      TIP3    0       7.8585  1.66216 23.1245 HW      367     0       0       0       0.417   
     372370     OW      TIP3    0       7.0995  1.66216 26.7117 OW      371     372     0       0       -0.834 
     373371     HW      TIP3    0       7.8585  1.66216 27.2157 HW      370     0       0       0       0.417   
     374372     HW      TIP3    0       7.8585  1.66216 26.2077 HW      370     0       0       0       0.417   
     375373     OW      TIP3    0       7.0995  1.66216 29.795  OW      374     375     0       0       -0.834 
     376374     HW      TIP3    0       7.8585  1.66216 30.299  HW      373     0       0       0       0.417   
     377375     HW      TIP3    0       7.8585  1.66216 29.291  HW      373     0       0       0       0.417   
     378376     OW      TIP3    0       7.0995  1.66216 32.8783 OW      377     378     0       0       -0.834 
     379377     HW      TIP3    0       7.8585  1.66216 33.3823 HW      376     0       0       0       0.417   
     380378     HW      TIP3    0       7.8585  1.66216 32.3743 HW      376     0       0       0       0.417   
     381379     OW      TIP3    0       7.0995  4.98648 2.04563 OW      380     381     0       0       -0.834 
     382380     HW      TIP3    0       7.8585  4.98648 2.54963 HW      379     0       0       0       0.417   
     383381     HW      TIP3    0       7.8585  4.98648 1.54163 HW      379     0       0       0       0.417   
     384382     OW      TIP3    0       7.0995  4.98648 5.1289  OW      383     384     0       0       -0.834 
     385383     HW      TIP3    0       7.8585  4.98648 5.6329  HW      382     0       0       0       0.417   
     386384     HW      TIP3    0       7.8585  4.98648 4.6249  HW      382     0       0       0       0.417   
     387385     OW      TIP3    0       7.0995  4.98648 11.2954 OW      386     387     0       0       -0.834 
     388386     HW      TIP3    0       7.8585  4.98648 11.7994 HW      385     0       0       0       0.417   
     389387     HW      TIP3    0       7.8585  4.98648 10.7914 HW      385     0       0       0       0.417   
     390388     OW      TIP3    0       7.0995  4.98648 32.8783 OW      389     390     0       0       -0.834 
     391389     HW      TIP3    0       7.8585  4.98648 33.3823 HW      388     0       0       0       0.417   
     392390     HW      TIP3    0       7.8585  4.98648 32.3743 HW      388     0       0       0       0.417   
     393391     OW      TIP3    0       7.0995  8.3108  2.04563 OW      392     393     0       0       -0.834 
     394392     HW      TIP3    0       7.8585  8.3108  2.54963 HW      391     0       0       0       0.417   
     395393     HW      TIP3    0       7.8585  8.3108  1.54163 HW      391     0       0       0       0.417   
     396394     OW      TIP3    0       7.0995  8.3108  32.8783 OW      395     396     0       0       -0.834 
     397395     HW      TIP3    0       7.8585  8.3108  33.3823 HW      394     0       0       0       0.417   
     398396     HW      TIP3    0       7.8585  8.3108  32.3743 HW      394     0       0       0       0.417   
     399397     OW      TIP3    0       7.0995  11.6351 2.04563 OW      398     399     0       0       -0.834 
     400398     HW      TIP3    0       7.8585  11.6351 2.54963 HW      397     0       0       0       0.417   
     401399     HW      TIP3    0       7.8585  11.6351 1.54163 HW      397     0       0       0       0.417   
     402400     OW      TIP3    0       7.0995  11.6351 20.5452 OW      401     402     0       0       -0.834 
     403401     HW      TIP3    0       7.8585  11.6351 21.0492 HW      400     0       0       0       0.417   
     404402     HW      TIP3    0       7.8585  11.6351 20.0412 HW      400     0       0       0       0.417   
     405403     OW      TIP3    0       7.0995  11.6351 23.6285 OW      404     405     0       0       -0.834 
     406404     HW      TIP3    0       7.8585  11.6351 24.1325 HW      403     0       0       0       0.417   
     407405     HW      TIP3    0       7.8585  11.6351 23.1245 HW      403     0       0       0       0.417   
     408406     OW      TIP3    0       7.0995  11.6351 29.795  OW      407     408     0       0       -0.834 
     409407     HW      TIP3    0       7.8585  11.6351 30.299  HW      406     0       0       0       0.417   
     410408     HW      TIP3    0       7.8585  11.6351 29.291  HW      406     0       0       0       0.417   
     411409     OW      TIP3    0       7.0995  11.6351 32.8783 OW      410     411     0       0       -0.834 
     412410     HW      TIP3    0       7.8585  11.6351 33.3823 HW      409     0       0       0       0.417   
     413411     HW      TIP3    0       7.8585  11.6351 32.3743 HW      409     0       0       0       0.417   
     414412     OW      TIP3    0       7.0995  14.9594 2.04563 OW      413     414     0       0       -0.834 
     415413     HW      TIP3    0       7.8585  14.9594 2.54963 HW      412     0       0       0       0.417   
     416414     HW      TIP3    0       7.8585  14.9594 1.54163 HW      412     0       0       0       0.417   
     417415     OW      TIP3    0       7.0995  14.9594 5.1289  OW      416     417     0       0       -0.834 
     418416     HW      TIP3    0       7.8585  14.9594 5.6329  HW      415     0       0       0       0.417   
     419417     HW      TIP3    0       7.8585  14.9594 4.6249  HW      415     0       0       0       0.417   
     420418     OW      TIP3    0       7.0995  14.9594 8.21216 OW      419     420     0       0       -0.834 
     421419     HW      TIP3    0       7.8585  14.9594 8.71616 HW      418     0       0       0       0.417   
     422420     HW      TIP3    0       7.8585  14.9594 7.70816 HW      418     0       0       0       0.417   
     423421     OW      TIP3    0       7.0995  14.9594 11.2954 OW      422     423     0       0       -0.834 
     424422     HW      TIP3    0       7.8585  14.9594 11.7994 HW      421     0       0       0       0.417   
     425423     HW      TIP3    0       7.8585  14.9594 10.7914 HW      421     0       0       0       0.417   
     426424     OW      TIP3    0       7.0995  14.9594 14.3787 OW      425     426     0       0       -0.834 
     427425     HW      TIP3    0       7.8585  14.9594 14.8827 HW      424     0       0       0       0.417   
     428426     HW      TIP3    0       7.8585  14.9594 13.8747 HW      424     0       0       0       0.417   
     429427     OW      TIP3    0       7.0995  14.9594 17.4619 OW      428     429     0       0       -0.834 
     430428     HW      TIP3    0       7.8585  14.9594 17.966  HW      427     0       0       0       0.417   
     431429     HW      TIP3    0       7.8585  14.9594 16.958  HW      427     0       0       0       0.417   
     432430     OW      TIP3    0       7.0995  14.9594 20.5452 OW      431     432     0       0       -0.834 
     433431     HW      TIP3    0       7.8585  14.9594 21.0492 HW      430     0       0       0       0.417   
     434432     HW      TIP3    0       7.8585  14.9594 20.0412 HW      430     0       0       0       0.417   
     435433     OW      TIP3    0       7.0995  14.9594 23.6285 OW      434     435     0       0       -0.834 
     436434     HW      TIP3    0       7.8585  14.9594 24.1325 HW      433     0       0       0       0.417   
     437435     HW      TIP3    0       7.8585  14.9594 23.1245 HW      433     0       0       0       0.417   
     438436     OW      TIP3    0       7.0995  14.9594 26.7117 OW      437     438     0       0       -0.834 
     439437     HW      TIP3    0       7.8585  14.9594 27.2157 HW      436     0       0       0       0.417   
     440438     HW      TIP3    0       7.8585  14.9594 26.2077 HW      436     0       0       0       0.417   
     441439     OW      TIP3    0       7.0995  14.9594 29.795  OW      440     441     0       0       -0.834 
     442440     HW      TIP3    0       7.8585  14.9594 30.299  HW      439     0       0       0       0.417   
     443441     HW      TIP3    0       7.8585  14.9594 29.291  HW      439     0       0       0       0.417   
     444442     OW      TIP3    0       7.0995  14.9594 32.8783 OW      443     444     0       0       -0.834 
     445443     HW      TIP3    0       7.8585  14.9594 33.3823 HW      442     0       0       0       0.417   
     446444     HW      TIP3    0       7.8585  14.9594 32.3743 HW      442     0       0       0       0.417   
     447445     OW      TIP3    0       9.9393  1.66216 2.04563 OW      446     447     0       0       -0.834 
     448446     HW      TIP3    0       10.6983 1.66216 2.54963 HW      445     0       0       0       0.417   
     449447     HW      TIP3    0       10.6983 1.66216 1.54163 HW      445     0       0       0       0.417   
     450448     OW      TIP3    0       9.9393  1.66216 5.1289  OW      449     450     0       0       -0.834 
     451449     HW      TIP3    0       10.6983 1.66216 5.6329  HW      448     0       0       0       0.417   
     452450     HW      TIP3    0       10.6983 1.66216 4.6249  HW      448     0       0       0       0.417   
     453451     OW      TIP3    0       9.9393  1.66216 8.21216 OW      452     453     0       0       -0.834 
     454452     HW      TIP3    0       10.6983 1.66216 8.71616 HW      451     0       0       0       0.417   
     455453     HW      TIP3    0       10.6983 1.66216 7.70816 HW      451     0       0       0       0.417   
     456454     OW      TIP3    0       9.9393  1.66216 11.2954 OW      455     456     0       0       -0.834 
     457455     HW      TIP3    0       10.6983 1.66216 11.7994 HW      454     0       0       0       0.417   
     458456     HW      TIP3    0       10.6983 1.66216 10.7914 HW      454     0       0       0       0.417   
     459457     OW      TIP3    0       9.9393  1.66216 14.3787 OW      458     459     0       0       -0.834 
     460458     HW      TIP3    0       10.6983 1.66216 14.8827 HW      457     0       0       0       0.417   
     461459     HW      TIP3    0       10.6983 1.66216 13.8747 HW      457     0       0       0       0.417   
     462460     OW      TIP3    0       9.9393  1.66216 17.4619 OW      461     462     0       0       -0.834 
     463461     HW      TIP3    0       10.6983 1.66216 17.966  HW      460     0       0       0       0.417   
     464462     HW      TIP3    0       10.6983 1.66216 16.958  HW      460     0       0       0       0.417   
     465463     OW      TIP3    0       9.9393  1.66216 20.5452 OW      464     465     0       0       -0.834 
     466464     HW      TIP3    0       10.6983 1.66216 21.0492 HW      463     0       0       0       0.417   
     467465     HW      TIP3    0       10.6983 1.66216 20.0412 HW      463     0       0       0       0.417   
     468466     OW      TIP3    0       9.9393  1.66216 23.6285 OW      467     468     0       0       -0.834 
     469467     HW      TIP3    0       10.6983 1.66216 24.1325 HW      466     0       0       0       0.417   
     470468     HW      TIP3    0       10.6983 1.66216 23.1245 HW      466     0       0       0       0.417   
     471469     OW      TIP3    0       9.9393  1.66216 26.7117 OW      470     471     0       0       -0.834 
     472470     HW      TIP3    0       10.6983 1.66216 27.2157 HW      469     0       0       0       0.417   
     473471     HW      TIP3    0       10.6983 1.66216 26.2077 HW      469     0       0       0       0.417   
     474472     OW      TIP3    0       9.9393  1.66216 29.795  OW      473     474     0       0       -0.834 
     475473     HW      TIP3    0       10.6983 1.66216 30.299  HW      472     0       0       0       0.417   
     476474     HW      TIP3    0       10.6983 1.66216 29.291  HW      472     0       0       0       0.417   
     477475     OW      TIP3    0       9.9393  1.66216 32.8783 OW      476     477     0       0       -0.834 
     478476     HW      TIP3    0       10.6983 1.66216 33.3823 HW      475     0       0       0       0.417   
     479477     HW      TIP3    0       10.6983 1.66216 32.3743 HW      475     0       0       0       0.417   
     480478     OW      TIP3    0       9.9393  4.98648 2.04563 OW      479     480     0       0       -0.834 
     481479     HW      TIP3    0       10.6983 4.98648 2.54963 HW      478     0       0       0       0.417   
     482480     HW      TIP3    0       10.6983 4.98648 1.54163 HW      478     0       0       0       0.417   
     483481     OW      TIP3    0       9.9393  4.98648 5.1289  OW      482     483     0       0       -0.834 
     484482     HW      TIP3    0       10.6983 4.98648 5.6329  HW      481     0       0       0       0.417   
     485483     HW      TIP3    0       10.6983 4.98648 4.6249  HW      481     0       0       0       0.417   
     486484     OW      TIP3    0       9.9393  4.98648 8.21216 OW      485     486     0       0       -0.834 
     487485     HW      TIP3    0       10.6983 4.98648 8.71616 HW      484     0       0       0       0.417   
     488486     HW      TIP3    0       10.6983 4.98648 7.70816 HW      484     0       0       0       0.417   
     489487     OW      TIP3    0       9.9393  4.98648 11.2954 OW      488     489     0       0       -0.834 
     490488     HW      TIP3    0       10.6983 4.98648 11.7994 HW      487     0       0       0       0.417   
     491489     HW      TIP3    0       10.6983 4.98648 10.7914 HW      487     0       0       0       0.417   
     492490     OW      TIP3    0       9.9393  4.98648 17.4619 OW      491     492     0       0       -0.834 
     493491     HW      TIP3    0       10.6983 4.98648 17.966  HW      490     0       0       0       0.417   
     494492     HW      TIP3    0       10.6983 4.98648 16.958  HW      490     0       0       0       0.417   
     495493     OW      TIP3    0       9.9393  4.98648 32.8783 OW      494     495     0       0       -0.834 
     496494     HW      TIP3    0       10.6983 4.98648 33.3823 HW      493     0       0       0       0.417   
     497495     HW      TIP3    0       10.6983 4.98648 32.3743 HW      493     0       0       0       0.417   
     498496     OW      TIP3    0       9.9393  8.3108  2.04563 OW      497     498     0       0       -0.834 
     499497     HW      TIP3    0       10.6983 8.3108  2.54963 HW      496     0       0       0       0.417   
     500498     HW      TIP3    0       10.6983 8.3108  1.54163 HW      496     0       0       0       0.417   
     501499     OW      TIP3    0       9.9393  8.3108  32.8783 OW      500     501     0       0       -0.834 
     502500     HW      TIP3    0       10.6983 8.3108  33.3823 HW      499     0       0       0       0.417   
     503501     HW      TIP3    0       10.6983 8.3108  32.3743 HW      499     0       0       0       0.417   
     504502     OW      TIP3    0       9.9393  11.6351 2.04563 OW      503     504     0       0       -0.834 
     505503     HW      TIP3    0       10.6983 11.6351 2.54963 HW      502     0       0       0       0.417   
     506504     HW      TIP3    0       10.6983 11.6351 1.54163 HW      502     0       0       0       0.417   
     507505     OW      TIP3    0       9.9393  11.6351 14.3787 OW      506     507     0       0       -0.834 
     508506     HW      TIP3    0       10.6983 11.6351 14.8827 HW      505     0       0       0       0.417   
     509507     HW      TIP3    0       10.6983 11.6351 13.8747 HW      505     0       0       0       0.417   
     510508     OW      TIP3    0       9.9393  11.6351 17.4619 OW      509     510     0       0       -0.834 
     511509     HW      TIP3    0       10.6983 11.6351 17.966  HW      508     0       0       0       0.417   
     512510     HW      TIP3    0       10.6983 11.6351 16.958  HW      508     0       0       0       0.417   
     513511     OW      TIP3    0       9.9393  11.6351 20.5452 OW      512     513     0       0       -0.834 
     514512     HW      TIP3    0       10.6983 11.6351 21.0492 HW      511     0       0       0       0.417   
     515513     HW      TIP3    0       10.6983 11.6351 20.0412 HW      511     0       0       0       0.417   
     516514     OW      TIP3    0       9.9393  11.6351 23.6285 OW      515     516     0       0       -0.834 
     517515     HW      TIP3    0       10.6983 11.6351 24.1325 HW      514     0       0       0       0.417   
     518516     HW      TIP3    0       10.6983 11.6351 23.1245 HW      514     0       0       0       0.417   
     519517     OW      TIP3    0       9.9393  11.6351 26.7117 OW      518     519     0       0       -0.834 
     520518     HW      TIP3    0       10.6983 11.6351 27.2157 HW      517     0       0       0       0.417   
     521519     HW      TIP3    0       10.6983 11.6351 26.2077 HW      517     0       0       0       0.417   
     522520     OW      TIP3    0       9.9393  11.6351 29.795  OW      521     522     0       0       -0.834 
     523521     HW      TIP3    0       10.6983 11.6351 30.299  HW      520     0       0       0       0.417   
     524522     HW      TIP3    0       10.6983 11.6351 29.291  HW      520     0       0       0       0.417   
     525523     OW      TIP3    0       9.9393  11.6351 32.8783 OW      524     525     0       0       -0.834 
     526524     HW      TIP3    0       10.6983 11.6351 33.3823 HW      523     0       0       0       0.417   
     527525     HW      TIP3    0       10.6983 11.6351 32.3743 HW      523     0       0       0       0.417   
     528526     OW      TIP3    0       9.9393  14.9594 2.04563 OW      527     528     0       0       -0.834 
     529527     HW      TIP3    0       10.6983 14.9594 2.54963 HW      526     0       0       0       0.417   
     530528     HW      TIP3    0       10.6983 14.9594 1.54163 HW      526     0       0       0       0.417   
     531529     OW      TIP3    0       9.9393  14.9594 5.1289  OW      530     531     0       0       -0.834 
     532530     HW      TIP3    0       10.6983 14.9594 5.6329  HW      529     0       0       0       0.417   
     533531     HW      TIP3    0       10.6983 14.9594 4.6249  HW      529     0       0       0       0.417   
     534532     OW      TIP3    0       9.9393  14.9594 8.21216 OW      533     534     0       0       -0.834 
     535533     HW      TIP3    0       10.6983 14.9594 8.71616 HW      532     0       0       0       0.417   
     536534     HW      TIP3    0       10.6983 14.9594 7.70816 HW      532     0       0       0       0.417   
     537535     OW      TIP3    0       9.9393  14.9594 11.2954 OW      536     537     0       0       -0.834 
     538536     HW      TIP3    0       10.6983 14.9594 11.7994 HW      535     0       0       0       0.417   
     539537     HW      TIP3    0       10.6983 14.9594 10.7914 HW      535     0       0       0       0.417   
     540538     OW      TIP3    0       9.9393  14.9594 14.3787 OW      539     540     0       0       -0.834 
     541539     HW      TIP3    0       10.6983 14.9594 14.8827 HW      538     0       0       0       0.417   
     542540     HW      TIP3    0       10.6983 14.9594 13.8747 HW      538     0       0       0       0.417   
     543541     OW      TIP3    0       9.9393  14.9594 17.4619 OW      542     543     0       0       -0.834 
     544542     HW      TIP3    0       10.6983 14.9594 17.966  HW      541     0       0       0       0.417   
     545543     HW      TIP3    0       10.6983 14.9594 16.958  HW      541     0       0       0       0.417   
     546544     OW      TIP3    0       9.9393  14.9594 20.5452 OW      545     546     0       0       -0.834 
     547545     HW      TIP3    0       10.6983 14.9594 21.0492 HW      544     0       0       0       0.417   
     548546     HW      TIP3    0       10.6983 14.9594 20.0412 HW      544     0       0       0       0.417   
     549547     OW      TIP3    0       9.9393  14.9594 23.6285 OW      548     549     0       0       -0.834 
     550548     HW      TIP3    0       10.6983 14.9594 24.1325 HW      547     0       0       0       0.417   
     551549     HW      TIP3    0       10.6983 14.9594 23.1245 HW      547     0       0       0       0.417   
     552550     OW      TIP3    0       9.9393  14.9594 26.7117 OW      551     552     0       0       -0.834 
     553551     HW      TIP3    0       10.6983 14.9594 27.2157 HW      550     0       0       0       0.417   
     554552     HW      TIP3    0       10.6983 14.9594 26.2077 HW      550     0       0       0       0.417   
     555553     OW      TIP3    0       9.9393  14.9594 29.795  OW      554     555     0       0       -0.834 
     556554     HW      TIP3    0       10.6983 14.9594 30.299  HW      553     0       0       0       0.417   
     557555     HW      TIP3    0       10.6983 14.9594 29.291  HW      553     0       0       0       0.417   
     558556     OW      TIP3    0       9.9393  14.9594 32.8783 OW      557     558     0       0       -0.834 
     559557     HW      TIP3    0       10.6983 14.9594 33.3823 HW      556     0       0       0       0.417   
     560558     HW      TIP3    0       10.6983 14.9594 32.3743 HW      556     0       0       0       0.417   
     561559     OW      TIP3    0       12.7791 1.66216 2.04563 OW      560     561     0       0       -0.834 
     562560     HW      TIP3    0       13.5381 1.66216 2.54963 HW      559     0       0       0       0.417   
     563561     HW      TIP3    0       13.5381 1.66216 1.54163 HW      559     0       0       0       0.417   
     564562     OW      TIP3    0       12.7791 1.66216 5.1289  OW      563     564     0       0       -0.834 
     565563     HW      TIP3    0       13.5381 1.66216 5.6329  HW      562     0       0       0       0.417   
     566564     HW      TIP3    0       13.5381 1.66216 4.6249  HW      562     0       0       0       0.417   
     567565     OW      TIP3    0       12.7791 1.66216 8.21216 OW      566     567     0       0       -0.834 
     568566     HW      TIP3    0       13.5381 1.66216 8.71616 HW      565     0       0       0       0.417   
     569567     HW      TIP3    0       13.5381 1.66216 7.70816 HW      565     0       0       0       0.417   
     570568     OW      TIP3    0       12.7791 1.66216 11.2954 OW      569     570     0       0       -0.834 
     571569     HW      TIP3    0       13.5381 1.66216 11.7994 HW      568     0       0       0       0.417   
     572570     HW      TIP3    0       13.5381 1.66216 10.7914 HW      568     0       0       0       0.417   
     573571     OW      TIP3    0       12.7791 1.66216 14.3787 OW      572     573     0       0       -0.834 
     574572     HW      TIP3    0       13.5381 1.66216 14.8827 HW      571     0       0       0       0.417   
     575573     HW      TIP3    0       13.5381 1.66216 13.8747 HW      571     0       0       0       0.417   
     576574     OW      TIP3    0       12.7791 1.66216 17.4619 OW      575     576     0       0       -0.834 
     577575     HW      TIP3    0       13.5381 1.66216 17.966  HW      574     0       0       0       0.417   
     578576     HW      TIP3    0       13.5381 1.66216 16.958  HW      574     0       0       0       0.417   
     579577     OW      TIP3    0       12.7791 1.66216 20.5452 OW      578     579     0       0       -0.834 
     580578     HW      TIP3    0       13.5381 1.66216 21.0492 HW      577     0       0       0       0.417   
     581579     HW      TIP3    0       13.5381 1.66216 20.0412 HW      577     0       0       0       0.417   
     582580     OW      TIP3    0       12.7791 1.66216 23.6285 OW      581     582     0       0       -0.834 
     583581     HW      TIP3    0       13.5381 1.66216 24.1325 HW      580     0       0       0       0.417   
     584582     HW      TIP3    0       13.5381 1.66216 23.1245 HW      580     0       0       0       0.417   
     585583     OW      TIP3    0       12.7791 1.66216 26.7117 OW      584     585     0       0       -0.834 
     586584     HW      TIP3    0       13.5381 1.66216 27.2157 HW      583     0       0       0       0.417   
     587585     HW      TIP3    0       13.5381 1.66216 26.2077 HW      583     0       0       0       0.417   
     588586     OW      TIP3    0       12.7791 1.66216 29.795  OW      587     588     0       0       -0.834 
     589587     HW      TIP3    0       13.5381 1.66216 30.299  HW      586     0       0       0       0.417   
     590588     HW      TIP3    0       13.5381 1.66216 29.291  HW      586     0       0       0       0.417   
     591589     OW      TIP3    0       12.7791 1.66216 32.8783 OW      590     591     0       0       -0.834 
     592590     HW      TIP3    0       13.5381 1.66216 33.3823 HW      589     0       0       0       0.417   
     593591     HW      TIP3    0       13.5381 1.66216 32.3743 HW      589     0       0       0       0.417   
     594592     OW      TIP3    0       12.7791 4.98648 2.04563 OW      593     594     0       0       -0.834 
     595593     HW      TIP3    0       13.5381 4.98648 2.54963 HW      592     0       0       0       0.417   
     596594     HW      TIP3    0       13.5381 4.98648 1.54163 HW      592     0       0       0       0.417   
     597595     OW      TIP3    0       12.7791 4.98648 5.1289  OW      596     597     0       0       -0.834 
     598596     HW      TIP3    0       13.5381 4.98648 5.6329  HW      595     0       0       0       0.417   
     599597     HW      TIP3    0       13.5381 4.98648 4.6249  HW      595     0       0       0       0.417   
     600598     OW      TIP3    0       12.7791 4.98648 8.21216 OW      599     600     0       0       -0.834 
     601599     HW      TIP3    0       13.5381 4.98648 8.71616 HW      598     0       0       0       0.417   
     602600     HW      TIP3    0       13.5381 4.98648 7.70816 HW      598     0       0       0       0.417   
     603601     OW      TIP3    0       12.7791 4.98648 11.2954 OW      602     603     0       0       -0.834 
     604602     HW      TIP3    0       13.5381 4.98648 11.7994 HW      601     0       0       0       0.417   
     605603     HW      TIP3    0       13.5381 4.98648 10.7914 HW      601     0       0       0       0.417   
     606604     OW      TIP3    0       12.7791 4.98648 14.3787 OW      605     606     0       0       -0.834 
     607605     HW      TIP3    0       13.5381 4.98648 14.8827 HW      604     0       0       0       0.417   
     608606     HW      TIP3    0       13.5381 4.98648 13.8747 HW      604     0       0       0       0.417   
     609607     OW      TIP3    0       12.7791 4.98648 17.4619 OW      608     609     0       0       -0.834 
     610608     HW      TIP3    0       13.5381 4.98648 17.966  HW      607     0       0       0       0.417   
     611609     HW      TIP3    0       13.5381 4.98648 16.958  HW      607     0       0       0       0.417   
     612610     OW      TIP3    0       12.7791 4.98648 20.5452 OW      611     612     0       0       -0.834 
     613611     HW      TIP3    0       13.5381 4.98648 21.0492 HW      610     0       0       0       0.417   
     614612     HW      TIP3    0       13.5381 4.98648 20.0412 HW      610     0       0       0       0.417   
     615613     OW      TIP3    0       12.7791 4.98648 23.6285 OW      614     615     0       0       -0.834 
     616614     HW      TIP3    0       13.5381 4.98648 24.1325 HW      613     0       0       0       0.417   
     617615     HW      TIP3    0       13.5381 4.98648 23.1245 HW      613     0       0       0       0.417   
     618616     OW      TIP3    0       12.7791 4.98648 26.7117 OW      617     618     0       0       -0.834 
     619617     HW      TIP3    0       13.5381 4.98648 27.2157 HW      616     0       0       0       0.417   
     620618     HW      TIP3    0       13.5381 4.98648 26.2077 HW      616     0       0       0       0.417   
     621619     OW      TIP3    0       12.7791 4.98648 29.795  OW      620     621     0       0       -0.834 
     622620     HW      TIP3    0       13.5381 4.98648 30.299  HW      619     0       0       0       0.417   
     623621     HW      TIP3    0       13.5381 4.98648 29.291  HW      619     0       0       0       0.417   
     624622     OW      TIP3    0       12.7791 4.98648 32.8783 OW      623     624     0       0       -0.834 
     625623     HW      TIP3    0       13.5381 4.98648 33.3823 HW      622     0       0       0       0.417   
     626624     HW      TIP3    0       13.5381 4.98648 32.3743 HW      622     0       0       0       0.417   
     627625     OW      TIP3    0       12.7791 8.3108  2.04563 OW      626     627     0       0       -0.834 
     628626     HW      TIP3    0       13.5381 8.3108  2.54963 HW      625     0       0       0       0.417   
     629627     HW      TIP3    0       13.5381 8.3108  1.54163 HW      625     0       0       0       0.417   
     630628     OW      TIP3    0       12.7791 8.3108  5.1289  OW      629     630     0       0       -0.834 
     631629     HW      TIP3    0       13.5381 8.3108  5.6329  HW      628     0       0       0       0.417   
     632630     HW      TIP3    0       13.5381 8.3108  4.6249  HW      628     0       0       0       0.417   
     633631     OW      TIP3    0       12.7791 8.3108  8.21216 OW      632     633     0       0       -0.834 
     634632     HW      TIP3    0       13.5381 8.3108  8.71616 HW      631     0       0       0       0.417   
     635633     HW      TIP3    0       13.5381 8.3108  7.70816 HW      631     0       0       0       0.417   
     636634     OW      TIP3    0       12.7791 8.3108  11.2954 OW      635     636     0       0       -0.834 
     637635     HW      TIP3    0       13.5381 8.3108  11.7994 HW      634     0       0       0       0.417   
     638636     HW      TIP3    0       13.5381 8.3108  10.7914 HW      634     0       0       0       0.417   
     639637     OW      TIP3    0       12.7791 8.3108  14.3787 OW      638     639     0       0       -0.834 
     640638     HW      TIP3    0       13.5381 8.3108  14.8827 HW      637     0       0       0       0.417   
     641639     HW      TIP3    0       13.5381 8.3108  13.8747 HW      637     0       0       0       0.417   
     642640     OW      TIP3    0       12.7791 8.3108  17.4619 OW      641     642     0       0       -0.834 
     643641     HW      TIP3    0       13.5381 8.3108  17.966  HW      640     0       0       0       0.417   
     644642     HW      TIP3    0       13.5381 8.3108  16.958  HW      640     0       0       0       0.417   
     645643     OW      TIP3    0       12.7791 8.3108  20.5452 OW      644     645     0       0       -0.834 
     646644     HW      TIP3    0       13.5381 8.3108  21.0492 HW      643     0       0       0       0.417   
     647645     HW      TIP3    0       13.5381 8.3108  20.0412 HW      643     0       0       0       0.417   
     648646     OW      TIP3    0       12.7791 8.3108  23.6285 OW      647     648     0       0       -0.834 
     649647     HW      TIP3    0       13.5381 8.3108  24.1325 HW      646     0       0       0       0.417   
     650648     HW      TIP3    0       13.5381 8.3108  23.1245 HW      646     0       0       0       0.417   
     651649     OW      TIP3    0       12.7791 8.3108  26.7117 OW      650     651     0       0       -0.834 
     652650     HW      TIP3    0       13.5381 8.3108  27.2157 HW      649     0       0       0       0.417   
     653651     HW      TIP3    0       13.5381 8.3108  26.2077 HW      649     0       0       0       0.417   
     654652     OW      TIP3    0       12.7791 8.3108  29.795  OW      653     654     0       0       -0.834 
     655653     HW      TIP3    0       13.5381 8.3108  30.299  HW      652     0       0       0       0.417   
     656654     HW      TIP3    0       13.5381 8.3108  29.291  HW      652     0       0       0       0.417   
     657655     OW      TIP3    0       12.7791 8.3108  32.8783 OW      656     657     0       0       -0.834 
     658656     HW      TIP3    0       13.5381 8.3108  33.3823 HW      655     0       0       0       0.417   
     659657     HW      TIP3    0       13.5381 8.3108  32.3743 HW      655     0       0       0       0.417   
     660658     OW      TIP3    0       12.7791 11.6351 2.04563 OW      659     660     0       0       -0.834 
     661659     HW      TIP3    0       13.5381 11.6351 2.54963 HW      658     0       0       0       0.417   
     662660     HW      TIP3    0       13.5381 11.6351 1.54163 HW      658     0       0       0       0.417   
     663661     OW      TIP3    0       12.7791 11.6351 5.1289  OW      662     663     0       0       -0.834 
     664662     HW      TIP3    0       13.5381 11.6351 5.6329  HW      661     0       0       0       0.417   
     665663     HW      TIP3    0       13.5381 11.6351 4.6249  HW      661     0       0       0       0.417   
     666664     OW      TIP3    0       12.7791 11.6351 8.21216 OW      665     666     0       0       -0.834 
     667665     HW      TIP3    0       13.5381 11.6351 8.71616 HW      664     0       0       0       0.417   
     668666     HW      TIP3    0       13.5381 11.6351 7.70816 HW      664     0       0       0       0.417   
     669667     OW      TIP3    0       12.7791 11.6351 11.2954 OW      668     669     0       0       -0.834 
     670668     HW      TIP3    0       13.5381 11.6351 11.7994 HW      667     0       0       0       0.417   
     671669     HW      TIP3    0       13.5381 11.6351 10.7914 HW      667     0       0       0       0.417   
     672670     OW      TIP3    0       12.7791 11.6351 14.3787 OW      671     672     0       0       -0.834 
     673671     HW      TIP3    0       13.5381 11.6351 14.8827 HW      670     0       0       0       0.417   
     674672     HW      TIP3    0       13.5381 11.6351 13.8747 HW      670     0       0       0       0.417   
     675673     OW      TIP3    0       12.7791 11.6351 17.4619 OW      674     675     0       0       -0.834 
     676674     HW      TIP3    0       13.5381 11.6351 17.966  HW      673     0       0       0       0.417   
     677675     HW      TIP3    0       13.5381 11.6351 16.958  HW      673     0       0       0       0.417   
     678676     OW      TIP3    0       12.7791 11.6351 20.5452 OW      677     678     0       0       -0.834 
     679677     HW      TIP3    0       13.5381 11.6351 21.0492 HW      676     0       0       0       0.417   
     680678     HW      TIP3    0       13.5381 11.6351 20.0412 HW      676     0       0       0       0.417   
     681679     OW      TIP3    0       12.7791 11.6351 23.6285 OW      680     681     0       0       -0.834 
     682680     HW      TIP3    0       13.5381 11.6351 24.1325 HW      679     0       0       0       0.417   
     683681     HW      TIP3    0       13.5381 11.6351 23.1245 HW      679     0       0       0       0.417   
     684682     OW      TIP3    0       12.7791 11.6351 26.7117 OW      683     684     0       0       -0.834 
     685683     HW      TIP3    0       13.5381 11.6351 27.2157 HW      682     0       0       0       0.417   
     686684     HW      TIP3    0       13.5381 11.6351 26.2077 HW      682     0       0       0       0.417   
     687685     OW      TIP3    0       12.7791 11.6351 29.795  OW      686     687     0       0       -0.834 
     688686     HW      TIP3    0       13.5381 11.6351 30.299  HW      685     0       0       0       0.417   
     689687     HW      TIP3    0       13.5381 11.6351 29.291  HW      685     0       0       0       0.417   
     690688     OW      TIP3    0       12.7791 11.6351 32.8783 OW      689     690     0       0       -0.834 
     691689     HW      TIP3    0       13.5381 11.6351 33.3823 HW      688     0       0       0       0.417   
     692690     HW      TIP3    0       13.5381 11.6351 32.3743 HW      688     0       0       0       0.417   
     693691     OW      TIP3    0       12.7791 14.9594 2.04563 OW      692     693     0       0       -0.834 
     694692     HW      TIP3    0       13.5381 14.9594 2.54963 HW      691     0       0       0       0.417   
     695693     HW      TIP3    0       13.5381 14.9594 1.54163 HW      691     0       0       0       0.417   
     696694     OW      TIP3    0       12.7791 14.9594 5.1289  OW      695     696     0       0       -0.834 
     697695     HW      TIP3    0       13.5381 14.9594 5.6329  HW      694     0       0       0       0.417   
     698696     HW      TIP3    0       13.5381 14.9594 4.6249  HW      694     0       0       0       0.417   
     699697     OW      TIP3    0       12.7791 14.9594 8.21216 OW      698     699     0       0       -0.834 
     700698     HW      TIP3    0       13.5381 14.9594 8.71616 HW      697     0       0       0       0.417   
     701699     HW      TIP3    0       13.5381 14.9594 7.70816 HW      697     0       0       0       0.417   
     702700     OW      TIP3    0       12.7791 14.9594 11.2954 OW      701     702     0       0       -0.834 
     703701     HW      TIP3    0       13.5381 14.9594 11.7994 HW      700     0       0       0       0.417   
     704702     HW      TIP3    0       13.5381 14.9594 10.7914 HW      700     0       0       0       0.417   
     705703     OW      TIP3    0       12.7791 14.9594 14.3787 OW      704     705     0       0       -0.834 
     706704     HW      TIP3    0       13.5381 14.9594 14.8827 HW      703     0       0       0       0.417   
     707705     HW      TIP3    0       13.5381 14.9594 13.8747 HW      703     0       0       0       0.417   
     708706     OW      TIP3    0       12.7791 14.9594 17.4619 OW      707     708     0       0       -0.834 
     709707     HW      TIP3    0       13.5381 14.9594 17.966  HW      706     0       0       0       0.417   
     710708     HW      TIP3    0       13.5381 14.9594 16.958  HW      706     0       0       0       0.417   
     711709     OW      TIP3    0       12.7791 14.9594 20.5452 OW      710     711     0       0       -0.834 
     712710     HW      TIP3    0       13.5381 14.9594 21.0492 HW      709     0       0       0       0.417   
     713711     HW      TIP3    0       13.5381 14.9594 20.0412 HW      709     0       0       0       0.417   
     714712     OW      TIP3    0       12.7791 14.9594 23.6285 OW      713     714     0       0       -0.834 
     715713     HW      TIP3    0       13.5381 14.9594 24.1325 HW      712     0       0       0       0.417   
     716714     HW      TIP3    0       13.5381 14.9594 23.1245 HW      712     0       0       0       0.417   
     717715     OW      TIP3    0       12.7791 14.9594 26.7117 OW      716     717     0       0       -0.834 
     718716     HW      TIP3    0       13.5381 14.9594 27.2157 HW      715     0       0       0       0.417   
     719717     HW      TIP3    0       13.5381 14.9594 26.2077 HW      715     0       0       0       0.417   
     720718     OW      TIP3    0       12.7791 14.9594 29.795  OW      719     720     0       0       -0.834 
     721719     HW      TIP3    0       13.5381 14.9594 30.299  HW      718     0       0       0       0.417   
     722720     HW      TIP3    0       13.5381 14.9594 29.291  HW      718     0       0       0       0.417   
     723721     OW      TIP3    0       12.7791 14.9594 32.8783 OW      722     723     0       0       -0.834 
     724722     HW      TIP3    0       13.5381 14.9594 33.3823 HW      721     0       0       0       0.417   
     725723     HW      TIP3    0       13.5381 14.9594 32.3743 HW      721     0       0       0       0.417   
  • tests/regression/Filling/testsuite-filling.at

    r8859b5 r7f1b51  
    1818AT_BANNER([MoleCuilder - Filling in molecules])
    1919
    20 # filling box
    21 m4_include(Filling/FillWithMolecule/testsuite-fill-with-molecule.at)
    22 
    2320# suspend in water with certain density
    2421m4_include(Filling/SuspendInWater/testsuite-suspend-in-water.at)
    2522
    26 # filling box
    27 m4_include(Filling/FillVoidWithMolecule/testsuite-fill-void-with-molecule.at)
    28 
    29 # filling box with tenside
    30 m4_include(Filling/FillVoidWithMolecule/testsuite-fill-void-with-tenside-molecule.at)
     23# fill surface
     24m4_include([Filling/FillSurface/testsuite-fill-surface-cube.at])
     25m4_include([Filling/FillSurface/testsuite-fill-surface-cylinder.at])
     26m4_include([Filling/FillSurface/testsuite-fill-surface-everywhere.at])
     27m4_include([Filling/FillSurface/testsuite-fill-surface-nowhere.at])
     28m4_include([Filling/FillSurface/testsuite-fill-surface-sphere.at])
    3129
    3230# create micelle by filling a spherical surface
    33 m4_include([Filling/SphericalSurface/testsuite-molecules-fill-spherical-surface.at])
     31m4_include([Filling/FillSurface/testsuite-fill-surface-micelle.at])
    3432
    3533# fill regular grid
    36 m4_include([Filling/RegularGrid/testsuite-molecules-fill-regular-grid.at])
    37 m4_include([Filling/RegularGrid/testsuite-molecules-fill-regular-grid-with-surface.at])
     34m4_include([Filling/RegularGrid/testsuite-fill-regular-grid.at])
     35m4_include([Filling/RegularGrid/testsuite-fill-regular-grid-with-surface.at])
    3836
     37# filling shape's volumes
     38m4_include(Filling/FillVolume/testsuite-fill-volume-cube.at)
     39m4_include(Filling/FillVolume/testsuite-fill-volume-cylinder.at)
     40m4_include(Filling/FillVolume/testsuite-fill-volume-everywhere.at)
     41m4_include(Filling/FillVolume/testsuite-fill-volume-nowhere.at)
     42m4_include(Filling/FillVolume/testsuite-fill-volume-sphere.at)
     43
  • tests/regression/Makefile.am

    r8859b5 r7f1b51  
    6363        $(srcdir)/Domain/SetBoundaryConditions/testsuite-domain-set-boundary-conditions.at \
    6464        $(srcdir)/Filling/testsuite-filling.at \
    65         $(srcdir)/Filling/FillVoidWithMolecule/testsuite-fill-void-with-molecule.at \
    66         $(srcdir)/Filling/FillVoidWithMolecule/testsuite-fill-void-with-tenside-molecule.at \
    67         $(srcdir)/Filling/FillWithMolecule/testsuite-fill-with-molecule.at \
    68         $(srcdir)/Filling/RegularGrid/testsuite-molecules-fill-regular-grid.at \
    69         $(srcdir)/Filling/RegularGrid/testsuite-molecules-fill-regular-grid-with-surface.at \
    70         $(srcdir)/Filling/SphericalSurface/testsuite-molecules-fill-spherical-surface.at \
     65        $(srcdir)/Filling/FillSurface/testsuite-fill-surface-cube.at \
     66        $(srcdir)/Filling/FillSurface/testsuite-fill-surface-cylinder.at \
     67        $(srcdir)/Filling/FillSurface/testsuite-fill-surface-everywhere.at \
     68        $(srcdir)/Filling/FillSurface/testsuite-fill-surface-micelle.at \
     69        $(srcdir)/Filling/FillSurface/testsuite-fill-surface-nowhere.at \
     70        $(srcdir)/Filling/FillSurface/testsuite-fill-surface-sphere.at \
     71        $(srcdir)/Filling/FillVolume/testsuite-fill-volume-cube.at \
     72        $(srcdir)/Filling/FillVolume/testsuite-fill-volume-cylinder.at \
     73        $(srcdir)/Filling/FillVolume/testsuite-fill-volume-everywhere.at \
     74        $(srcdir)/Filling/FillVolume/testsuite-fill-volume-nowhere.at \
     75        $(srcdir)/Filling/FillVolume/testsuite-fill-volume-sphere.at \
     76        $(srcdir)/Filling/RegularGrid/testsuite-fill-regular-grid.at \
     77        $(srcdir)/Filling/RegularGrid/testsuite-fill-regular-grid-with-surface.at \
    7178        $(srcdir)/Filling/SuspendInWater/testsuite-suspend-in-water.at \
    7279        $(srcdir)/Fragmentation/testsuite-fragmentation.at \
  • tests/regression/Options/InvalidCommands/testsuite-options-invalid-commands.at

    r8859b5 r7f1b51  
    2525AT_CHECK([chmod u+w $file], 0)
    2626AT_CHECK([../../molecuilder -i $file  -t], 134, [ignore], [stderr])
    27 AT_CHECK([../../molecuilder -i $file  -s -b -E -c -b -a -u], 134, [ignore], [stderr])
    28 AT_CHECK([../../molecuilder -i $file  -b -E -c -b -a -u], 134, [ignore], [stderr])
    29 AT_CHECK([../../molecuilder -i $file  -E -c -b -a -u], 134, [ignore], [stderr])
    30 AT_CHECK([../../molecuilder -i $file  -c -b -a -u], 134, [ignore], [stderr])
    31 AT_CHECK([../../molecuilder -i $file  -b -a -u], 134, [ignore], [stderr])
    32 AT_CHECK([../../molecuilder -i $file  -a -u], 134, [ignore], [stderr])
    33 AT_CHECK([../../molecuilder -i $file  -u], 134, [ignore], [stderr])
     27AT_CHECK([../../molecuilder -i $file  -s -b -E -c -b -a], 134, [ignore], [stderr])
     28AT_CHECK([../../molecuilder -i $file  -b -E -c -b -a], 134, [ignore], [stderr])
     29AT_CHECK([../../molecuilder -i $file  -E -c -b -a], 134, [ignore], [stderr])
     30AT_CHECK([../../molecuilder -i $file  -c -b -a], 134, [ignore], [stderr])
     31AT_CHECK([../../molecuilder -i $file  -b -a], 134, [ignore], [stderr])
     32AT_CHECK([../../molecuilder -i $file  -a], 134, [ignore], [stderr])
    3433
    3534AT_CLEANUP
  • tests/regression/RandomNumbers/Distribution/testsuite-set-random-number-distribution.at

    r8859b5 r7f1b51  
    2222
    2323AT_CHECK([../../molecuilder -v 3 --set-random-number-distribution "uniform_int" --random-number-distribution-parameters "max=20;"], 0, [stdout], [stderr])
    24 AT_CHECK([fgrep "uniform_int" stdout], 0, [ignore], [ignore])
     24AT_CHECK([grep "STATUS:.*uniform_int" stdout], 0, [ignore], [ignore])
    2525AT_CHECK([fgrep "Its parameters are: min=0;max=20;p=-1;t=-1;median=-1;sigma=-1;alpha=-1;mean=-1;a=-1;b=-1;c=-1;lambda=-1;" stdout], 0, [ignore], [ignore])
    2626
     
    3232
    3333AT_CHECK([../../molecuilder -v 3 --set-random-number-distribution "uniform_int" --random-number-distribution-parameters "max=20;" --undo], 0, [stdout], [stderr])
    34 AT_CHECK([fgrep "uniform_smallint" stdout], 0, [ignore], [ignore])
     34AT_CHECK([grep "STATUS:.*uniform_smallint" stdout], 0, [ignore], [ignore])
    3535AT_CHECK([fgrep "Its parameters are: min=0;max=9;p=-1;t=-1;median=-1;sigma=-1;alpha=-1;mean=-1;a=-1;b=-1;c=-1;lambda=-1;" stdout], 0, [ignore], [ignore])
    3636
     
    4242
    4343AT_CHECK([../../molecuilder -v 3 --set-random-number-distribution "uniform_int" --random-number-distribution-parameters "max=20;" --undo --redo], 0, [stdout], [stderr])
    44 AT_CHECK([fgrep -c "uniform_int" stdout], 0, [stdout], [ignore])
    45 AT_CHECK([fgrep "3" stdout], 0, [ignore], [ignore])
     44AT_CHECK([grep -c "STATUS:.*uniform_int" stdout], 0, [stdout], [ignore])
     45AT_CHECK([fgrep "2" stdout], 0, [ignore], [ignore])
    4646AT_CHECK([../../molecuilder -v 3 --set-random-number-distribution "uniform_int" --random-number-distribution-parameters "max=20;" --undo --redo], 0, [stdout], [stderr])
    4747AT_CHECK([fgrep -c "Its parameters are: min=0;max=20;p=-1;t=-1;median=-1;sigma=-1;alpha=-1;mean=-1;a=-1;b=-1;c=-1;lambda=-1;" stdout], 0, [stdout], [ignore])
  • tests/regression/RandomNumbers/Engine/testsuite-set-random-number-engine.at

    r8859b5 r7f1b51  
    2222
    2323AT_CHECK([../../molecuilder -v 3 --set-random-number-engine "lagged_fibonacci607" --random-number-engine-parameters "seed=2;"], 0, [stdout], [stderr])
    24 AT_CHECK([fgrep "lagged_fibonacci607" stdout], 0, [ignore], [ignore])
     24AT_CHECK([grep "STATUS:.*lagged_fibonacci607" stdout], 0, [ignore], [ignore])
    2525AT_CHECK([fgrep "Its parameters are: seed=2;" stdout], 0, [ignore], [ignore])
    2626
     
    3232
    3333AT_CHECK([../../molecuilder -v 3 --set-random-number-engine "lagged_fibonacci607" --random-number-engine-parameters "seed=2;" --undo], 0, [stdout], [stderr])
    34 AT_CHECK([fgrep "minstd_rand0" stdout], 0, [ignore], [ignore])
     34AT_CHECK([grep "STATUS:.*minstd_rand0" stdout], 0, [ignore], [ignore])
    3535AT_CHECK([fgrep "Its parameters are: seed=1;" stdout], 0, [ignore], [ignore])
    3636
     
    4242
    4343AT_CHECK([../../molecuilder -v 3 --set-random-number-engine "lagged_fibonacci607" --random-number-engine-parameters "seed=2;" --undo --redo], 0, [stdout], [stderr])
    44 AT_CHECK([fgrep -c "lagged_fibonacci607" stdout], 0, [stdout], [ignore])
    45 AT_CHECK([fgrep "3" stdout], 0, [stdout], [ignore])
     44AT_CHECK([grep -c "STATUS:.*lagged_fibonacci607" stdout], 0, [stdout], [ignore])
     45AT_CHECK([fgrep "2" stdout], 0, [stdout], [ignore])
    4646AT_CHECK([../../molecuilder -v 3 --set-random-number-engine "lagged_fibonacci607" --random-number-engine-parameters "seed=2;" --undo --redo], 0, [stdout], [stderr])
    4747AT_CHECK([fgrep -c "Its parameters are: seed=2;" stdout], 0, [stdout], [ignore])
Note: See TracChangeset for help on using the changeset viewer.