Changes in / [404d2b:363f28]


Ignore:
Files:
3910 added
149 deleted
25 edited

Legend:

Unmodified
Added
Removed
  • .gitignore

    r404d2b r363f28  
     1# specific source code stuff
     2version.c
     3.git-version
     4
    15# eclipse file
    26.autotools
  • AUTHORS

    r404d2b r363f28  
    1 Frederik Heber (heber@ins.uni-bonn.de)
     1Tillmann Crueger        (crueger@ins.uni-bonn.de)
     2Daniel Dueck            (dueck@ins.uni-bonn.de)
     3Frederik Heber          (heber@ins.uni-bonn.de)
     4Saskia Metzler          (metzler@ins.uni-bonn.de)
     5Christian Neuen         (neuen@ins.uni-bonn.de)
  • ChangeLog

    • Property mode changed from 100644 to 100755
    r404d2b r363f28  
    1 commit e96e9b221c882f59d5680be13d331022bc784a09
    2 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3 Date:   Fri May 18 17:27:25 2012 +0200
    4 
    5     Adapted all Makefile.ams to splitting.
    6 
    7 commit 508e98b13b9eb17f0a4db04c149136f4f94e5dee
    8 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9 Date:   Fri May 18 17:26:50 2012 +0200
    10 
    11     Moved some molecuilder specific files back to Fragmentation/Automation.
    12 
    13 commit b8211878e73baa75a30a8133f28b15f06950b674
    14 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15 Date:   Fri May 18 17:07:01 2012 +0200
    16 
    17     Adapted most files (which have been copied from sub-package LinearAlgebra).
    18 
    19 commit 751f4b8f15ee6b4cbba63d3b385810e088f8cb30
    20 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21 Date:   Fri May 18 16:37:17 2012 +0200
    22 
    23     Moved all Fragmentation/Automation into new subpackage JobMarket.
    24 
    25 commit baf1b40315890f3e8240b27d2e57814153bdaea6
    26 Author: Frederik Heber <heber@ins.uni-bonn.de>
    27 Date:   Fri May 18 15:09:36 2012 +0200
    28 
    29     tempcommit: Added initial Action on FragmentationAutomation.
    30 
    31 commit c4e2a6a72aa25914e001db27585e486c63bc1570
    32 Author: Frederik Heber <heber@ins.uni-bonn.de>
    33 Date:   Sun May 13 21:03:53 2012 +0200
    34 
    35     Regression test FragmentationAutomation enroll-in-pool now also adds a job.
    36    
    37     - this is have it both ways: First the job, then the worker as in adding-job.
    38       And also, first the worker, then the job as now in enroll-in-pool.
    39     - this is to make sure that the observer mechanism is working on both ways
    40       correctly.
    41 
    42 commit 8419019e75b5cdf4bf2681287595dbaf1a53de21
    43 Author: Frederik Heber <heber@ins.uni-bonn.de>
    44 Date:   Sun May 13 20:56:51 2012 +0200
    45 
    46     DOCU: Added extensive documentation on the client/server/controller concept of the Fragmentation Automation framework.
    47 
    48 commit 21546ba4a1ce53746aa93a2459bb9dc4151f5381
    49 Author: Frederik Heber <heber@ins.uni-bonn.de>
    50 Date:   Sun May 13 19:53:34 2012 +0200
    51 
    52     PoolWorker now has an OperationQueue and ServerAddress.
    53    
    54     - OperationQueue works the same way as for FragmentScheduler. Operations are
    55       simply handed over to it with callback function in place from cstor.
    56     - ServerAddress stores server's address to hand to OperationQueue on pushing
    57       the operation.
    58 
    59 commit 8d60281b0e2cb7acefdfa19abbd4e0f2273651af
    60 Author: Frederik Heber <heber@ins.uni-bonn.de>
    61 Date:   Sun May 13 19:53:05 2012 +0200
    62 
    63     Renamed PoolWorker::address -> ::MyAddress to differentiate from ServerAddress to come.
    64 
    65 commit 8a3145cd3d2897310c065bf5a8e3e6548fd2a2ab
    66 Author: Frederik Heber <heber@ins.uni-bonn.de>
    67 Date:   Mon May 14 15:57:39 2012 +0200
    68 
    69     PoolWorker now shuts down when enrollment is not successful.
    70    
    71     - new bound function initiateme contains call to initiateSocket() and is
    72       called when EnrollInPoolOperation succeeds.
    73 
    74 commit b6428a47357b18b99dfb35ab45366c47c4c4d1cf
    75 Author: Frederik Heber <heber@ins.uni-bonn.de>
    76 Date:   Fri May 11 22:00:28 2012 +0200
    77 
    78     RemoveFromPoolOperation is now async.
    79    
    80     - changed PoolWorker such that we close down socket and listener via success
    81       callback handler of the operartion.
    82     - FragmentScheduler now sends true/false as status of removal.
    83 
    84 commit cf50a864688a2aaf3519e98e8759596bba12f4e5
    85 Author: Frederik Heber <heber@ins.uni-bonn.de>
    86 Date:   Fri May 11 21:42:43 2012 +0200
    87 
    88     Added ExitflagContainer that FragmentController and PoolWorker use.
    89    
    90     - all Operations have been stripped of their internal Exitflag.
    91     - PoolWorker and FragmentController uses callback mechanism to let the
    92       AsyncOperation set their Exitflag in case of failure.
    93 
    94 commit d0e1ef9a6e268a25f29f72dc7be65aa0fb23e8c4
    95 Author: Frederik Heber <heber@ins.uni-bonn.de>
    96 Date:   Fri May 11 20:23:22 2012 +0200
    97 
    98     AsyncOperation and all derived classes changed their cstor and operator() signature for success/failure callback handlers.
    99    
    100     - This allows starting certain functions depending on whether an asynchronous
    101       operation succeeded or not.
    102     - FragmentController and PoolWorker are adapted to new AsyncOperation's cstor
    103       and operator() signatures.
    104 
    105 commit b47515a84bb390d8602659bcbeef7be7b89550c8
    106 Author: Frederik Heber <heber@ins.uni-bonn.de>
    107 Date:   Fri May 11 21:39:08 2012 +0200
    108 
    109     FragmentScheduler sends true or false instead of specific enumeration as acknowledge of enrollment.
    110    
    111     - adapted EnrollInPoolOperation accordingly.
    112 
    113 commit a742fbe4bf1d518405c309610e6b7199cb574c73
    114 Author: Frederik Heber <heber@ins.uni-bonn.de>
    115 Date:   Fri May 4 15:26:34 2012 +0200
    116 
    117     Hostname argument to poolworker is now optional.
    118    
    119     - we use gethostname() to obtain the hostname if no argument given.
    120 
    121 commit f3d74dc0b997435a2402215efce4f99bca661345
    122 Author: Frederik Heber <heber@ins.uni-bonn.de>
    123 Date:   Thu May 3 14:46:59 2012 +0200
    124 
    125     Controller now also uses boost::program_options to parse command line options.
    126    
    127     - also we now cleanly check whether each command has its required arguments
    128       before making any connections to the server. Hence, nothing can be lost.
    129     - TESTFIX: Changed regression tests due to changed controller calling
    130       signature.
    131     - TESTFIX: regression test Fragmenation/Automation mpqc-jobs uses removeall
    132       instead of giving kill.
    133 
    134 commit 167fe1f56ca8c04b74bce08930c7a56bceed025b
    135 Author: Frederik Heber <heber@ins.uni-bonn.de>
    136 Date:   Thu May 3 13:14:23 2012 +0200
    137 
    138     Server now also intercepts sigint and shuts down gracefully.
    139    
    140     - new FragmentScheduler::shutdown() function is bound and given as signal
    141       handler.
    142     - on signal we first remove all workers and only shutdown and close sockets
    143       when there are no workers.
    144     - note that we do not release the signalhandler after first received signal
    145       but after a given number as two ctrl-c are required to shut down server
    146       having poolworkers.
    147 
    148 commit 5e2194627d0cac07245760514e33e070c52e4e90
    149 Author: Frederik Heber <heber@ins.uni-bonn.de>
    150 Date:   Wed Apr 25 14:22:22 2012 +0200
    151 
    152     Server now gives information about number of total and idling workers when new one is added.
    153    
    154     - WorkerPool has new convenience functions for the size of each internal queue.
    155 
    156 commit 5e8029f96b675f41f71261551f4e9af96b6f1026
    157 Author: Frederik Heber <heber@ins.uni-bonn.de>
    158 Date:   Wed Apr 25 13:24:11 2012 +0200
    159 
    160     Server now also parses worker and controller port via boost::program_options.
    161    
    162     - TESTFIX: Same again, adapted server calls due to changed command option
    163       signature in regression tests Fragmentation/Automation.
    164 
    165 commit 5a506b81754634f69e2c682645a79a1594e07f3b
    166 Author: Frederik Heber <heber@ins.uni-bonn.de>
    167 Date:   Wed Apr 25 13:22:35 2012 +0200
    168 
    169     We now set option reuse_address to be more gentle only used ports.
    170 
    171 commit ea2dd0886c745ecd04ec40d321102610c432bb20
    172 Author: Frederik Heber <heber@ins.uni-bonn.de>
    173 Date:   Wed Apr 25 12:27:55 2012 +0200
    174 
    175     PoolWorker now accepts command line options to for signals and verbosity.
    176    
    177     - all of poolworkers command line arguments are now parsed via
    178       boost::program_options.
    179     - As a sideeffect multiple signals may now be specified to catch on the command
    180       line.
    181     - TESTFIX: Usage of poolworker has changed, hence adapted regression tests.
    182 
    183 commit c450820c3fdfd5ec4f1ad14dc8e7e0723afec9fa
    184 Author: Frederik Heber <heber@ins.uni-bonn.de>
    185 Date:   Wed Apr 25 12:04:21 2012 +0200
    186 
    187     FIX: All checks on command line arguments are now done in phase one, exit on fail.
    188    
    189     - otherwise we lost e.g. results when receivempqc had received them but noticed
    190       afterwards that the required path is missing.
    191 
    192 commit 416795632ceab4c43a021daa65c7ece496af0a8c
    193 Author: Frederik Heber <heber@ins.uni-bonn.de>
    194 Date:   Tue Apr 24 18:53:31 2012 +0200
    195 
    196     OperationQueue now has a max_connections and allows only this number of running operations.
    197    
    198     - OperationQueue::launchNextOp() is called by update() and push_back().
    199     - new AddressMap takes endpoint addresses and is used to know which operations
    200       still have to be executed.
    201 
    202 commit e61629940d3ee21968da3200d5b2b7258dd884e7
    203 Author: Frederik Heber <heber@ins.uni-bonn.de>
    204 Date:   Tue Apr 24 18:26:01 2012 +0200
    205 
    206     FIX: Listener (and PoolWorker) now check whether address to listen on is in use.
    207    
    208     - we use acceptor construction as given in boost::asio::basic_socket_acceptor
    209       to listen on the desired port. Bind gives error code when error occurs.
    210 
    211 commit 3737589f2e01cba8b2152270adbc3d9f86e2f9e5
    212 Author: Frederik Heber <heber@ins.uni-bonn.de>
    213 Date:   Thu May 3 16:20:25 2012 +0200
    214 
    215     Rewrote FragmentScheduler::removeAllWorker() to only give shutdown signal to all idle workers.
    216 
    217 commit 0b80c84615eff875684021ca24c1e41152daf06a
    218 Author: Frederik Heber <heber@ins.uni-bonn.de>
    219 Date:   Thu May 3 16:20:05 2012 +0200
    220 
    221     FragmentScheduler::shutdown() now returns bool and does not remove workers anymore.
    222 
    223 commit 963e4fb4f0893c21b66c69615fa6a5b552dd8279
    224 Author: Frederik Heber <heber@ins.uni-bonn.de>
    225 Date:   Thu May 3 16:18:24 2012 +0200
    226 
    227     Added new RemoveAllWorkerOperation and removeall command to FragmentController.
    228    
    229     - FragmentScheduler::ControllerListener_t has second bound function to
    230       removeAllWorker() from FragmentScheduler instance.
    231     - this is preparatory to split shutdown into first removeal and then closing
    232       of sockets.
    233 
    234 commit 9135a1608c0d1333992b135d4a9767c1d5df59e3
    235 Author: Frederik Heber <heber@ins.uni-bonn.de>
    236 Date:   Thu May 3 15:30:09 2012 +0200
    237 
    238     Rewrote FragmentScheduler::shutdown to make sure idle_queue is truely const.
    239    
    240     - WorkerPool has new function to return idle_queue addresses as Vector.
    241     - We first get all addresses, then shutdown each and also we iterate over this
    242       as long as OperationQueue has Ops and idle_queue has idlers.
    243 
    244 commit 2691d25593c186591318d9b46a6be06ed4881047
    245 Author: Frederik Heber <heber@ins.uni-bonn.de>
    246 Date:   Tue Apr 24 17:34:20 2012 +0200
    247 
    248     ShutdownWorkerOperation is now an asynchronous operation.
    249    
    250     - FragmentScheduler places shutdown op into queue as well and waits for
    251       empty queue in removeAllWorkers().
    252     - OperationQueue has convenience function empty().
    253 
    254 commit 035ac66c763fbc9cdea256fa26d3185d91e32f62
    255 Author: Frederik Heber <heber@ins.uni-bonn.de>
    256 Date:   Tue Apr 24 16:58:50 2012 +0200
    257 
    258     FragmentScheduler is relieved of observering Operations, is done by OperationQueue.
    259    
    260     - i.e. OperationQueue is now an Observer and uses push_back() and remove() to
    261       sign on and off from the given operations.
    262     - added unit test function to check this behavior.
    263 
    264 commit e49da44bc6ef516a20db5a746ccf4aafdc9a4dd1
    265 Author: Frederik Heber <heber@ins.uni-bonn.de>
    266 Date:   Tue Apr 24 16:56:21 2012 +0200
    267 
    268     FIX: FragmentScheduler now has an OperationQueue that monitors its async.ops.
    269    
    270     - this fixes the issues with multiple jobs being handed out.
    271 
    272 commit a63dbd11fbc3f43176c999f1e7a3bace140ecfb4
    273 Author: Frederik Heber <heber@ins.uni-bonn.de>
    274 Date:   Tue Apr 24 16:36:36 2012 +0200
    275 
    276     Implemented OperationQueue that takes care of AsyncOperations.
    277    
    278     - this is preparatory to fixing FragmentScheduler: When more than one job is
    279       placed in the JobQueue at the same time and multiple workers are idling, then
    280       also multiple SendJobToWorkerOperations are required. So far there is only a
    281       single instance, hence it is overwritten and only the last worker gets its
    282       correct job.
    283     - also added unit test on functionality of OperationQueue.
    284 
    285 commit b9054c6b9ae471826a9e49ca22f57c025cf530da
    286 Author: Frederik Heber <heber@ins.uni-bonn.de>
    287 Date:   Tue Apr 24 16:35:21 2012 +0200
    288 
    289     AsyncOperation is now an Observable.
    290    
    291     - it gives update() when the operation has been completed.
    292     - this is preparatory to placing AsyncOperation inside a queue that
    293       automatically takes care of their removal.
    294 
    295 commit 2b7afae9f53f61e160869bcbfa3299df4422d408
    296 Author: Frederik Heber <heber@ins.uni-bonn.de>
    297 Date:   Tue Apr 24 16:34:35 2012 +0200
    298 
    299     SendJobToWorkerOperation can be given job in its cstor.
    300 
    301 commit 5369c6673a1219227b5581ad70b285e7f774c364
    302 Author: Frederik Heber <heber@everest.wiss-stud>
    303 Date:   Tue Apr 24 12:38:54 2012 +0200
    304 
    305     FIX: Removed channel WorkerRemoved in WorkerPool as it may cause cyclic updates in FragmentScheduler.
    306    
    307     - If jobs are already present in the queue and an idle worker arrices,
    308       then marking a worker busy will cause an update inside the callback
    309       that is used to send the job to the new idle worker. This will trigger
    310       the same notification that is not yet removed to be called in
    311       notifyAll(). This causes a cycle in the updates.
    312 
    313 commit 851b676a9a05fe09b9f44b99388a3d60ba253f5d
    314 Author: Frederik Heber <heber@everest.wiss-stud>
    315 Date:   Tue Apr 24 12:36:30 2012 +0200
    316 
    317     FIX: Removed channel JobRemoved from FragmentQueue as it may cause cyclic updates in FragmentScheduler.
    318    
    319     - An update is triggered, when a job is popped from the queue. If a new job
    320       has just been pushed and a worker is free to pick it up, the callback
    321       function is used to do this. If we trigger an update by popping a job,
    322       even if it's now a JobRemoved, not JobAdded, all notifications will again
    323       call notifyAll() and the same notification will be triggered twice.
    324 
    325 commit 4dc17912b98fc929c2becf3612a7d999b1068a4c
    326 Author: Frederik Heber <heber@ins.uni-bonn.de>
    327 Date:   Mon Apr 23 14:40:15 2012 +0200
    328 
    329     Regression test mpqc-jobs now requires "correct" results from stand-in mpqc program.
    330    
    331     - that is, we now extract the results and combine them in controller.
    332 
    333 commit c24c1eb7b4600bd8296ca7204cf8ecbef7a2a9c9
    334 Author: Frederik Heber <heber@ins.uni-bonn.de>
    335 Date:   Thu Apr 19 20:24:04 2012 +0200
    336 
    337     Completed printMPQCReceivedResults() in controller by using MatrixContainer::AddMatrix().
    338    
    339     - result is printed at end of function.
    340     - Added helper function to controller to parse total number of atoms from
    341       Adjacency file.
    342     - NOTE: This function is only temporary. It should lateron be outsourced to
    343       its own class, maybe as a functor, and then eventually be merged into the
    344       main molecuilder program to be accessible inside an Action.
    345 
    346 commit 719382df863b030e0fcc3f37b3a0981bab4477d1
    347 Author: Frederik Heber <heber@ins.uni-bonn.de>
    348 Date:   Sat Apr 21 12:08:17 2012 +0200
    349 
    350     Added regression test to Fragmentation/Automation whether mpqc jobs work.
    351    
    352     - this test uses stand-in mpqc, as true program would require extra dependency.
    353 
    354 commit 160e0a15bffdc80a8e053121b1cbc6c6fd59994a
    355 Author: Frederik Heber <heber@ins.uni-bonn.de>
    356 Date:   Sat Apr 21 12:07:30 2012 +0200
    357 
    358     Added stand-in mpqc program and regression test on it to Fragmentation/Automation.
    359    
    360     - the stand-in mpqc is used to simulate working mpqc in the background, it just
    361       prints a present mpqc output file.
    362 
    363 commit c4de89d26d119cae6a78137012b22ced38eec193
    364 Author: Frederik Heber <heber@ins.uni-bonn.de>
    365 Date:   Mon Apr 23 13:43:07 2012 +0200
    366 
    367     MPQCCommandJob now takes command argument to the mpqc executable.
    368    
    369     - This allows to use stand-in mpqc instead of true mpqc executable.
    370 
    371 commit f09b50f20b91377882b03d62f439f08e73d58148
    372 Author: Frederik Heber <heber@ins.uni-bonn.de>
    373 Date:   Thu Apr 19 23:06:07 2012 +0200
    374 
    375     GetNextJobIdOperation now may request a vector of ids.
    376    
    377     - otherwise we needed multiple phase one calls, ever requesting a single id.
    378     - now, we state how many ids we want and may eventually get one by one as
    379       desired.
    380     - adapted FragmentScheduler::ControllerListener_t and FragmentController
    381       accordingly as we now have to exchange the desired number of ids, too.
    382     - requestid() needs now an additional parameter.
    383 
    384 commit 51b7eeb3ac2cd1d8cc16f17119141ccc2cf55117
    385 Author: Frederik Heber <heber@ins.uni-bonn.de>
    386 Date:   Thu Apr 19 22:16:26 2012 +0200
    387 
    388     GetNextJobIdOperation now has check whether id is available.
    389 
    390 commit 74f1a2d67b18cf148fc4522ea30ace112ca07000
    391 Author: Frederik Heber <heber@ins.uni-bonn.de>
    392 Date:   Thu Apr 19 20:22:48 2012 +0200
    393 
    394     Added MatrixContainer::AddMatrix() which takes of the functionality of ::ParseMatrix().
    395    
    396     - AddMatrix simply adds a received MatrixArray to the internal matrix. Also, we
    397       restructured the function a bit: check preconditions, allocate, then set.
    398     - ParseMatrix() creates first such a MatrixArray which it parses from a file.
    399 
    400 commit e76a1c5e2ab6ea682221fb35288242c12bf558f3
    401 Author: Frederik Heber <heber@ins.uni-bonn.de>
    402 Date:   Thu Apr 19 16:42:11 2012 +0200
    403 
    404     Placed src/Fragmentation/Automation behind src in main Makefile.am.
    405    
    406     - hence, now libMolecuilderFragmentation is compiled before ...Automation
    407       as required.
    408 
    409 commit 3f5010bd81dc40d829b54e62f41a8d5427934449
    410 Author: Frederik Heber <heber@ins.uni-bonn.de>
    411 Date:   Fri May 18 09:21:43 2012 +0200
    412 
    413     Controller now links to libMolecuilderFragmentation and has initial prinMPQCReceivedResults().
    414    
    415     - extended printReceivedMPQCResults.
    416 
    417 commit aed6ee694c426e4ef36400ee77bfda98ae14b9ec
    418 Author: Frederik Heber <heber@ins.uni-bonn.de>
    419 Date:   Fri May 18 09:21:28 2012 +0200
    420 
    421     Placed some commodity functions from controller.cpp into FragmentController.
    422 
    423 commit 5f4984f690c3e4194bd739610db83a4f144b1304
    424 Author: Frederik Heber <heber@ins.uni-bonn.de>
    425 Date:   Thu Mar 8 16:15:51 2012 +0100
    426 
    427     FragmentScheduler::recieveNotification() now asserts that we only received desired notifications.
    428 
    429 commit ea9faca96ac8509ac0091564386e05023b809156
    430 Author: Frederik Heber <heber@ins.uni-bonn.de>
    431 Date:   Wed Mar 7 11:36:43 2012 +0100
    432 
    433     TESTFIX: Extended all regression tests Fragmentation/Automation to use listening poolworkers. Merge with their introduction.
    434 
    435 commit 33124dec4fa70d4258c7b785a0902de720274941
    436 Author: Frederik Heber <heber@ins.uni-bonn.de>
    437 Date:   Sun Mar 4 21:07:18 2012 +0100
    438 
    439     Deleted WorkOnJobOperation and removed form FragmentWorker.
    440    
    441     - note that FragmentWorker now does nothing anymore.
    442 
    443 commit 3124a5be657ed25832378912e6143c43758f1213
    444 Author: Frederik Heber <heber@ins.uni-bonn.de>
    445 Date:   Sun Mar 4 21:36:27 2012 +0100
    446 
    447     Moved FragmentController from Controller/, removed dir Controller.
    448 
    449 commit 69fe04fec043838b8e4b826700de98fccccb6355
    450 Author: Frederik Heber <heber@ins.uni-bonn.de>
    451 Date:   Sun Mar 4 21:34:33 2012 +0100
    452 
    453     Renamed CommandRegistry -> OperationRegistry.
    454 
    455 commit aa9e4ac232ea89d053f07c91b8cb1ff9c95b284c
    456 Author: Frederik Heber <heber@ins.uni-bonn.de>
    457 Date:   Sun Mar 4 21:05:05 2012 +0100
    458 
    459     Moved Controller/Commands to Operations/ folder and split into Controllers, Servers, Workers.
    460    
    461     - each will eventually go into its own Registry.
    462     - also changed all include occurences in all files.
    463     - fixed some includes in the definition where path was used (header always
    464       resides in same folder as definition).
    465 
    466 commit 3b0853faa89e14526ef794cc75f7c850087c9b21
    467 Author: Frederik Heber <heber@ins.uni-bonn.de>
    468 Date:   Sun Mar 4 21:26:06 2012 +0100
    469 
    470     FIX: Renamed SendResultsOperation -> ReceiveResultsOperation in file and class.
    471    
    472     - also renamed name sendresults -> receiveresults.
    473     - also renamed ControllerChoices enum SendResults -> ReceiveResults.
    474 
    475 commit 1989b03432c8bd52413852ecbb0e4c4b538bef41
    476 Author: Frederik Heber <heber@ins.uni-bonn.de>
    477 Date:   Sun Mar 4 21:11:38 2012 +0100
    478 
    479     FIX: Renamed ReceiveJobsOperation -> SendJobsOperation in file and class.
    480    
    481     - also name is receivejobs -> sendjobs.
    482     - also renamed ControllerChoices enum ReceiveJobs -> SendJobs.
    483     - The Operations should have been named actively, i.e. from the point of the
    484       instance who executes it.
    485 
    486 commit e9f3e7572c0950fae9afc6e67da1e39f1e2a8a6b
    487 Author: Frederik Heber <heber@ins.uni-bonn.de>
    488 Date:   Sun Mar 4 23:30:57 2012 +0100
    489 
    490     Added begin(),end() for idle_queue of WorkerPool.
    491    
    492     - this allows shutting down Workers without marking and then unmarking them as
    493       busy by FragmentScheduler.
    494     - also the returned iterators are const and hence allow to see the which
    495       workers are idle but not to modify them this way.
    496     - also added WorkerPool::hasBusyWorkers() to allow for waiting server shutdown
    497       until all workers have returned from work.
    498     - added some tests for this in WorkerPoolUnitTest.
    499 
    500 commit 22bdace488eca02a9cd8f1c3d8688444c87792ab
    501 Author: Frederik Heber <heber@ins.uni-bonn.de>
    502 Date:   Mon Mar 5 00:42:50 2012 +0100
    503 
    504     Changed FragmentScheduler::removeAllWorkers() by ShutdownWorkerOperation.
    505    
    506     - so far, we have to unmark workers busy after getting them via getNextIdle..()
    507     - FragmentScheduler does now not remove PoolWorkers after a single job.
    508 
    509 commit 8a3d097fd0141b1a52466e77daff5dd3eabc7952
    510 Author: Frederik Heber <heber@ins.uni-bonn.de>
    511 Date:   Mon Mar 5 00:41:43 2012 +0100
    512 
    513     Added PoolWorker::shutdown().
    514    
    515     - overloaded shutdown(int) with shutdown() and the former is now just a
    516       wrapper to shutdown() that additionally calls removeme().
    517     - PoolWorker branches on id of received job, if it's JobId::NoJob, we shutdown.
    518 
    519 commit b89fa8af0eec7b3928ab6e4d33e9e43823fceeea
    520 Author: Frederik Heber <heber@ins.uni-bonn.de>
    521 Date:   Mon Mar 5 00:40:23 2012 +0100
    522 
    523     Added synchronous ShutdownWorkerOperation.
    524    
    525     - ShutdownWorkerOperation sends static NoJob as shutdown signal.
    526 
    527 commit f01f8a10b2ef9eef60cf558db9053a30725580d2
    528 Author: Frederik Heber <heber@ins.uni-bonn.de>
    529 Date:   Sun Mar 4 17:24:25 2012 +0100
    530 
    531     FragmentScheduler is now an Observer of JobsQueue and pool.
    532    
    533     - ControllerListener gets a bound function shutdown() to pass on shutdown
    534       request from controller on to FragmentScheduler itself to shutdown both
    535       sockets and the io_service.
    536     - FragmentScheduler is notified of JobAdded and WorkerIdle to send out jobs
    537       to workers.
    538 
    539 commit ffa32e7b94d6ed361ac4aa91bf42743ba70c80b0
    540 Author: Frederik Heber <heber@ins.uni-bonn.de>
    541 Date:   Wed Feb 29 18:39:33 2012 +0100
    542 
    543     WorkerPool is now observable.
    544    
    545     - this is preparatory for allowing FragmentScheduler to contact idle Workers
    546       and sending them possibly present jobs.
    547     - added NotificationObserver in unit test.
    548 
    549 commit 62166575c2b2f97106475bd1a4696da82b9bfae7
    550 Author: Frederik Heber <heber@ins.uni-bonn.de>
    551 Date:   Wed Feb 29 17:07:33 2012 +0100
    552 
    553     FragmentQueue is now observable.
    554    
    555     - this is preparatory for allowing FragmentScheduler to send jobs to worker
    556       when new ones have arrived.
    557     - added NotificationObserver to FragmentQueueUnitTest.
    558 
    559 commit 6ec3329e7d735e980343cf430257a8b3a9423be2
    560 Author: Frederik Heber <heber@ins.uni-bonn.de>
    561 Date:   Sun Mar 4 17:23:01 2012 +0100
    562 
    563     FragmentScheduler now uses WorkerChoices for handling connection workers.
    564    
    565     - Workers always first send address, then their choice and depending on this
    566       we branch into various handlers.
    567 
    568 commit 2d38fd67a580d3256141fe20d40eab5ab0f668d3
    569 Author: Frederik Heber <heber@ins.uni-bonn.de>
    570 Date:   Sun Mar 4 17:12:28 2012 +0100
    571 
    572     Added signal handling function to poolworker to intercept ctrl-c via PoolWorker::shutdown().
    573    
    574     - this is for gracefully shutting down the worker (i.e. letting server know
    575       that we are off).
    576     - Added PoolWorker::shutdown() function to gracefully shutdown.
    577     - We use RemoveFromPoolOperation() to unlist from server's pool.
    578     - PoolWorker now contains ref to io_Service in order to stop the service on
    579       shutdown.
    580 
    581 commit db1325170ef769b0c1ef55f9b3523abd8c1df7eb
    582 Author: Frederik Heber <heber@ins.uni-bonn.de>
    583 Date:   Sun Mar 4 17:11:54 2012 +0100
    584 
    585     Added regression test Fragmentation/Automation for enrolling in pool.
    586 
    587 commit 235e61e299ecd29d7d3aed3c5fee9ade4bf1bbac
    588 Author: Frederik Heber <heber@ins.uni-bonn.de>
    589 Date:   Sun Mar 4 17:27:28 2012 +0100
    590 
    591     SubmitResultOperation now correctly gives choice after sending address.
    592 
    593 commit 591c59ae406565a533d0bb66488a053c9aede948
    594 Author: Frederik Heber <heber@ins.uni-bonn.de>
    595 Date:   Sun Mar 4 17:26:38 2012 +0100
    596 
    597     EnrollInPoolOperation now correctly gives the choice after sending address.
    598 
    599 commit e4061b4cee2be34698212668a86aab6e186e75fc
    600 Author: Frederik Heber <heber@ins.uni-bonn.de>
    601 Date:   Sun Mar 4 17:04:37 2012 +0100
    602 
    603     Added RemoveFromPoolOperation.
    604    
    605     - is a SyncOperation for the Worker.
    606 
    607 commit 07ceaccbcb6b9bfa0ef654e065f18d125b78c186
    608 Author: Frederik Heber <heber@ins.uni-bonn.de>
    609 Date:   Sun Mar 4 17:03:13 2012 +0100
    610 
    611     Added file WorkerChoices.hpp.
    612 
    613 commit 6ca805ad723d98879d5404f778b91eb7e5c4a3d1
    614 Author: Frederik Heber <heber@ins.uni-bonn.de>
    615 Date:   Sun Mar 4 16:59:32 2012 +0100
    616 
    617     Added SyncOperation and common base Operation.
    618    
    619     - CommandRegistry stores again Operation which is now the common base class of
    620       Async- and SyncOperation.
    621     - ShutdownOperation is now a SyncOperation.
    622 
    623 commit 7a16336653de6e52e238202e8df6ad960f9e47c7
    624 Author: Frederik Heber <heber@ins.uni-bonn.de>
    625 Date:   Sun Mar 4 17:05:02 2012 +0100
    626 
    627     Added template functions for sync_read() and sync_write() to Connection.
    628    
    629     - also factored our prepare_write from async_write() which is needed in case
    630       of sync_write() as well.
    631 
    632 commit e0d6a3ef8f1f290d186970b88fb22dc92a5c364e
    633 Author: Frederik Heber <heber@ins.uni-bonn.de>
    634 Date:   Sun Mar 4 16:55:32 2012 +0100
    635 
    636     Renamed Operation -> AsyncOperation in file and class.
    637    
    638     - this is preparatory to also have SyncOperation which both derived from a
    639       common base Operation.
    640     - CommandRegistry for the moment stores AsyncOperation instances.
    641 
    642 commit b9452396f72d117ad90a7bdacbb94f2695a9ca61
    643 Author: Frederik Heber <heber@ins.uni-bonn.de>
    644 Date:   Sun Mar 4 17:18:32 2012 +0100
    645 
    646     FragmentQueue can now resubmit jobs.
    647    
    648     - we keep an internal list of jobs currently being worked on. If the worker
    649       returns with a failure, they can be resubmit to the queue.
    650     - added unit test function on this.
    651 
    652 commit bf981ca088b97e7ecbc236600a5b199ca98aca6e
    653 Author: Frederik Heber <heber@ins.uni-bonn.de>
    654 Date:   Sun Mar 4 17:08:09 2012 +0100
    655 
    656     FIX: Replaced calls to Operation::handle_FinishOperation by <class>::handle_ ...
    657    
    658     - if Operation::handle_FinishOperation() is protected member function, we call
    659       only bind to it like this.
    660 
    661 commit 132e476fd215329cbf716c601844fe42a59c86f0
    662 Author: Frederik Heber <heber@ins.uni-bonn.de>
    663 Date:   Thu Mar 1 18:55:09 2012 +0100
    664 
    665     Renamed SchedulerStates -> ControllerChoices enum.
    666    
    667     - extracted from types.hpp as well.
    668 
    669 commit e21abcf7f09c17a5afb0f116b631eb06de01e973
    670 Author: Frederik Heber <heber@ins.uni-bonn.de>
    671 Date:   Wed Feb 29 09:32:10 2012 +0100
    672 
    673     HUGE: Added PoolWorker and rewrote parts of FragmentScheduler.
    674    
    675     - PoolWorker uses EnrollInPoolOperation and SubmitResultOperation to enroll,
    676       get the job and submit the result. Enrolling and getting the job is combined
    677       to have the same workflow for the moment until the pool is fully implemented.
    678     - WorkerListener_t in FragmentScheduler has a callback instance to access
    679       sendJobToWorker function for sending jobs when a Worker has connected.
    680    
    681     ToDo:
    682     - FragmentQueue needs a callback function when new jobs have been added.
    683     - WorkerPool needs a callback function when a worker is idle.
    684     - WorkerListener_t then does not need a callback anymore, just access to
    685       the pool who has then the callback.
    686 
    687 commit 11c21b7f3ddf1ef6025eb9945fc869cf8cc5a735
    688 Author: Frederik Heber <heber@ins.uni-bonn.de>
    689 Date:   Tue Feb 28 16:08:09 2012 +0100
    690 
    691     Added WorkerPool to handle a pool of Workers.
    692    
    693     - also added unit test.
    694 
    695 commit 2f8b5417bc2ae7487c3df56fe8d655dc1cd1d50e
    696 Author: Frederik Heber <heber@ins.uni-bonn.de>
    697 Date:   Sun Feb 26 21:19:19 2012 +0100
    698 
    699     Added WorkerAddress, serializable host+service address.
    700    
    701     - also added unit test on comparison operators and serializtion.
    702 
    703 commit 97a9394a648767b24b99e47d573c258923c8b21f
    704 Author: Frederik Heber <heber@ins.uni-bonn.de>
    705 Date:   Sun Feb 26 21:13:23 2012 +0100
    706 
    707     Restructured convenience libraries for Fragmentation/Automation.
    708    
    709     - new convenience library libFragmentationCommands containing all Operation
    710       derived classes.
    711     - renamed libFragmentationAutomation -> libFragmentationAutomationHelper.
    712     - FragmentController and CommandRegistry removed from this library.
    713 
    714 commit 08460020201704abaec85c6af776533801780a62
    715 Author: Frederik Heber <heber@ins.uni-bonn.de>
    716 Date:   Wed Feb 22 19:33:19 2012 +0100
    717 
    718     Refactored main part in FragmentWorker into WorkOnJobOperation.
    719    
    720     - essentially FragmentWorker just contains this Operation and nothing else.
    721 
    722 commit 41ea4dcec191bfe8e5e435a33f8e65dc550b603d
    723 Author: Frederik Heber <heber@ins.uni-bonn.de>
    724 Date:   Wed Feb 22 18:50:06 2012 +0100
    725 
    726     Refactored Listener out of FragmentScheduler.
    727    
    728     - this is preparatory for creating PoolWorker class, i.e. Worker that listen
    729       for jobs sent to them by the server.
    730     - the connection is just reset() on new initiateSocket().
    731     - closeSocket() correctly shutdown()s and close()s the socket.
    732     - Note: As ControllerListener receives new jobs and thus knows when the server
    733       is required to listen on worker port again, it needs a bound function to
    734       WorkerListener_t::initiateSocket(). This will be removed when the new Pool
    735       is in place that handles Worker connections.
    736 
    737 commit 0329de4c0f9b45a0d39b7145fd164e4620360370
    738 Author: Frederik Heber <heber@ins.uni-bonn.de>
    739 Date:   Wed Feb 22 17:50:32 2012 +0100
    740 
    741     Removed duplicate code in FragmentScheduler with initiating new connections.
    742 
    743 commit 270436dde6872b74f1947ee0d3bc95cb20921ce3
    744 Author: Frederik Heber <heber@ins.uni-bonn.de>
    745 Date:   Wed Feb 22 17:41:15 2012 +0100
    746 
    747     Added specific Command to controller to receive mpqc results and combine them.
    748    
    749     - new entry in CommandIndices ReceiveMPQCIndex.
    750     - is not done. This should be implemented using the already present methods in
    751       the rest of MoleCuilder. This should go into the function
    752       printreceivedmpqcresults().
    753 
    754 commit 05180d13d4815ea7c46dcc076436985591f79710
    755 Author: Frederik Heber <heber@ins.uni-bonn.de>
    756 Date:   Fri Feb 17 11:34:09 2012 +0100
    757 
    758     Added output stream operator to MPQCData.
    759 
    760 commit 2f9056022dc168475077765be214c8d1ab48b0e5
    761 Author: Frederik Heber <heber@ins.uni-bonn.de>
    762 Date:   Thu Feb 16 13:40:35 2012 +0100
    763 
    764     createjobs now gets two options: command, argument.
    765 
    766 commit 6b19d1cd463fa7af766aebc7c6de9fe62c92a23d
    767 Author: Frederik Heber <heber@ins.uni-bonn.de>
    768 Date:   Thu Feb 16 16:09:52 2012 +0100
    769 
    770     New GetNextJobIdOperation for obtaining next available JobId from server.
    771    
    772     - as JobId is required to create the job, we now need two, separate
    773       communication phases: gathering info (ids) and sending info (jobs).
    774     - new SchedulderState GetNextJobId along with handlers.
    775     - new GetNextJobIdOperation that requests another id which is internally
    776       stored into a list, along with a getter that extracts them one by one.
    777     - controller's createjobs() and parsejobs() each take an nextid parameter now.
    778 
    779 commit 6692dc69fe16e77e1ee0db99a226e19baf98cc24
    780 Author: Frederik Heber <heber@ins.uni-bonn.de>
    781 Date:   Thu Feb 16 12:12:40 2012 +0100
    782 
    783     CheckResultsOperation now receives both scheduled and done jobs.
    784 
    785 commit e53356af9193288003129026bf6e2aa0a00d43db
    786 Author: Frederik Heber <heber@ins.uni-bonn.de>
    787 Date:   Thu Feb 16 11:52:47 2012 +0100
    788 
    789     Added getPresentJobs() to FragmentQueue.
    790 
    791 commit 6bf5f1a4eb0f1996d25174337ad612f319d9529d
    792 Author: Frederik Heber <heber@ins.uni-bonn.de>
    793 Date:   Wed Feb 15 15:17:54 2012 +0100
    794 
    795     Added serialization capability to MPQCCommandJob.
    796    
    797     - added unit test and operator==() (including test).
    798 
    799 commit f36ef1b00855ba79486efe5f6af107829f25571a
    800 Author: Frederik Heber <heber@ins.uni-bonn.de>
    801 Date:   Wed Feb 15 15:14:19 2012 +0100
    802 
    803     Controller has new function addjobs.
    804    
    805     - addjobs parses mpqc input file and creates MPQCCommandJob which is sent to
    806       send jobs
    807     - old sendjobs is now createjobs which creates empty SystemCommandJob.
    808     - added new class GlobalJobId which holds a global JobId such that FragmentJobs
    809       created by Controller each have a unique id. NOTE: This should probably be
    810       replaced by IdPool implementation when Fragmentation/Automation is integrated
    811       into rest of molecuilder.
    812     - dummyInit() to have MPQCCommandJob instances known to FragmentScheduler.
    813     - TESTFIX: Adapted regression tests Fragmentation/Automation adding-jobs,
    814       server-worker, and completerun due to command token change.
    815 
    816 commit f38b3e091db97690092919430d9fb5db209a5cf0
    817 Author: Frederik Heber <heber@ins.uni-bonn.de>
    818 Date:   Tue Feb 14 17:01:24 2012 +0100
    819 
    820     Extended MPQCCommandJob's extractString to understand MP2 keywords.
    821 
    822 commit 4d96df7a9cca85e109f780323910daa954f83481
    823 Author: Frederik Heber <heber@ins.uni-bonn.de>
    824 Date:   Thu Feb 9 16:27:56 2012 +0100
    825 
    826     Added MPQCCommandJob and result container MPQCData.
    827    
    828     - MPQCData contains data to be serialized into FragmentResult.
    829     - MPQCCommandJob implements mpqc-specific result extractor.
    830     - added unit test for MPQCCommandJob.
    831     - added unit test for MPQCData.
    832 
    833 commit 08afc1fce404163a9dfa58af99de7b37a85cd6ef
    834 Author: Frederik Heber <heber@ins.uni-bonn.de>
    835 Date:   Mon Feb 6 10:57:56 2012 +0100
    836 
    837     Abstracted FragmentJob and introduced SystemCommandJob which has its former functionality.
    838    
    839     - FragmentJob now has just virtual function Work(), not implemented.
    840     - former command and outputfile is taken over by SystemCommandJob.
    841     - a FragmentJob or derived class is default cstor'ed always with
    842       JobId::IllegalJob.
    843     - so far SystemCommandJob captures command's stdout and parses it back from
    844       file.
    845     - SystemCommandJob has virtual method extractString() to be adaptable to the
    846       output of various system commands.
    847     - changes almost everywhere due to SystemCommandJob taking place of
    848       FragmentJob and FragmentJob::ptr and FragmentResult::ptr requirements.
    849     - added FragmentWorker::dummyInit() to enforce binding of the executable to
    850       all possible derived FragmentJob's.
    851     - added unit test for SystemCommandJob.
    852     - added FragmentJobStub that implements a no-brainer job for testing.
    853 
    854 commit b98c9dea0dff5aea090544dacb4a93d64358ef2b
    855 Author: Frederik Heber <heber@ins.uni-bonn.de>
    856 Date:   Mon Feb 6 10:43:38 2012 +0100
    857 
    858     Moved FragmentResult to subfolder Results.
    859    
    860     - changed includes and Makefile.am's.
    861 
    862 commit 1fd2f758fe4d042ded1e377d3be891951a615cc5
    863 Author: Frederik Heber <heber@ins.uni-bonn.de>
    864 Date:   Mon Feb 6 10:33:27 2012 +0100
    865 
    866     FragmentResult is now also encapsulated in boost::shared_ptr.
    867    
    868     - this allows in the same way to have different implementations of an abstract
    869       FragmentResult class.
    870 
    871 commit 2bc18a78211106b1dfb20d3bd8aa2499c74d68f2
    872 Author: Frederik Heber <heber@ins.uni-bonn.de>
    873 Date:   Mon Feb 6 09:58:48 2012 +0100
    874 
    875     Moved FragmentJob to subfolder Jobs.
    876    
    877     - changed all includes and Makefile.am's.
    878     - changed order of Jobs in Makefile.am.
    879 
    880 commit e85269aee25fa595d6e63a4613a546273c443f9f
    881 Author: Frederik Heber <heber@ins.uni-bonn.de>
    882 Date:   Mon Feb 6 09:43:07 2012 +0100
    883 
    884     FragmentJob is now passed inside boost::shared_ptr.
    885    
    886     - FragmentJob is to become just an abstract interface to a variety of jobs and
    887       we cannot instantiate this interface. We can only pass it around via ptrs.
    888       Therefore, we need this switch to shared_ptrs.
    889 
    890 commit 7227b5861a8faba40a4e06c8598f6a1bb5ccb1b5
    891 Author: Frederik Heber <heber@ins.uni-bonn.de>
    892 Date:   Tue Jan 17 20:10:35 2012 +0100
    893 
    894     FragmentJob now executes a specific string as command along with an outputfile to work on.
    895    
    896     - stdout is parsed in as FragmentResult::result, return from std::system is
    897       placed into FragmentResult::exitflag.
    898     - createjobs() in controller.cpp uses cat and "Nothing" to mimick the same
    899       behavior as before.
    900     - removed intermediate deadline_timer usage in ::Work().
    901 
    902 commit af1073afa007409482b4fb02c9b833481f9d7d72
    903 Author: Frederik Heber <heber@ins.uni-bonn.de>
    904 Date:   Fri Mar 9 10:47:57 2012 +0100
    905 
    906     FragmentResult has additional variable exitflag.
    907    
    908     - this is to store the result flag from a system call.
    909 
    910 commit b3ba591c5efcba5ea69c46bc16d623f8dc16afaa
    911 Author: Frederik Heber <heber@ins.uni-bonn.de>
    912 Date:   Mon Dec 12 09:32:27 2011 +0100
    913 
    914     Operations are now contained in CommandRegistry in FragmentController.
    915    
    916     - this is a tiny bit less nice due to required static_cast<>, however in the
    917       end we hopefully win due to possible placement inside a Queue.
    918     - FragmentController:getExitflag() can now just browse through all present
    919       Operations and return the first fail.
    920     - TESTFIX: changed regression tests Fragmentation/Automation a bit due to:
    921      - server-worker,addingjobs: addjobs now always adds two jobs.
    922      - JobAdder, ResultChecker, ResultGetter, and Shutdowner have been removed
    923        in favor of Controller and a specific command token.
    924 
    925 commit 50f4184e01c29a43b8df7405617024a05b8b2f9e
    926 Author: Frederik Heber <heber@ins.uni-bonn.de>
    927 Date:   Sun Dec 11 18:43:13 2011 +0100
    928 
    929     Removed all those tiny relay functions in FragmentController.
    930    
    931     - we now use the getter/setters in the derived Operations directly.
    932 
    933 commit 3a1346d7b0395f88ff1b64df86af48435aa993bd
    934 Author: Frederik Heber <heber@ins.uni-bonn.de>
    935 Date:   Sun Dec 11 18:31:37 2011 +0100
    936 
    937     Operation now requires an internal name to be placable in a Registry.
    938    
    939     - derived class give specific name in their cstor.
    940 
    941 commit 25b30aa890962348fd6d25334f39f8ee621c9843
    942 Author: Frederik Heber <heber@ins.uni-bonn.de>
    943 Date:   Sun Dec 11 18:15:53 2011 +0100
    944 
    945     FIX: Added disconnect() call to end of Operation::handle_FinishOperation().
    946    
    947     - this should close the socket after the communication has completed as each
    948       derived class uses handle_FinishOperation() as last callback function.
    949 
    950 commit 96c83b29e7b5914533eaf44412eef03d069a20be
    951 Author: Frederik Heber <heber@ins.uni-bonn.de>
    952 Date:   Sun Dec 11 18:14:24 2011 +0100
    953 
    954     Neither FragmentController not Operation need host or service as params to Cstor anymore.
    955    
    956     - due to the last change these are given directly to Operation::operator(),
    957       hence we have removed them from FragmentController's and Operation's cstor.
    958     - removed Operation::getEndpointIterator().
    959     - all small controller executables have been adapted accordingly.
    960 
    961 commit 9948a765b2debfa507c64194b464a960ac1a7c34
    962 Author: Frederik Heber <heber@ins.uni-bonn.de>
    963 Date:   Sun Dec 11 17:59:08 2011 +0100
    964 
    965     Operation::operator() now contains everything to get the endpoint and connect.
    966    
    967     - getting the endpoint is placed in operator() which needs host and service as
    968       parameters.
    969     - derived classes just implement handle_connect whose virtual function pointer
    970       is boost::bind in Operation::operator().
    971     - this all makes it very easy to implement new commands for the Controller.
    972     - all handle_connect_... of course are now the above implementation.
    973     - all connect_... are now contained in Operation::operator(), hence have been
    974       removed.
    975 
    976 commit d6fe761176eef8308b81d1ceb788fe4bf80e3d8d
    977 Author: Frederik Heber <heber@ins.uni-bonn.de>
    978 Date:   Sun Dec 11 17:44:18 2011 +0100
    979 
    980     Added a "testfunction" to each ...Operation along with handle_connect.
    981    
    982     - this is to test whether we can place the initial connect into the class
    983       Operation and have only specific functions required lateron in the derived
    984       classes.
    985 
    986 commit 167b63307c9c9cb05dd758fe1c2b80be02bdb4a2
    987 Author: Frederik Heber <heber@ins.uni-bonn.de>
    988 Date:   Sun Dec 11 17:20:52 2011 +0100
    989 
    990     Extracted all other derived Operation's too and placed into folder Controller/Commands.
    991    
    992     - TESTFIX: Changed regression tests Fragmentation/Automation with respect to
    993       the exit code from controller.
    994 
    995 commit 73d6fce636ade8bb851250adf52ad79adf5225a2
    996 Author: Frederik Heber <heber@ins.uni-bonn.de>
    997 Date:   Sun Dec 11 17:00:42 2011 +0100
    998 
    999     Shifted all Controller stuff into own subfolder, extract class Operation.
    1000    
    1001     - extracted class Operation from FragmentController and place into subfolder
    1002       Controller/Commands.
    1003     - all files containing main() functions are also moved to Controller.
    1004 
    1005 commit 1dc209b83f84861106021c6a70d51182a306d7fc
    1006 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1007 Date:   Sun Dec 11 16:24:20 2011 +0100
    1008 
    1009     Enhanced libMolecuilderFragmentationAutomation in Fragmentation/Automation/Makefile.am.
    1010    
    1011     - libMolecuilderFragmentationAutomation needs to occur after (above)
    1012       libMolecuilderFragmentJobs.
    1013     - FragmentController sources now contained in ...Automation.
    1014 
    1015 commit 5adb84984c3a69ab1022d16497045fd243ee9087
    1016 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1017 Date:   Sat Dec 10 16:17:06 2011 +0100
    1018 
    1019     Factored out Operation and derived all operations from it.
    1020    
    1021     - a number of subclass of FragmentController that encapsulate each operation.
    1022     - Operation contains getEndpointIterator(), handle_FinishOperation() and
    1023       disconnect().
    1024     - Operation now also contains Exitflag that was formerly in FragmentController.
    1025     - new derived Operations: ReceiveJobsOperation(), CheckResultsOperation(),
    1026       SendResultsOperation(), ShutdownOperation() that each contain the
    1027       connect_..., handle_... functions.
    1028     - functions to initiate operation have been placed into these Operation-
    1029       derived classes as implemented virtual operator().
    1030     - most of the required member variables have also been associated with the
    1031       class that needs them. Getters and Setters have been relayed for the moment.
    1032     - each Operation as of now needs ref to connection, host and service. This
    1033       should be changed and the stuff around getEndpointIterator() refactored
    1034       along with it.
    1035 
    1036 commit fb2324b496d0bc0e217e446455628f8e1d0b0aa5
    1037 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1038 Date:   Fri Dec 9 22:02:14 2011 +0100
    1039 
    1040     Added regression test Fragmentation/Automation with a complete run of Server, Worker, and controllers.
    1041    
    1042     - TESTFIX: Shortened length of regression test Fragmentation/Automation
    1043       server-worker as most is extensively tested in complete-run.
    1044 
    1045 commit c837ad09370c4c1c8890297774ef426315ec3856
    1046 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1047 Date:   Fri Dec 9 22:00:50 2011 +0100
    1048 
    1049     Added regression test Fragmentation/Automation on getting results.
    1050 
    1051 commit db34f216525f470ee4838943ab8d5ae0f4c62dd8
    1052 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1053 Date:   Fri Dec 9 21:55:34 2011 +0100
    1054 
    1055     Added regression test Fragmentation/Automation on checking state.
    1056 
    1057 commit 6772ebf1a929237c6928cb6bd9c7f998b7f733e4
    1058 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1059 Date:   Fri Dec 9 21:48:48 2011 +0100
    1060 
    1061     Added regression test Fragmentation/Automation on adding jobs to Server.
    1062 
    1063 commit 03195ad759d9d0369860828cc4436a5ce6afbd8b
    1064 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1065 Date:   Fri Dec 9 21:39:12 2011 +0100
    1066 
    1067     Added regression test Fragmentation/Automation on Server shutdown capability.
    1068    
    1069     - NOTE: each regression test in Fragmentation/Automation needs its own set of
    1070       ports such that they may run in parallel as well. Currently, we start at
    1071       port 1025 and use an offset of 5 in between tests.
    1072 
    1073 commit dba6d162581bd1026fa90391ce4c3c62bdde0d38
    1074 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1075 Date:   Fri Dec 9 21:33:43 2011 +0100
    1076 
    1077     Added FragmentController::getPresentJobs().
    1078 
    1079 commit 0196c62295fdde1b6850b1f16abcdfffe6d46877
    1080 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1081 Date:   Fri Dec 9 21:11:50 2011 +0100
    1082 
    1083     Added Shutdown as choice to ControllerChoices.
    1084    
    1085     - new helper app Shutdowner that shuts down Server.
    1086     - TESTFIX: Changed regression test Fragmentation/Automation where now
    1087       Shutdowner is uses instead of Jobadder with 0 jobs to power down controller
    1088       socket.
    1089 
    1090 commit e70b9dc00a22a0801131763acf7c71937581ac4d
    1091 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1092 Date:   Fri Dec 9 20:17:35 2011 +0100
    1093 
    1094     Renamed regression test Fragmentation/Automation.
    1095    
    1096     - there are more to come and this just tests server/worker combination.
    1097 
    1098 commit 778abb8ccf156d1308e41e6fad137c7987dc7c8f
    1099 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1100 Date:   Fri Dec 9 19:18:14 2011 +0100
    1101 
    1102     Added ResultGetter and capabilities to receive calculated results to FragmentController.
    1103    
    1104     - Added enum (and file) ControllerChoices that defines the state of
    1105       FragmentScheduler.
    1106     - depending on what is desired the Scheduler switches between these states and
    1107       either receives or sends information. Requires new member variable choice
    1108       because receival is of course asynchronous (see note in previous commit).
    1109     - FragmentController has additional functions connect_get() and
    1110       handle_connect_get() to receive results.
    1111     - connect_calc() and connect_check() now just the choice whereas the actual
    1112       sending and receiving is done in handle_... functions.
    1113     - handle_FinishOperation() is the common final callback function for all three
    1114       of these functions.
    1115     - FragmentScheduler contains an internal list of delivered results.
    1116     - FragmentScheduler only initiates worker socket when jobs are present.
    1117     - FIX: FragmentScheduler does only send results that are done and only once.
    1118     - TESTFIX: Removed third Worker that receives NoJob as socket is powered down
    1119       before because queue has run empty and we haven't add new jobs.
    1120 
    1121 commit b9c48666be399d007fd031b2d636eba8227f227d
    1122 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1123 Date:   Thu Feb 16 17:14:38 2012 +0100
    1124 
    1125     Added getAllResults() to FragmentQueue.
    1126    
    1127     - added convenience function ::IsPresentResult().
    1128     - this is to replace FragmentSchedulder::getResults() which relies on jobs
    1129       being filled still.
    1130     - added unit test on getAllResults().
    1131 
    1132 commit 402bde72b40b66cbc74451c852e07802a12af199
    1133 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1134 Date:   Fri Dec 9 21:10:53 2011 +0100
    1135 
    1136     Placed initiating sockets from Cstor of FragmentScheduler into helper functions.
    1137 
    1138 commit 3c4a5ec6700394439a96a697b6964a634d5ec97f
    1139 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1140 Date:   Fri Dec 9 18:11:55 2011 +0100
    1141 
    1142     Added ResultChecker and capability to check on computed jobs.
    1143    
    1144     - added handle_connect_check() to FragmentController.
    1145     - FragmentScheduler::handle_AcceptController() switches between _ReceiveJobs or
    1146       _CheckResultState depending on present jobs and done jobs. We use
    1147       FragmentQueue::getDoneJobs() to store number of jobs handling connect.
    1148     - TESTFIX: Enhanced regression test Fragmentation/Automation to use
    1149       ResultChecker as well.
    1150 
    1151 commit db03d94db34e97b2e16df2332a1953abdf66be98
    1152 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1153 Date:   Mon Nov 28 00:20:43 2011 +0100
    1154 
    1155     Added possibility to add jobs via a FragmentController.
    1156    
    1157     - Server listens on another port for a controller to connect, also now has an
    1158       Exitflag.
    1159     - Controller can add a bunch of jobs.
    1160     - JobAdder can successfully add a number jobs to Server, if 0 are sent, the
    1161       socket shuts down.
    1162     - TESTFIX: extended regression Fragmentation/Automation test to use Jobadder as
    1163       by default Server starts with no jobs in the queue.
    1164 
    1165 commit 8ee5ac067548a00b728f1a0f0c9f085fbb85cd93
    1166 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1167 Date:   Mon Nov 28 00:02:30 2011 +0100
    1168 
    1169     Added function getDoneJobs() to FragmentQueue.
    1170    
    1171     - this allows to check on the state of calculations.
    1172 
    1173 commit cde0fedccbba0b6cd10bc0012657ac36bee2f2a9
    1174 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1175 Date:   Sun Nov 27 23:57:39 2011 +0100
    1176 
    1177     Placed FragmentJob, ..Queue, and ..Result into convenience library, atexit into another.
    1178    
    1179     - this speeds up compilation as we don't have to compile some modules multiple
    1180       times.
    1181 
    1182 commit 9875ccf9a4c2201731b5bab9675d60bc378e1671
    1183 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1184 Date:   Sun Nov 27 21:52:48 2011 +0100
    1185 
    1186     Added FragmentQueue::pushJobs() to add a bunch of jobs simultaneously.
    1187    
    1188     - also extended unit test.
    1189 
    1190 commit 2445fbdb67fdcb7bbc91286479bf3636ac96f8b1
    1191 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1192 Date:   Sun Nov 27 21:09:01 2011 +0100
    1193 
    1194     Added private default cstor to FragmentResult.
    1195    
    1196     - enhanced unit test by a vector<Fragmentresult> test and this made the above
    1197       default cstor necessary.
    1198 
    1199 commit 083490d5d35f5aa2fd1a49ffc80c90fb17f5eff4
    1200 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1201 Date:   Sun Nov 27 20:03:10 2011 +0100
    1202 
    1203     Renamed default handle_..() functions of FragmentSchedulder and ...Worker.
    1204    
    1205     - new names resemble in what context they appear (i.e. at the end of what
    1206       operation they are called).
    1207 
    1208 commit ef27671d6947ddc9fc6ee4fd2fbb213a4ab7174a
    1209 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1210 Date:   Sun Nov 27 19:38:26 2011 +0100
    1211 
    1212     Server and Worker now also correctly exchange result.
    1213    
    1214     - Server uses FragmentQueue which also stores the obtained result.
    1215     - Worker calls received FragmentJob::Work() function and returns the
    1216       thereby calculated FragmentResult.
    1217     - Regression test for Server/Worker now checks whether job #1 is listed twice,
    1218       this basically checks whether the result has been exchanged.
    1219    
    1220     There have been some concepts to understand to get this working and these
    1221       shall be briefly recorded here:
    1222      - asynchronous communication can only work on objects that live beyond the
    1223        scope of where they have been called, e.g. therefore FragmentScheduler
    1224        contains a FragmentResult and FragmentWorker a FragmentJob instance. They
    1225        receive this object and need the write access in the scope of the aync.
    1226        comm. and not of the caller's scope. This is probably because the initial
    1227        argument is only used to set up a buffer of correct length. However,
    1228        the received instance is created/deserialized first when the communication
    1229        is completed. And this may well be after the caller's scope has been left.
    1230      - This is different to read operations as probably there the object to send
    1231        is immediately serialized and placed into an internal buffer such that
    1232        later access is only to this buffer and not to the original instance
    1233        which therefore does not need to exist anymore. That's why the above
    1234        Schedulder and Worker do not have the "other" instance as class members
    1235        as well.
    1236      - chaining asynchronous communications, e.g. a write after a read has been
    1237        performed, can only be done by using the callback functions that the
    1238        async_write/read gets as parameters. They are called when the one operation
    1239        has finished and therein the next operation can then be launched. This
    1240        way a successful chain is executed.
    1241 
    1242 commit 630a6e76e8fd0da3d37d517432a74ebda2a494f2
    1243 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1244 Date:   Sun Nov 27 19:35:35 2011 +0100
    1245 
    1246     Increased Verbosity for Server and Worker.
    1247 
    1248 commit 0bdd51bd1d38a734cb760046b677f4ee890ac7b7
    1249 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1250 Date:   Thu Nov 24 21:34:51 2011 +0100
    1251 
    1252     Added regression test for Server/Client construct.
    1253    
    1254     - currently we expect the Server to shut down after the queue is discovered empty.
    1255     - added Exitflag and associated enum to FragmentWorker.
    1256     - FragmentScheduler exits gracefully when there are no more jobs in the queue.
    1257 
    1258 commit a1b77dd03c096829276e87f213300eb7c4efcfdf
    1259 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1260 Date:   Thu Nov 24 21:24:07 2011 +0100
    1261 
    1262     Added call FragmentJob::Work() to FragmentWorker::handle_read().
    1263    
    1264     - FragmentWorker also now contains FragmentResult instance, pendant to
    1265       FragmentJob.
    1266     - added FragmentResult cstor with empty parameters (uses JobId::NoJob).
    1267 
    1268 commit 7b22e9544beb54c2218ef5e47d9851e8603c779d
    1269 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1270 Date:   Thu Nov 24 21:21:20 2011 +0100
    1271 
    1272     FragmentJob now contains Work() function.
    1273    
    1274     - Work() encapsulates all the work to do to calculate the FragmentResult such
    1275       that FragmentWorker does not need to know anything about it.
    1276     - added WorkTest to unit test along with FragmentResultStub.
    1277     - added FragmentResult.[ch]pp to Worker sources in Makefile.am.
    1278    
    1279     - also unit tests are now linked only against boost libs they really need.
    1280 
    1281 commit c7deca229684c7b65fd3575bfb9ad413b64a2dc4
    1282 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1283 Date:   Thu Nov 24 20:21:52 2011 +0100
    1284 
    1285     Added static NoJob (id0) to FragmentScheduler to indicate empty queue to client.
    1286    
    1287     - added enum to class JobId with special ids.
    1288 
    1289 commit b0b64c36d561d4b02ddd580dd842d288f95b6141
    1290 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1291 Date:   Thu Nov 24 20:12:49 2011 +0100
    1292 
    1293     FragmentScheduler now contains a FragmentQueue and serves single jobs therefrom.
    1294    
    1295     - e.g. currently we only push one job, hence only a single worker is served.
    1296       Others afterwards don't receive a job.
    1297     - we lack a mechanism to give feedback to the client, i.e. a pseudo job such
    1298       that he knows that the queue is empty right now. Later this should then
    1299       indicate a wait (for a specific amount of time).
    1300 
    1301 commit 12d15a837efe9a69ef0528ec526ba2adbf8f7c09
    1302 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1303 Date:   Sun Oct 23 23:24:18 2011 +0200
    1304 
    1305     FragmentQueue now allows for removal of jobs.
    1306    
    1307     - new static NoResultQueued states whether job has been popped, but result
    1308       is missing so far.
    1309     - extended FragmentQueueUnitTest.
    1310 
    1311 commit 57876b5bc8ae81d557361f9ed21754f1be23d432
    1312 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1313 Date:   Sun Oct 23 22:54:34 2011 +0200
    1314 
    1315     Added serialization unit tests on FragmentJob and FragmentResult.
    1316 
    1317 commit 02f34688f788967fdd4765560ba2cde4ccd5ba81
    1318 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1319 Date:   Sun Oct 23 22:23:56 2011 +0200
    1320 
    1321     Extended FragmentQueueUnitTest.
    1322    
    1323     - extended by tests on its job and result queues.
    1324 
    1325 commit af81f809ad4251794e6aad0bbbb5a062ccb10153
    1326 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1327 Date:   Sun Oct 23 22:22:27 2011 +0200
    1328 
    1329     FIX: FragmentQueue now obtains id of FragmentResult directly from it.
    1330 
    1331 commit b05673868c5ee97ab3b5a5b15c41567fc0659845
    1332 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1333 Date:   Sun Oct 23 22:20:19 2011 +0200
    1334 
    1335     Introduced JobId as an own class that Job and Result inherit.
    1336    
    1337     - FragmentJob and FragmentResult may thus have all other info as public, only
    1338       the id has to be secured from false access.
    1339 
    1340 commit b5ebb569dab339861535e482277051aeb3f8943a
    1341 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1342 Date:   Sun Oct 23 21:07:41 2011 +0200
    1343 
    1344     Added FragmentQueue, FragmentResult, and scaffold for unit test on FragmentQueue.
    1345 
    1346 commit 4b58cccfcae20f61dca5d2d18f77c1db61bb9a98
    1347 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1348 Date:   Sun Oct 23 21:01:52 2011 +0200
    1349 
    1350     JobId is now own type JobId_t.
    1351 
    1352 commit b14f17df0995c6157c06a55a1b9596c3ec9a9d52
    1353 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1354 Date:   Mon Nov 21 11:01:38 2011 +0100
    1355 
    1356     Renamed s11n_example executables to Server and Worker.
    1357 
    1358 commit e3a9c9095467adb37758c5092f95060f1fa98969
    1359 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1360 Date:   Mon Nov 21 09:48:32 2011 +0100
    1361 
    1362     FragmentWorker::handle_connect can deal with multiple endpoint resolution.
    1363 
    1364 commit 00a248e52e820b8b1e298f757c031943126dee7d
    1365 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1366 Date:   Mon Nov 21 09:34:43 2011 +0100
    1367 
    1368     Renamed file client.cpp -> Worker.cpp.
    1369 
    1370 commit f7f99510d4b31a8e2923b0af4c9fc96e6ef2fa3f
    1371 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1372 Date:   Mon Nov 21 09:32:56 2011 +0100
    1373 
    1374     Renamed file server.cpp -> Server.cpp.
    1375 
    1376 commit cd4a6e84fc65152a21053ba13c6d87bca6e724ae
    1377 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1378 Date:   Mon Nov 21 09:22:22 2011 +0100
    1379 
    1380     Renamed file StockServer -> FragmentScheduler.
    1381 
    1382 commit 8c9596e4625116d26a89a0b50b4ed923834abde4
    1383 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1384 Date:   Mon Nov 21 10:45:52 2011 +0100
    1385 
    1386     Renamed class StockClient -> FragmentWorker.
    1387    
    1388     - renamed friend declaration in FragmentJob.
    1389 
    1390 commit 926a490eef5be0923876b74bb122c92134f2147a
    1391 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1392 Date:   Fri Nov 18 21:29:36 2011 +0100
    1393 
    1394     Renamed class StockServer -> FragmentScheduler.
    1395 
    1396 commit af3aedfa905ac3865913f9a11dba55621206e94e
    1397 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1398 Date:   Fri Nov 18 21:29:36 2011 +0100
    1399 
    1400     Introduced Info in several functions, replaced connection.hpp by Connection.hpp.
    1401 
    1402 commit c6bcd0d3471aa10310cb252b40ebb9963d2eb216
    1403 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1404 Date:   Fri Nov 18 21:29:36 2011 +0100
    1405 
    1406     Added MemDebug.hpp to StockServer.
    1407 
    1408 commit 00d4fb757b6bdfe59277afc18c19b31bdab0cd1e
    1409 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1410 Date:   Fri Nov 18 21:29:36 2011 +0100
    1411 
    1412     Added MemDebug.hpp to StockClient.
    1413 
    1414 commit f938420ab6a003f14dcfcd95a908c111ecf80599
    1415 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1416 Date:   Fri Nov 18 21:29:36 2011 +0100
    1417 
    1418     Added config.h inclusion to all Stock*.
    1419 
    1420 commit 31ca5f07f01e2d94689a06092d8e5b8d84a2a909
    1421 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1422 Date:   Fri Nov 18 21:29:36 2011 +0100
    1423 
    1424     StockClient and StockServer now exchange FragmentJob's instead of stock's.
    1425    
    1426     - for the moment StockClient is friend of FragmentJob to access contents.
    1427 
    1428 commit 963c3bb7ef11b28ed00b41281604dbd75f87d0d9
    1429 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1430 Date:   Fri Nov 18 21:29:36 2011 +0100
    1431 
    1432     Took connection out of namespace.
    1433 
    1434 commit a636f8d76f52b58d724bf2ba92f76d2df9c67fd0
    1435 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1436 Date:   Fri Nov 18 21:29:36 2011 +0100
    1437 
    1438     Took StockClient out of namespace s11n_example.
    1439 
    1440 commit 2eff32bc86b5a24a223754e4992ad808b3427255
    1441 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1442 Date:   Fri Nov 18 21:29:36 2011 +0100
    1443 
    1444     Renamed client -> StockClient, split off StockClient into own module.
    1445 
    1446 commit 8b65727b83e15dcfd1ce88625b8a59af32e5baab
    1447 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1448 Date:   Fri Nov 18 21:29:36 2011 +0100
    1449 
    1450     Took stock out of namespace.
    1451 
    1452 commit ed2c5bf77d3337e917dab023057b5246bb07acef
    1453 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1454 Date:   Fri Nov 18 21:29:36 2011 +0100
    1455 
    1456     Took StockServer out of namespace s11n_example.
    1457 
    1458 commit 72eaf7f2ba3489095828d8e575443ea4b1731b0d
    1459 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1460 Date:   Fri Nov 18 21:29:36 2011 +0100
    1461 
    1462     Implemented working s11n example from boost::asio and refactoring ...
    1463    
    1464     - removed Worker test example.
    1465     - rename class server -> StockServer.
    1466     - split off StockServer into own module.
    1467 
    1468 commit d0b3acad3e369a36eebdac29b1682a4b45be2baf
    1469 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1470 Date:   Fri Oct 21 18:02:54 2011 +0200
    1471 
    1472     Added initial setting for creating client/server for automated fragment calculation.
    1473    
    1474     - we check for boost::asio in configure.
    1475     - extra subdir src/Fragmentation/Automation to keep dependencies between new
    1476       client/server architecture and rest of MoleCuilder as small as possible
    1477       (especially compile-time wise).
    1478     - small worker (hello world) program that is linked against boost::asio
    1479       containing first example of asio tutorial (timer.1) to underline
    1480       functionality.
    1481 
    1482 commit e44956108f0bb594c7954211e93c2d0afcd3d523
    1483 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1484 Date:   Thu Apr 12 09:31:26 2012 +0200
    1485 
    1486     Set version to 1.2.4
    1487    
    1488     - Molecuilder library is now 8:0:1.
    1489    
    1490     - Codename "Mercedes" (the W124 series is one chassis used by Mercedes in its E-class cars)
    1491 
    1492 commit b2c30277e29ff71804fcb5db963189440f56db52
    1493 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1494 Date:   Fri Mar 16 13:29:01 2012 +0100
    1495 
    1496     DOCU: Extended documentation on how values from the user are eventually used by Actions.
    1497    
    1498     - updated ValueStorage docu.
    1499 
    1500 commit be21faee0c27bbf2439e848bacfe01d94e55d9e0
    1501 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1502 Date:   Wed Apr 11 18:18:23 2012 +0200
    1503 
    1504     Moved getParametersfromValueStorage() call from each single Action into base class Action::call().
    1505 
    1506 commit 3e93332edcd1d53ed12f703581f513aa848ed653
    1507 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1508 Date:   Fri Apr 6 14:51:10 2012 +0200
    1509 
    1510     FIX: Corrected includes of GLWorldScene and GLWorldView.
    1511 
    1512 commit 53059ec2dd3238b5576917fc5f3b886c51b6c88d
    1513 Merge: c0ed1e7 3927ef3
    1514 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1515 Date:   Fri Apr 6 13:59:28 2012 +0200
    1516 
    1517     Merge branch 'michi-track-molecules' into stable
    1518    
    1519     Conflicts:
    1520         src/World.hpp
    1521    
    1522     - World had removed NotificationType MoleculeChange but added SelectionChanged.
    1523     - FIX: World::AtomPositionChanged is no more, GLWorldView listens to
    1524       AtomObserver instead.
    1525 
    1526 commit 3927ef32aa0c52dd73d5c9a4fe5eccea8715a379
    1527 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1528 Date:   Wed Apr 4 16:00:53 2012 +0200
    1529 
    1530     GL: molecule selection boxes
    1531    
    1532     - only instantiated for selected molecules
    1533     - no size/position changes tracked yet!
    1534 
    1535 commit 1ce04ba25c600a48cbc8077e87d4f752d2bdb206
    1536 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1537 Date:   Wed Apr 4 15:59:53 2012 +0200
    1538 
    1539     TYPO in comment
    1540 
    1541 commit a3900675b96bc0f90f73a7fecc419561b8effaa9
    1542 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1543 Date:   Mon Apr 2 14:11:44 2012 +0200
    1544 
    1545     QtWorldView: only refill on repaint
    1546 
    1547 commit 25b3559dab530b85b3b7f9d2ae6e4fa721bc6c45
    1548 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1549 Date:   Mon Apr 2 13:50:01 2012 +0200
    1550 
    1551     QtElementList: only refill on repaint
    1552 
    1553 commit 225cf5bb2323a8449a33e059ca95fcbd61c610f5
    1554 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1555 Date:   Mon Apr 2 12:57:45 2012 +0200
    1556 
    1557     REFACTOR: GL: made drawSelectionBox its own function
    1558 
    1559 commit 3b229e53114d9aef7a92da804468aee8149f13a5
    1560 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1561 Date:   Mon Apr 2 12:48:10 2012 +0200
    1562 
    1563     GL: made hover/selection materials static
    1564    
    1565     - no more getMaterial(_evil_number_) workaround
    1566 
    1567 commit c6751895e249ac3b8b055b048e09886c9e6b6faf
    1568 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1569 Date:   Fri Mar 30 16:59:47 2012 +0200
    1570 
    1571     GL: molecules show if they're selected (mostly dummy)
    1572    
    1573     - adden new GLMoleculeObject_molecule class (without mesh)
    1574     - draws a cube if molecule is selected
    1575       (does NOT use correct position/size yet!)
    1576 
    1577 commit 42c6a471ef0ffc7ff153901aa28b1d9be1a5076a
    1578 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1579 Date:   Fri Mar 30 15:46:59 2012 +0200
    1580 
    1581     REFACTOR: removed duplicate variable in GLMoleculeObject (m_mesh, m_GLMoleculeObject)
    1582 
    1583 commit 5a2a0637855ca870075b64d371bf7a586b59f786
    1584 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1585 Date:   Fri Mar 30 12:51:02 2012 +0200
    1586 
    1587     GL: sending more signals to redraw
    1588    
    1589     - atoms send changed() to scene when element or position changed
    1590     - atoms send selectionChanged() to scene when (un)selected
    1591     - bonds send changed() to scene when an atom changes its position
    1592 
    1593 commit d539023abf66f2db5f41891aeba4d6e409d58146
    1594 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1595 Date:   Fri Mar 30 12:35:47 2012 +0200
    1596 
    1597     GL: atoms show if they're selected
    1598 
    1599 commit fbb1f1abc80189e7ebceb05b7baec9b319cf4db8
    1600 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1601 Date:   Thu Mar 29 15:38:37 2012 +0200
    1602 
    1603     GLMoleculeObject_bond: dynamic bond distance via matrices
    1604 
    1605 commit 343a4b93ad2b4402ac08f73a701b3a94f1f4b462
    1606 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1607 Date:   Thu Mar 29 14:37:44 2012 +0200
    1608 
    1609     GL: bond tracks its atoms' position changes
    1610 
    1611 commit 8a77aceca34c6bfc767e485022aadcae50a7ff12
    1612 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1613 Date:   Thu Mar 29 13:35:47 2012 +0200
    1614 
    1615     GL: track atoms changing position
    1616    
    1617     - handles World::AtomPositionChanged
    1618     - selectionMaterial
    1619 
    1620 commit 69643ae5440d6dddbf875a782811ee16d2941d85
    1621 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1622 Date:   Thu Mar 29 13:11:02 2012 +0200
    1623 
    1624     World: made selection changes observable
    1625 
    1626 commit 6e6b9000d63e415dcd88d625a8bf097ce425b880
    1627 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1628 Date:   Thu Mar 29 13:09:40 2012 +0200
    1629 
    1630     VectorQtQuery: allowing negative values
    1631 
    1632 commit 85a23f9feaae1467065551b93789e2310a3b6504
    1633 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1634 Date:   Tue Mar 20 14:24:49 2012 +0100
    1635 
    1636     FIX: BoxQtQuery crashed (matrix initialized as 0)
    1637 
    1638 commit 85b1126c465b0555e3fcf90ff8032d9abb86d60f
    1639 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1640 Date:   Tue Mar 20 14:01:11 2012 +0100
    1641 
    1642     made BooleanQtQuery a checkbox
    1643 
    1644 commit 51b5d11f6164373b94b7c426c6fc651ad5363705
    1645 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1646 Date:   Tue Mar 20 13:41:00 2012 +0100
    1647 
    1648     FIX: missing initializers for QtQueries
    1649 
    1650 commit 4ddcfb56748b600772484d5b11391fec57f3d210
    1651 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1652 Date:   Thu Mar 15 14:09:56 2012 +0100
    1653 
    1654     FIX: BooleanQtQuery: missing Layout creation before use
    1655 
    1656 commit a14fe398b40b1b536bb476011b0c210663749bae
    1657 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1658 Date:   Thu Mar 15 13:43:54 2012 +0100
    1659 
    1660     VectorQtQuery implemented
    1661 
    1662 commit 1de61e16ec9243406aa643aaa7f68fa60662ed77
    1663 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1664 Date:   Tue Mar 13 14:24:27 2012 +0100
    1665 
    1666     QtElementList: selection calls actions
    1667 
    1668 commit b14efe1ed7af1abfc8af894dcaafd29b7d110a4a
    1669 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1670 Date:   Tue Mar 13 13:58:50 2012 +0100
    1671 
    1672     QtWorldView: selection in widget calls actions
    1673 
    1674 commit 613f8ce92dbe7aa67f0bcf2b469dc117261e6701
    1675 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1676 Date:   Thu Mar 22 13:30:17 2012 +0100
    1677 
    1678     added a selection material to GLMoleculeObject (still unused)
    1679 
    1680 commit 818201ca31afd939c7344a175135fb8dc1f9665f
    1681 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1682 Date:   Thu Mar 22 13:29:22 2012 +0100
    1683 
    1684     added a dirty flag to QtElementList (still unused)
    1685 
    1686 commit 79b59b34898604a6632f6ba8004edb82aa1e19ea
    1687 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1688 Date:   Thu Mar 22 13:27:01 2012 +0100
    1689 
    1690     made QtWorldView a QTreeWidget
    1691 
    1692 commit 575343869aa527e7b87db59d4b3951735678ab11
    1693 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1694 Date:   Thu Mar 22 13:22:08 2012 +0100
    1695 
    1696     added OBSERVE to molecule::SetNameFromFilename
    1697 
    1698 commit 59a28ec90c4e8631aeaf66b49d200d2e6fc3e72e
    1699 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1700 Date:   Thu Mar 8 13:41:08 2012 +0100
    1701 
    1702     QtElementList improved
    1703    
    1704     - occurrence added
    1705     - connected to molecule observer
    1706 
    1707 commit f20fa5eaab631780e5e575ac7150352538ba9a14
    1708 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1709 Date:   Thu Mar 8 11:08:44 2012 +0100
    1710 
    1711     made QtElementList a QTreeWidget
    1712 
    1713 commit 0e61565a3b23140c13eb4888983a7b3b30175141
    1714 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1715 Date:   Tue Mar 6 17:48:08 2012 +0100
    1716 
    1717     new class: QtElementList
    1718 
    1719 commit 244f8167b657eafd126134f5ceff42b58c2c1b05
    1720 Author: Michael Ankele <ankele@ins.uni-bonn.de>
    1721 Date:   Tue Mar 6 14:09:48 2012 +0100
    1722 
    1723     QTabWidget for worldDisplay
    1724 
    1725 commit c0ed1e7cacf4dc5df9d33813e1fd71b00795c4d7
    1726 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1727 Date:   Fri Apr 6 13:31:15 2012 +0200
    1728 
    1729     FIX: WorldTime::setTime only gives update when given time step is different.
    1730    
    1731     - this [closes #183].
    1732 
    1733 commit d0037049d1e673734b6a2457d940c4d0f7c587d2
    1734 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1735 Date:   Fri Apr 6 13:03:57 2012 +0200
    1736 
    1737     FIX: Box does not notify (though update) when set conditions or matrix is the same.
    1738    
    1739     - TESTFIX: BoxUnitTest adapted accordingly and added checks for no notify on
    1740       these cases.
    1741 
    1742 commit 760c4c275e5610869534aa6ad1bb5c87db08d9ae
    1743 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1744 Date:   Fri Apr 6 12:39:22 2012 +0200
    1745 
    1746     Cleaned observer structure in atom.
    1747    
    1748     - Added new channel BondsRemoved and used in bonds removal functions.
    1749     - FIX: Removed PropertyChanged for setNr and alikes, Nr is molecule's
    1750       responsibility. Made note of this in documentation.
    1751 
    1752 commit 6a3c838abc3c19ed587d178dee4f274fb26b6f8b
    1753 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1754 Date:   Fri Apr 6 11:57:43 2012 +0200
    1755 
    1756     Cleaned observer structure in molecule.
    1757    
    1758     - FIX: Several OBSERVE were not needed, as update trigger was already contained
    1759       in sub functions called in these routines.
    1760     - Added NotificationType enumeration of channels: Atom insertion, atom removal,
    1761       atom nr changes, and molecule name changes.
    1762     - OBSERVE and NOTIFY used in the functions only where the direct change occurs.
    1763 
    1764 commit d25bec3da03f889ba40af0111cab8123b30a7b9b
    1765 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1766 Date:   Fri Apr 6 11:48:08 2012 +0200
    1767 
    1768     Cleaned the structure of Observers, i.e. what they report.
    1769    
    1770     - The boundaries between who reports on what are somewhat unclear right now, this
    1771       commits fixes it and installs clear responsibilities for each of the major
    1772       observer entities.
    1773     - DOCU: Added section on observer construct on who reports on what.
    1774     - FIX: Removed AtomPositionChanged, AtomChanged, and MoleculeChanged (unused)
    1775       channels in World.
    1776 
    1777 commit 006e1ed7d5cc4416cfbfad21491bcfc0fcdda3ce
    1778 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1779 Date:   Fri Apr 6 13:19:10 2012 +0200
    1780 
    1781     FIX: ChangeTracker has not been observing AtomObserver so far.
    1782    
    1783     - This is introduced due to cleaning of observer structure.
    1784     - FIX: Cleaned ChangeTracker declaration from false includes.
    1785     - FIX: TextWindow.cpp lacked include World.
    1786     - TESTFIX: All Parser...UnitTest needed to purge AtomObserver instance.
    1787 
    1788 commit 23fd4308ecfb01cade133b122c6e3e4b440e3141
    1789 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1790 Date:   Fri Apr 6 12:09:07 2012 +0200
    1791 
    1792     FIX: TremoloParser now contains usedFields_load and _save to allow for multiple loading.
    1793    
    1794     - refactored several functions out of ::save().
    1795     - parseAtomDataKeysLine() and isUsedField now require usedFields ref.
    1796     - FIX: save() now erases duplicate entries still in usedFields.
    1797     - removed setFieldsForSave(), was duplicate of setAtomData().
    1798     - new function makeUsedFieldsUnique() to preserver order of appearance in
    1799       usedFields.
    1800     - this [closes #141].
    1801     - FIX: made several function parameters constant that were not before.
    1802     - FIX: Removed double readAtomDataLine().
    1803 
    1804 commit 531f27764dc2eabbcb727eb49be1867ac1257e30
    1805 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1806 Date:   Thu Apr 5 10:53:23 2012 +0200
    1807 
    1808     Added SaveSelectedAtomsAsExtTypesAction that creates a tremolo-specific .exttypes file.
    1809    
    1810     - the functionality is implemented in TremoloParser.
    1811     - it is required to perform a save on the atoms before such that ids are
    1812       correct.
    1813     - the actions tells whether ids are valid or not.
    1814     - also added regression test Parser/Tremolo-Exttypes.
    1815 
    1816 commit 80ca2949199193b6a0fde7517836465c5a7a214a
    1817 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1818 Date:   Thu Apr 5 17:42:12 2012 +0200
    1819 
    1820     Added regression test Filling/RegularGrid with and without a tesselated surface.
    1821    
    1822     - also repaired FillRegularGridAction such that do/undo/redo works.
    1823 
    1824 commit 72e4c95aeeec393ae183fcfb6ed2cebda6d50771
    1825 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1826 Date:   Fri Apr 6 12:34:16 2012 +0200
    1827 
    1828     tempcommit: regression tests Filling/SphericalSurface Undo/Redo were still marked XFAIL. Merge with ...
    1829 
    1830 commit af9be32aa2e588261aae3f3bcec741a12087b34c
    1831 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1832 Date:   Thu Apr 5 16:09:17 2012 +0200
    1833 
    1834     Added BondInfo to store bond's state information for later re-instantiation.
    1835    
    1836     - also added StoreBondInformationFromAtoms() and AddBondsFromBondInfo() to
    1837       UndoRedoHelpers.
    1838 
    1839 commit 06070b7a13e23eedd9701b62d229b17677769304
    1840 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1841 Date:   Thu Apr 5 14:53:38 2012 +0200
    1842 
    1843     AtomicInfo now also stores and restores the bond state information for the atom.
    1844 
    1845 commit cc9119798652998bbd0707a1ab96db1b98d7aa9d
    1846 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1847 Date:   Thu Apr 5 14:51:22 2012 +0200
    1848 
    1849     Refactored BondedParticle::removeAllBonds() into variant with and without time step.
    1850 
    1851 commit 42b6de7c684d4c908777f116dccaf00a8e479cf2
    1852 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1853 Date:   Thu Apr 5 11:38:33 2012 +0200
    1854 
    1855     Filler::operator() has param vector of Cluster's that is filled with inserted ones to allow for undoing.
    1856    
    1857     - FillRegularGrid and FillSphericalSurface have undo and redo functionality
    1858       based on the returned vector of Cluster's and UndoRedoHelpers.
    1859 
    1860 commit 57dd40cda8082273cb21c69bba6a7c8b5a561fca
    1861 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1862 Date:   Thu Apr 5 11:37:13 2012 +0200
    1863 
    1864     Extracted removal and adding of atoms from AtomicInfo to UndoRedoHelpers module.
    1865    
    1866     - this way atoms can be quickly re-created, removed from AtomicInfo state
    1867       information.
    1868     - added ResetAtomPosition().
    1869     - RemoveAction makes use of this.
    1870 
    1871 commit 91be2dbe71d6dc407a0ef58370bc1566d7b01d91
    1872 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1873 Date:   Thu Apr 5 11:53:46 2012 +0200
    1874 
    1875     Added Undo/Redo check to regression test Filling/SphericalSurface.
    1876    
    1877     - both are maked as XFAIL right now.
    1878 
    1879 commit 4187a74c602e4565e9e0fb1929d48384d6792cc5
    1880 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1881 Date:   Wed Apr 4 16:17:22 2012 +0200
    1882 
    1883     Removed MoleculeAction/CreateMicelleAction, is replaced by FillAction/FillSphericalSurfaceAction.
    1884    
    1885     - TESTFIX: removed regression test Molecule/CreateMicelle.
    1886     - TESTFIX: created Filling/SphericalSurface.
    1887 
    1888 commit cb76762d774e30e4704076d9c68d27765141559d
    1889 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1890 Date:   Wed Apr 4 13:16:14 2012 +0200
    1891 
    1892     FillSphericalSurface now works on selected molecule and requires an alignment axis.
    1893    
    1894     - the axis is used to perform the rotation assuming the filler molecule is
    1895       oriented on this direction.
    1896     - also, it now uses CopyAtoms_withBonds.
    1897 
    1898 commit 93eae3672fe61ef67bd3ca7888779afb308aa2e0
    1899 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1900 Date:   Wed Apr 4 13:12:18 2012 +0200
    1901 
    1902     Added new Inserter working on surfaces of Sphere's.
    1903    
    1904     - We also align the given filler Cluster along the surface normal direction.
    1905     - Note: Filler nodes may only reside on the Sphere's surface.
    1906 
    1907 commit 50c35d7a80a86a8cda3eba3bc522fa468ed79feb
    1908 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1909 Date:   Tue Apr 3 15:32:46 2012 +0200
    1910 
    1911     Added Line::getRotationMatrix() and RealSpaceMatrix::setRotation(Vector,double).
    1912    
    1913     - setRotation() now allows to set a rotation matrix about an arbitrary axis.
    1914     - Line::getRotationMatrix() just forwards to RealSpaceMatrix::setRotation()
    1915       with its direction.
    1916     - added (simple) unit test function for both.
    1917 
    1918 commit 2db05382555a391b8fe4741acd08266bfc330545
    1919 Author: Gregor Bollerhey <bollerhe@ins.uni-bonn.de>
    1920 Date:   Thu Mar 29 19:18:16 2012 +0200
    1921 
    1922     Added action to fill selected atoms on sphere surface.
    1923 
    1924 commit f4cfb689eb8b160e2dc0434074efead7fdc8c8e0
    1925 Author: Gregor Bollerhey <bollerhe@ins.uni-bonn.de>
    1926 Date:   Thu Mar 29 19:16:24 2012 +0200
    1927 
    1928     Mesh adaptor to reuse sphere-shape for new filler action.
    1929 
    1930 commit 4a4f3d8ce22775957b51c385fd5f8d8a6fb427cc
    1931 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1932 Date:   Thu Apr 5 11:54:12 2012 +0200
    1933 
    1934     Added regression test Filling/RegularGrid with undo, redo.
    1935 
    1936 commit 6aad6f855826b41c7c32b3b3c9706d5adbcf9acd
    1937 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1938 Date:   Thu Apr 5 13:29:26 2012 +0200
    1939 
    1940     FIX: molecule::containsAtom() is now const and has const param, added AtomIdSet::contains().
    1941    
    1942     - AtomIdSet::contains() is predicate to whether id is contained, added unit
    1943       test function.
    1944     - also added molecule::containsAtom() on atomic id only.
    1945 
    1946 commit 57f7434125c2e5fda6c02a28c72e221dd66f64d9
    1947 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1948 Date:   Wed Apr 4 15:56:54 2012 +0200
    1949 
    1950     FIX: AtomIdDescriptor was not using internal_iterator but full ObservedIterator.
    1951    
    1952     - this causes messy update()-cascades because on destruction of the iterator
    1953       during the find, which is e.g. used by AtomIdSet::const_iterator(!), an
    1954       Observer signal was triggered.
    1955     - NOTE: In Descriptors we may _always_ use internal iterators, as this never
    1956       does any harm to the World with respect to insertion/removal of atoms or
    1957       molecules.
    1958     - this [closed #182].
    1959 
    1960 commit b98a32c9973063fcbc69b436a08b1405b9df5ce1
    1961 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1962 Date:   Tue Apr 3 16:31:03 2012 +0200
    1963 
    1964     FIX: Some fixes to Resize_Impl functions.
    1965    
    1966     - replaced 1/ by 1./.
    1967     - volume and surface area are size to the power of three and two, respectively.
    1968 
    1969 commit c4864173a791cccb5a29c6f251b4e9352b31020f
    1970 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1971 Date:   Tue Apr 3 16:29:31 2012 +0200
    1972 
    1973     FIX: ShapeOps::getHomogenous...() were not working.
    1974    
    1975     - replaced for_each by transform (the latter actually replaces).
    1976     - also by using ShapeOpsBase_Impl::translateOutPos() we can implement the
    1977       getHomogeneous...() functions more generally inside ShapeOpsBase_Impl
    1978       instead of specifically for each Shape operation.
    1979     - added Implementation of getHomogenousPointsOnSurface unit test function.
    1980 
    1981 commit 5cdd83b4ee7182af3e7f1f1dc01d45d7e02916a2
    1982 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1983 Date:   Thu Apr 5 11:38:02 2012 +0200
    1984 
    1985     FIX: AtomicInfo.hpp lacked some inclusions, had only forward declarations.
    1986 
    1987 commit b3d687bc878019a08e899000aa1d38119f390058
    1988 Author: Frederik Heber <heber@ins.uni-bonn.de>
    1989 Date:   Thu Apr 5 10:14:13 2012 +0200
    1990 
    1991     FIX: Filler::operator() did not create a molecule for each cloned cluster.
    1992    
    1993     - so far we assume (in AtomicInfo) that each atoms always belongs to a
    1994       molecule. However, the CopyAtomsInterface copies without creating new
    1995       molecules or associating copied ones with the old molecules.
    1996     - AtomicInfo asserts that atom is associated to a molecule.
    1997     - CopyAtoms_withBonds now associates cloned atoms with molecule of original
    1998       atom.
    1999     - Filler::operator() creates a molecule for each cloned cluster and associates
    2000       all atoms in the cluster with it.
    2001     - This [closes #180].
    2002 
    2003 commit 2598874de68fdc051204a1835045f988d021c922
    2004 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2005 Date:   Thu Apr 5 09:55:23 2012 +0200
    2006 
    2007     FIX: XyzParser stumbled over empty comment line.
    2008    
    2009     - FormatParser< xyz >::load() used operator>> and ws but this skips over the
    2010       newline characters if only whitespace follows. Now we use getline.
    2011     - added regression test part on the issue to Parser/Xyz/...load-various.
    2012     - This [closes #181].
    2013 
    2014 commit 2034f3c5f9db8e8024a0f4db0cd3d1231e98ac24
    2015 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2016 Date:   Tue Mar 27 14:37:05 2012 +0200
    2017 
    2018     Added AtomInfo::charge along with getter and setter.
    2019    
    2020     - charge is used by both TremoloParser and XmlParser, hence needs to be
    2021       exchanged.
    2022     - Added charge to state info in AtomicInfo.
    2023     - TESTFIX: regression tests Molecules/Copy, Molecules/CreateMicelle, and
    2024       Filling/FillVoidWithMolecule's tensid.data file had to be changed due to
    2025       present Charge info with precision different to the one arising from new
    2026       AtomInfo::Charge.
    2027     - removed ParserXmlUnitTest from XFAIL_TESTS.
    2028 
    2029 commit 3d0892b89b1f6f981cce9898d7abd17bfafd158f
    2030 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2031 Date:   Mon Mar 26 11:59:32 2012 +0200
    2032 
    2033     Added an additionalAtomInfo container to XmlParser.
    2034    
    2035     - this stores the parser-specific information such as charge, ...
    2036 
    2037 commit d2596bcb8a99e3a32ebcb51e123bd7fed8235a16
    2038 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2039 Date:   Sat Mar 24 17:39:43 2012 +0100
    2040 
    2041     Added XmlParser for parsing configurations for ScaFaCoS generic test code.
    2042    
    2043     - XML is parsed via pugixml which is placed in subfolder pugixml in src/Parser.
    2044     - NOTE: pugixml does not import/export double with high enough precision.
    2045       Hence, we always obtain strings and convert them ourselves.
    2046     - also added unit test on the new parser.
    2047     - NOTE: Unit test is failing as charges are not yet written correctly, hence
    2048       marked as XFAIL.
    2049 
    2050 commit 613da6b478df78ec98ab183a9a9bd735adf14586
    2051 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2052 Date:   Sat Mar 24 17:39:04 2012 +0100
    2053 
    2054     Added check for boost::property_tree to boost.m4.
    2055 
    2056 commit ed26ae0a32a705778541a63922f7ba79f0840079
    2057 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2058 Date:   Mon Mar 26 10:06:19 2012 +0200
    2059 
    2060     Renamed calls to element::getNumber() -> ::getAtomicNumber().
    2061    
    2062     - dropped element::getNumber() as getAtomicNumber has same functionality.
    2063 
    2064 commit 47ed3dbe85194f82787c9dcd9efa83fae922b213
    2065 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2066 Date:   Mon Mar 26 09:48:22 2012 +0200
    2067 
    2068     Removed some old output functions in element, Formula, and molecule.
    2069    
    2070     - This is preparatory for refactoring element into a more general concept that
    2071       can contain both chemical and derived elements suitable for empirical
    2072       potential parametrization storage.
    2073     - Removed functions in element: Output(), Checkout().
    2074     - Removed function Formula::checkOut().
    2075     - Removed function molecule::Checkout().
    2076     - functionality added to periodentafel::OutputElement().
    2077 
    2078 commit 03a58974943974bda29e50e38854002e694c2f07
    2079 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2080 Date:   Mon Mar 26 09:44:19 2012 +0200
    2081 
    2082     Removed lots of remnant output functions in atom and molecule that are not used anymore.
    2083    
    2084     - Removed functions in atom: OutputMPQCLine(), OutputPsi3Line(),
    2085       OutputXYZLine(), OutputTrajectories(), OutputTrajectoryXYZ()
    2086     - functionality of outputters has been shifted to Psi3Parser and MPQCParser.
    2087     - Removed functions in molecule: OutputTrajectories(),
    2088       OutputTrajectoriesXYZ(), OutputXYZ()
    2089     - Removed in CounBondsUnitTest: OutputTestMolecule().
    2090 
    2091 commit ce7bfd57176b8ad23e9bfcc393a41c4798df77ed
    2092 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2093 Date:   Tue Mar 13 20:35:15 2012 +0100
    2094 
    2095     VERBOSE: Subsequent change in verbosity levels of many tesselation functions after Info removal.
    2096 
    2097 commit 2a3124b519027c588e363ec4c5a44171b4715777
    2098 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2099 Date:   Tue Mar 13 18:35:01 2012 +0100
    2100 
    2101     VERBOSE: Removed lots of Info objects in tesselation classes member functions.
    2102 
    2103 commit e791dcfb33d9e278cc697cebebb3ec5731abcfe9
    2104 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2105 Date:   Tue Mar 13 18:52:00 2012 +0100
    2106 
    2107     Removed molecule::doCountAtom() and added molecule::doCountNoNonHydrogen().
    2108    
    2109     - since the conversion of molecule to being a container for a set of atomicId_t
    2110       counting atoms is just an unnecessary O(N^2), since we count through all of
    2111       them. With atomIds.size() however the number of atoms is always known.
    2112     - Hence, moleucle::AtomCount is no longer a Cacheable, but NoNoHydrogen is
    2113       now such a one. LazyEvaluation is only sensible when the evaluations are
    2114       few. Due to updates from the GUI however, atomcount is constantly requested.
    2115     - FIX: removed doCountAtom() calls in some functions in analysis_correlation.
    2116 
    2117 commit 1089686f4e347a12c5cb5f631aeaa4c165a9f3c0
    2118 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2119 Date:   Tue Mar 13 18:37:53 2012 +0100
    2120 
    2121     FIX: Rewrite of BondGraph's CreateAdjacency() and getMaxPossibleBondDistance().
    2122    
    2123     - getMaxPossibleBondDistance() is not templated anymore but expects simply a
    2124       set of atomicNumber_t.
    2125     - new helper function BondGraph::getElementSetFromNumbers() which converts a
    2126       set of atomicNumber_t into a set of elements.
    2127     - createAdjacency now prepares initially the set of atomicNumber_t and from
    2128       it the set of elements such that no further element lookups are necessary
    2129       except once for each atom's element.
    2130 
    2131 commit 08a0f52718bbbbe42fd8618c1e90effd0fc6eabb
    2132 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2133 Date:   Tue Mar 13 18:36:46 2012 +0100
    2134 
    2135     AtomInfo has new functions getElement() and getElementNo().
    2136    
    2137     - getElement() shall replace getType() which still returns a pointer instead
    2138       of a reference, is marked as deprecated.
    2139     - getElementNo() is a faster way if only the atomicNumber_t of the atom is
    2140       desired as no lookup in the World is necessary.
    2141 
    2142 commit ccb487ddab59ad8050ce40929874510f2d9454f0
    2143 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2144 Date:   Thu Mar 15 18:29:54 2012 +0100
    2145 
    2146     TremoloParser now always writes current domain as "# Box ..." into file.
    2147    
    2148     - This is important, as format tremolo is essentially also a domain preserving
    2149       type (i.e. tremolo reads Box from .data file).
    2150     - TESTFIX: The following regression tests have a "' Box ..." line added to their
    2151       .data files: Domain/RepeatBox, Filling/FillVoidWithMolecule, Molecules/Copy,
    2152       Molecules/CreateMicelle, Parser/Tremolo-SetAtomdata.
    2153     - FIX: Forgot to add testsuite-fill-void-with-tenside-molecule.at to
    2154       Makefile.am
    2155 
    2156 commit a275b3f9d246781dcbb1eae64f444246f68aad00
    2157 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2158 Date:   Mon Mar 12 16:11:36 2012 +0100
    2159 
    2160     TremoloParser uses ElementKeys.
    2161    
    2162     - functions parseKnownTypes() and createKnownTypesByIdentity() relay to
    2163       respective functions in ElementKeys.
    2164     - TremoloParser::readAtomDataLine() catches IllegalParserKeyException to
    2165       inform the user of .data with insufficient .potential knowledge.
    2166 
    2167 commit d9005c16a207bbd7364238aaf6dfaa1afe18b7cb
    2168 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2169 Date:   Mon Mar 12 16:08:21 2012 +0100
    2170 
    2171     Extracted TremoloParser::knownTypes into distinct class ElementKeys, and added ParserExceptions.
    2172    
    2173     - added Exceptions.hpp to folder Parser with currently only exception
    2174       IllegalParserKeyException.
    2175     - ElementKeys contains map that parses contents from file and may set identity
    2176       mapping based on periodentafel's elements.
    2177     - getter and setter throw IllegalParserKeyException.
    2178 
    2179 commit ebc499bb1355679f4fc65d57497f95261d93f328
    2180 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2181 Date:   Mon Mar 12 18:02:52 2012 +0100
    2182 
    2183     Added InvertMoleculesAction and InvertAtomsAction.
    2184    
    2185     - World has two new functions invertAtomSelection() and ..MoleculeSelection().
    2186     - these actions are needed to get some of the boolean operations working that
    2187       are possible inside the code but not outside. Concatenated selections are
    2188       on the command-line always combined as OR and never as AND, via an invertion
    2189       operation, we may combine these into an effective AND combination.
    2190     - also added regression tests Selection/Atoms/InvertAtoms and Selection/
    2191       Molecules/InvertMolecules.
    2192 
    2193 commit 61c364e5234bfac462d451e14f2d8a128787f6bb
    2194 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2195 Date:   Fri Mar 23 09:40:39 2012 +0100
    2196 
    2197     Added AtomOrderDescription along with SelectionAtomByOrder.
    2198    
    2199     - added unit test function AtomOrderTest on new descriptor.
    2200     - added regression tests Selection/Atoms/AtomByOrder.
    2201     - TESTFIX: Enhanced moltest.py and moltest_check.py by catching ValueError,
    2202       when lines in options.dat are faulty.
    2203 
    2204 commit 8de597c3fb205163fbb84791b76d54a43062db72
    2205 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2206 Date:   Thu Mar 1 14:56:51 2012 +0100
    2207 
    2208     FIX: FileQtQueryPipe demanded QFileDialog::ExistingFile.
    2209    
    2210     - for InputAction also non-existing files are allowed.
    2211 
    2212 commit 2935fddcbade4d132f34943ad80b643b77283a4b
    2213 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2214 Date:   Mon Apr 2 13:09:47 2012 +0200
    2215 
    2216     Set version to 1.2.3
    2217    
    2218     - Molecuilder library is now 8:0:0.
    2219    
    2220     - Codename "Serpens Cauda" (yellow dwarf star system 123 light years away,
    2221       containing HD 168443b/c, two extrasolar planets).
    2222 
    2223 commit 510f8114d39633be815ec5bf2eb8bf42f5b30f6a
    2224 Merge: 0f44e1b 22425a9
    2225 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2226 Date:   Mon Apr 2 12:35:51 2012 +0200
    2227 
    2228     Merge branch 'Fix_Tesselation_InsideOutSideUnitTest' into Candidate_v123
    2229 
    2230 commit 22425a9c1deaa6c8fe8844c40fe08d87a46164b9
    2231 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2232 Date:   Mon Apr 2 12:34:03 2012 +0200
    2233 
    2234     DISTFIX: Tesselation_InsideOutsideUnitTest still wrote temporary file.
    2235 
    2236 commit 0f44e1b5c2cc3d04152871c13aae2b663dd50a45
    2237 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2238 Date:   Mon Apr 2 10:34:35 2012 +0200
    2239 
    2240     Added CodeCheck on header files forgotten to put into a Makefile.am
    2241 
    2242 commit 7256a22b879c94a26db88606e94c6dd807033fd5
    2243 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2244 Date:   Mon Apr 2 10:18:10 2012 +0200
    2245 
    2246     DISTFIX: Forgot to include various header files in Makefile.am's.
    2247    
    2248     - Shapes/ShapeType.hpp was missing in Makefile.am.
    2249     - Forgot to add Filling/ClusterInterface.hpp to Makefile.am.
    2250     - src/LinkedCel/LinkedCell_Model_inline.hpp was not present in Makefile.am.
    2251 
    2252 commit 896f4a7ada6369e3572c881c6619a64461c0de07
    2253 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2254 Date:   Thu Mar 29 10:21:47 2012 +0200
    2255 
    2256     FillRegularGridAction now uses RandomInserter to fill in the clusters.
    2257    
    2258     - FillRegularGridAction has three new parameters taken over from
    2259       FillVoidWithMoleculeAction.
    2260 
    2261 commit 48ab414c9528b756853528365f66102bc5b91219
    2262 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2263 Date:   Thu Mar 29 10:21:35 2012 +0200
    2264 
    2265     Implemented working RandomInserter.
    2266    
    2267     - we copy&paste most of the routines from boundary.cpp use in the filler
    2268       functions there. This is to eventually remove these from boundary.cpp.
    2269 
    2270 commit 4fbc4eb3e954566cda24e1994d562cd588d3d6df
    2271 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2272 Date:   Wed Mar 21 11:13:39 2012 +0100
    2273 
    2274     FIX: Filler::operator() now shifts filler cluster out of domain before evaluating predicates.
    2275    
    2276     - Note, we only move the atoms outside, not the shape.
    2277 
    2278 commit e32fa633df40b948e4d2e8a829385c51a6f7d34c
    2279 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2280 Date:   Tue Mar 27 15:53:10 2012 +0200
    2281 
    2282     Modified Filler:operator() such that Inserters only modify position, not clone.
    2283 
    2284 commit 68abe5f58a8e654ce9fa978466f421b7b52a0fa0
    2285 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2286 Date:   Tue Feb 21 15:27:21 2012 +0100
    2287 
    2288     Made Inserter::operator(), Filler::operator() return bool, used by FillRegularGridAction.
    2289    
    2290     - true if at least one node is filled.
    2291     - this is preparatory for allowing Inserter to insert and not clone only.
    2292 
    2293 commit f61f610060cf4f27c505a50acd437f8a6b56abf8
    2294 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2295 Date:   Tue Feb 21 14:55:58 2012 +0100
    2296 
    2297     Refactored implementation of Inserter into pimpl pattern.
    2298    
    2299     - this is then much more similar to Predicate.
    2300 
    2301 commit 901d8728439c01d409375e1e3f5d042c4d2d7bb6
    2302 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2303 Date:   Tue Feb 21 14:27:44 2012 +0100
    2304 
    2305     Refactored insertion of cluster into Inserter class.
    2306    
    2307     - this is to allow for random variations and alike with arbitrary inserters.
    2308     - Filler now requires an Inserter in cstor which is used when placing a cluster
    2309       at a specific node.
    2310     - the Inserter::operator() uses CopyAtomsInterface to pass on to
    2311       Cluster::clone().
    2312     - FillRegularGridAction uses SimpleInserter now.
    2313     - TESTFIX: FillerUnitTest uses SimpleInserter, too, now.
    2314 
    2315 commit dba7b09bd997e1ce6c6342031daa75dfc481bfc0
    2316 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2317 Date:   Wed Mar 21 11:20:18 2012 +0100
    2318 
    2319     Extended filling documentation for Inserter.
    2320 
    2321 commit da1e9282f7aecf587880d71ca5531b04c643fa70
    2322 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2323 Date:   Mon Jan 30 12:06:59 2012 +0100
    2324 
    2325     Shape::getVolume() and ::getSurfaceArea() use Approximators if implementation returns -1.
    2326    
    2327     - We use the approximators via tesselation for surface area and via a stupid
    2328       Monte Carlo integration for the volume.
    2329     - implemented stubs to use with Shape unit tests.
    2330 
    2331 commit 4c6e70b2ccc22ff8e07d3429981f902de285f40e
    2332 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2333 Date:   Mon Jan 30 12:05:27 2012 +0100
    2334 
    2335     Added functors for calculating surface area and volume of a Shape.
    2336    
    2337     - These are implemented as functors to avoid that Shape and especially its
    2338       library become dependent on Tesselation and other libraries.
    2339     - Added heuristic for point density to ApproximateShapeArea.
    2340     - ApproximateShapeVolume uses RealSpaceMatrix directly and does not
    2341       Box::translateIn().
    2342 
    2343 commit 595cfd9cce8dca421ed34314c2b4e9cb33b6d8ef
    2344 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2345 Date:   Thu Jan 19 16:40:33 2012 +0100
    2346 
    2347     Added NodeGenerator.
    2348 
    2349 commit c67c65d4e13897fc13b0c5ff2c63be4e582854c9
    2350 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2351 Date:   Mon Jan 30 09:18:04 2012 +0100
    2352 
    2353     Added preliminary getVolume() and getSurfaceArea() implementation to all Shapes.
    2354    
    2355     - only BaseShapes are truely usable, the rest is mostly marked as TODO.
    2356     - the problem is that intersections are not so easy to handle. Probably, we
    2357       have to use polygonal intersections there and approximate volume
    2358       calculations.
    2359     - the functions return -1 when not implemented yet. this is preparatory to
    2360       start approximate calculations at the top node of the Shape "graph" if -1.
    2361       is returned from the implementation.
    2362 
    2363 commit 7672551588bebb7aede173ab33a7c92d8ee6bed7
    2364 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2365 Date:   Mon Jan 30 09:14:10 2012 +0100
    2366 
    2367     Split off class definition of LinePoint from module Line.cpp
    2368    
    2369     - added documentation section on the lines.
    2370     - some changes due to new include LinePoint.hpp.
    2371 
    2372 commit e9ad4343d882a9eb00d1566d22d9d03580a62a77
    2373 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2374 Date:   Wed Mar 21 11:36:49 2012 +0100
    2375 
    2376     FillRegularGridAction now expects the filler as selected molecule, all selected atoms are tesselated.
    2377 
    2378 commit 345eda8ba424c9dbb13488e397cd25c45027d9bc
    2379 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2380 Date:   Tue Mar 6 16:20:13 2012 +0100
    2381 
    2382     Enhanced FillRegularGridAction to avoid tesselated surfaces.
    2383    
    2384     - selected molecules (if any) are now tesselated ans !IsInsideSurface is used
    2385       to only fill outside.
    2386 
    2387 commit 5a4cbcba2db951efef5711b10c3f27755464e607
    2388 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2389 Date:   Thu Mar 1 17:40:31 2012 +0100
    2390 
    2391     VERBOSITY: Increased verbosity threshold of some outputs connected to FillRegularGridAction.
    2392 
    2393 commit a884522bcc22ba620339ea5c6358f0408ce9007d
    2394 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2395 Date:   Fri Jan 20 02:29:57 2012 +0100
    2396 
    2397     Added new Action subfolder, menu, and CommandLine options map, and FillRegularGrid Action in it.
    2398    
    2399     - counts, offset and min-distance as parameters that determine the filling.
    2400     - we find bounding sphere for the selected set of atoms.
    2401     - CopyAtoms_withBonds is used in cloning the cluster.
    2402     - libMolecuilderFilling added to libMolecuilderUI.
    2403 
    2404 commit d505a3699ad22730219478f69fe1a8ad8b608c2f
    2405 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2406 Date:   Thu Jan 19 16:40:18 2012 +0100
    2407 
    2408     Added Filler as general method of filling a Shape.
    2409    
    2410     - Filler::operator()() requires CopyAtomsInterface ref as param.
    2411     - added unit test that creates cluster of two atoms and fills a row of nodes.
    2412 
    2413 commit 5d81e514140621e03b61d2bd770397f6d45321d3
    2414 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2415 Date:   Fri Jan 20 02:33:40 2012 +0100
    2416 
    2417     Added CubeMesh derived from Mesh.
    2418    
    2419     - contains a count and a offset Vector, along with a transformation matrix:
    2420      - the transformation is to scale the internal cube.
    2421      - counts is the axis partitioning, offset changes between 0 and 0.5 and 0.5 and
    2422        1 in a partitioning of 2.
    2423 
    2424 commit dd3f4f0b89cda87be8279908c39849664ab7067a
    2425 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2426 Date:   Thu Jan 19 18:02:02 2012 +0100
    2427 
    2428     Added class Mesh for containing a set of Shape-filling Vectors.
    2429 
    2430 commit 8f6e2a881f918244cc0e6fc08507dc72a81dcf74
    2431 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2432 Date:   Tue Jan 17 22:06:35 2012 +0100
    2433 
    2434     Added new class Cluster as atomIdset with a Shape.
    2435    
    2436     - inherits ClusterInterface.
    2437     - its clone() requires CopyAtomsInterface ref.
    2438     - implements getShape(), transform(), and translate().
    2439     - added unit test.
    2440 
    2441 commit 9e5a306c82483ea0f88a098c86376beb12c62ffe
    2442 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2443 Date:   Wed Mar 28 10:59:32 2012 +0200
    2444 
    2445     Added ClusterInterface.
    2446    
    2447     - this is preparatory for using a Cluster as possible atom sets.
    2448     - ClusterInterface has getShape(), transform(), and translate(),
    2449       also its clone() requires CopyAtomsInterface.
    2450 
    2451 commit 7adddc77959cfcd6ae003aa73f30942d2e1c3c35
    2452 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2453 Date:   Thu Jan 19 16:41:30 2012 +0100
    2454 
    2455     Added IsInsideSurface_FillPredicate
    2456    
    2457     - added unit test.
    2458 
    2459 commit 83fd7d028ca39a4cd002c097850aa966f267121e
    2460 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2461 Date:   Thu Jan 19 16:43:13 2012 +0100
    2462 
    2463     Added Ops_FillPredicate.
    2464    
    2465     - added unit test.
    2466 
    2467 commit baac793b97fbf4371eca521187baa79207499a83
    2468 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2469 Date:   Thu Jan 19 16:41:45 2012 +0100
    2470 
    2471     Added IsVoidNode_FillPredicate.
    2472    
    2473     - added unit test.
    2474     - added documentation and verbosity to IsVoidNode() and IsVoidNode_FillPredicate().
    2475     - creates a LinkedCell_view that is copied when bound to IsVoidNode().
    2476 
    2477 commit 6499b1ee9307f8ecc39caafba8f8083e036a4bd0
    2478 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2479 Date:   Thu Jan 19 16:46:41 2012 +0100
    2480 
    2481     Added IsInsideDomain_FillPredicate.
    2482    
    2483     - added unit test.
    2484 
    2485 commit 600a5296c7fb2bdb5ffe9f184edc5632d2acb442
    2486 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2487 Date:   Thu Jan 19 17:27:42 2012 +0100
    2488 
    2489     Added IsInDomain_FillPredicate.
    2490    
    2491     - added unit test.
    2492 
    2493 commit b00ab1b88d1ad76942e82e3eece9355ea217a2d7
    2494 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2495 Date:   Thu Jan 19 16:16:09 2012 +0100
    2496 
    2497     AnyFillPredicate takes a specific boost::function as predicate.
    2498    
    2499     - this will allow us to pass on specific boolean function that are used via
    2500       boost::bind to serve as predicates, embodied in this class.
    2501 
    2502 commit 9c2cb38007f3f87ae0e49da9d30c337eac0660af
    2503 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2504 Date:   Thu Jan 19 16:40:58 2012 +0100
    2505 
    2506     FillPredicate is working base class, where FillPredicateBase.hpp is the underlying interface.
    2507    
    2508     - FillPredicate is alike to Shape in design, containing a implementation
    2509       pointer which has all the functionality and we just point to it.
    2510 
    2511 commit 0d57cbe09325913fcef9dcef6d7f542ede6e61b5
    2512 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2513 Date:   Wed Jan 18 01:21:07 2012 +0100
    2514 
    2515     Added Node and NodeSet for a position and a vector of Positions.
    2516 
    2517 commit b380ed238b7e9f275cf94f77da35860808083f3b
    2518 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2519 Date:   Tue Jan 17 15:57:37 2012 +0100
    2520 
    2521     DOCU: Added concept for new construct Filling.
    2522 
    2523 commit 9e1d01415f93be121370a5079d969cb2451872f0
    2524 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2525 Date:   Wed Mar 21 10:34:00 2012 +0100
    2526 
    2527     Added CopyAtoms structure.
    2528    
    2529     - this creates a copy of a vector of atoms with as much depth as desired by
    2530       the user.
    2531     - this is a hierarchy of functors that each add additional functionality such
    2532       as also re-creating the bonds, ...
    2533 
    2534 commit c67ff9c421296109fd402e1c2e1890d090d2777f
    2535 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2536 Date:   Wed Mar 21 12:56:06 2012 +0100
    2537 
    2538     Added molecule::getBoundingShape() and unit test MoleculeUnitTest on it.
    2539    
    2540     - We now simply have a function to get a sphere as a suitable bounding shape
    2541       which allows easy construction of a new cluster.
    2542 
    2543 commit 8e1f9015fa26331d074f80396b4d0f473847dc93
    2544 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2545 Date:   Wed Mar 21 12:41:02 2012 +0100
    2546 
    2547     molecule uses AtomIdSet now, rename getAtoms -> getAtomIds().
    2548    
    2549     - molecule now relies on AtomIdSet functions, only insert() and erase() have
    2550       own functionality to set the molecule internal id and the atom name.
    2551     - FIX: removed MoleculeDescriptor include, added to Fragmentation and
    2552       DepthFirstSearchAnalysis.
    2553 
    2554 commit 5e65342e2c81c65880890589b38aca41fb13097c
    2555 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2556 Date:   Tue Feb 21 16:45:02 2012 +0100
    2557 
    2558     Refactored transform_iterator out of class molecule as AtomIdSet.
    2559    
    2560     - also added unit test.
    2561 
    2562 commit d927abb3d77a2859e44f0802e7b32cf4c5385ec6
    2563 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2564 Date:   Thu Mar 22 18:39:02 2012 +0100
    2565 
    2566     Renamed AtomByShape -> AtomsByShape and speedup due to LinkedCell usage.
    2567    
    2568     - since each Shape implements Shape::getRadius() and ::getCenter(), we may use
    2569       the LinkedCell construct to obtain a smaller neighborhood faster.
    2570 
    2571 commit 3e1b7b6bbc335f8797e72e3edc99ef7639f3b319
    2572 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2573 Date:   Tue Mar 27 15:27:22 2012 +0200
    2574 
    2575     Added regression test on select-atoms-inside-sphere with a small radius.
    2576    
    2577     - this is to test a subsequent implementation using LinkedCell and whther it
    2578       is faster.
    2579 
    2580 commit 5a8d6181d9ecac92ad0fd935c5788630721f55b0
    2581 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2582 Date:   Thu Jan 19 01:55:04 2012 +0100
    2583 
    2584     Added new function to all Shape: getHomogeneousPointsInVolume().
    2585    
    2586     - basically it is not implemented except for ShapeOps, yet.
    2587     - there is an initial unit test Shape_HomogeneousPointsUnitTest.
    2588 
    2589 commit 6acc2f3a1b46ec7dee426fa502fd350592a2d3b5
    2590 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2591 Date:   Wed Jan 18 21:17:24 2012 +0100
    2592 
    2593     Added getCenter() and getRadius to all Shapes.
    2594    
    2595     - also extended unit test.
    2596     - Added test functions to ShapeOpsUnitTest.
    2597 
    2598 commit 84721b64723f4546ae9f3f1785703ef9fc47d7ed
    2599 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2600 Date:   Wed Jan 18 21:47:29 2012 +0100
    2601 
    2602     Added new unit test ShapeOpsUnitTest, testing all ShapeOps.
    2603    
    2604     - BUGFIX: Stretch_impl() cstor had 1/... not 1./... for reciFactors.
    2605 
    2606 commit 571d048445007f27e1ef0c620af6a034eacacef7
    2607 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2608 Date:   Wed Jan 18 21:25:30 2012 +0100
    2609 
    2610     Renamed ShapeUnitTest -> BaseShapesUnitTest.
    2611 
    2612 commit 735940a1f921b67951e76dc118fcdac077fea6ab
    2613 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2614 Date:   Wed Jan 18 21:15:48 2012 +0100
    2615 
    2616     FIX: Made practically all Shape... member functions const.
    2617    
    2618     - Shape: isInside(), isOnSurface(), getNormal(), getLineIntersections()
    2619     - ShapeOps: translateIn(), translateOut(), translateOutNormal(), isInside().
    2620 
    2621 commit b92e4abd2c9d2269cf58be33cf7cd809f3e304bd
    2622 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2623 Date:   Wed Jan 18 01:21:51 2012 +0100
    2624 
    2625     Shape identify themselves via an enumerated Type.
    2626    
    2627     - this is required lateron for preparing Mesh class out of a given Shape.
    2628 
    2629 commit 6a7fcbb3e0bb0faf7b7f53598e63aac469a4434d
    2630 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2631 Date:   Thu Mar 15 14:16:21 2012 +0100
    2632 
    2633     FIX: Rewrote BoundaryTriangleSet::GetClosestPointInsideTriangle().
    2634    
    2635     - was broken before, see failing unit test, as it returned points not inside
    2636       the triangle (however on the plane). Now, we rely on getClosestPoint of
    2637       Space and derived classes.
    2638     - TESTFIX: Removed Tesselation_BoundaryTriangleUnitTest from XFAIL.
    2639 
    2640 commit c27ce78e851407f0f868250263487f54ca132cde
    2641 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2642 Date:   Thu Mar 15 14:10:31 2012 +0100
    2643 
    2644     BUG: Added another specific case to Tesselation_BoundaryTriangleUnitTest.
    2645    
    2646     - test case is again from larger filling example.
    2647     - Note that this fails with current implementation of ::GetClosestPointInsideTriangle().
    2648     - TESTFIX: Marked test as XFAIL.
    2649 
    2650 commit 6dc3fe8a7a2543b61c47087c39d807556f435119
    2651 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2652 Date:   Wed Mar 14 21:36:47 2012 +0100
    2653 
    2654     Enhanced Tesselation_BoundaryTriangleUnitTest by check on ::GetClosestPointInsideTriangle().
    2655    
    2656     - checking on rotated triangle as well.
    2657 
    2658 commit 70a0bab4c416abe9213d25fb8105b8fec94a70e9
    2659 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2660 Date:   Thu Mar 15 14:50:00 2012 +0100
    2661 
    2662     FIX: LINALG_MYEPSILON is too high for certain tesselation operations such as in triangleinsectionlist.
    2663    
    2664     - LINALG_MYEPSILON ist now numeric_limits<double>*1.e+4.
    2665     - TESTFIX: This fixes failing test in Tesselation_BoundaryTriangleUnitTest.
    2666 
    2667 commit 03a713a76a3c824e6837e1d3899ef50841b38fbe
    2668 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2669 Date:   Thu Mar 15 14:49:06 2012 +0100
    2670 
    2671     BUG: Added failing test case to Tesselation_BoundaryTriangleUnitTest.
    2672    
    2673     - test case is from larger filling example.
    2674 
    2675 commit 471dece7cc1b45cf20a25bfe33c2a44ddf8b481f
    2676 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2677 Date:   Wed Mar 14 21:22:42 2012 +0100
    2678 
    2679     Added BoundaryTriangleSet::IsInsideTriangle().
    2680    
    2681     - this is preparatory for finding a bug in GetClosestPointInsideTriangle().
    2682     - refactored in-test triangle creation into distinct function.
    2683     - added extensive unit test on this function.
    2684 
    2685 commit 368207d37f01a6b6632259661bf2b1af61b2c0e5
    2686 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2687 Date:   Wed Mar 14 18:53:59 2012 +0100
    2688 
    2689     FIX: Incorporated special case affecting TriangleIntersectionList::IsInside().
    2690    
    2691     - If the closest points happens to be a TesselPoint of the boundary, all of its
    2692       triangle's SKPs with the intersection-point vector have to be checked. As the
    2693       point is only inside, if all of them are negative.
    2694     - TriangleIntersectionList DistannceList is now a multimap, to allow for
    2695       multiple triangles at the same distance.
    2696     - Now TriangleIntersectionList::GetIteratortoSmallestDistance() goes through
    2697       all entries at the same smallest distance and returns the first whose SKP is
    2698       positive, otherwise the first.
    2699     - TESTFIX: This fixes failing Tesselation_InsideOutsideUnitTest, hence removed
    2700       it from XFAIL_TESTs.
    2701 
    2702 commit 53bc04e0e0eb7869d30d001ac78ff41913c780fc
    2703 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2704 Date:   Wed Mar 14 15:16:40 2012 +0100
    2705 
    2706     BUG: Added spherical and non-convex test cases to Tesselation_InsideOutsideUnitTest.
    2707    
    2708     - we now test not only on cube, but also on sphere and a non-convex shape.
    2709     - creation is generalized to allow for different shapes, also we use extension
    2710       of VectorSet to allow for transformations.
    2711     - TESTFIX: Added Tesselation_InOutsideUnitTestto XFAILs. Merge with enhancement
    2712       of the test.
    2713 
    2714 commit f6ad4dcceb2ec138a73ad4dea9d2a998a5e21a06
    2715 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2716 Date:   Wed Mar 14 17:14:03 2012 +0100
    2717 
    2718     Added copy cstor from Set to VectorSet and VectorSet::transform().
    2719    
    2720     - VectorSet::transform() required that Vector.hpp did not contain using
    2721       namespace anymore.
    2722     - Copy cstor allows to create from e.g. a std::vector<Vector> a VectorSet and
    2723       then use the functions contained.
    2724     - added unit tests on both.
    2725 
    2726 commit 418b5e0fc8fe4887a7a0b6cf5a74cd0a7c5e80d7
    2727 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2728 Date:   Wed Mar 14 17:18:30 2012 +0100
    2729 
    2730     Added verbosity to some tesselation functions.
    2731    
    2732     - added exception catch to Tesselation::FindStartingTriangle().
    2733     - also added verbosity to TriangleIntersectionList::IsInside().
    2734 
    2735 commit cc21cdf3ae7333553452e11b90d3c2b214c166ea
    2736 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2737 Date:   Mon Jan 30 12:09:06 2012 +0100
    2738 
    2739     Added Tesselation::operator() that performs a tesselation on a given IPointCloud.
    2740    
    2741     - also changed unit tests TesselationUnitTest and
    2742       Tesselation_InsideOutSideUnitTest to use the new function in setUp().
    2743 
    2744 commit bdf6c8a7439f52e0c190c2ba42725d8be969436a
    2745 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2746 Date:   Mon Jan 30 12:08:46 2012 +0100
    2747 
    2748     Added getter for surface area to class Tesselation.
    2749 
    2750 commit ee0032c6a09dfcf7548908b02426be6ecf812b72
    2751 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2752 Date:   Mon Jan 30 10:33:06 2012 +0100
    2753 
    2754     Extracted VolumeOfConvexEnvelope() from boundary and placed into class Tesselation.
    2755    
    2756     - parameter config replaced by boolean IsAngstroem.
    2757 
    2758 commit 64b197aba26bbb0356392272af6cee97e1086726
    2759 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2760 Date:   Mon Jan 30 10:28:21 2012 +0100
    2761 
    2762     Added getArea() function to BoundaryTriangleSet.
    2763    
    2764     - this is taken from boundary.cpp's VolumeOfConvexEnvelope().
    2765 
    2766 commit 12c4cb0ce0eba7e7215be478cf3ddd00eae6f263
    2767 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2768 Date:   Thu Mar 22 18:37:28 2012 +0100
    2769 
    2770     FIX: MoleculeOrderDescriptor was not working correctly.
    2771    
    2772     - added MoleculeOrderTest and MoleculeNameTest to MoleculeDescriptorUnitTest.
    2773 
    2774 commit 4824045e8862d592732cdd29e95d5a0630c1e4b9
    2775 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2776 Date:   Thu Mar 22 18:37:03 2012 +0100
    2777 
    2778     FIX: forward declaration of World is unnecessary in AtomDescriptor.
    2779 
    2780 commit 05a8856950a70f7c6632778b990c57698560ee72
    2781 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2782 Date:   Wed Mar 21 10:31:25 2012 +0100
    2783 
    2784     FIX: BondedParticle::addBond returns * const not const *.
    2785    
    2786     - return a non-const ref such that we may modify it but prevent the use from
    2787       deleting the instance.
    2788 
    2789 commit 46c832a58fdb69c0a30cc872cc301d1fb049c935
    2790 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2791 Date:   Wed Mar 21 10:28:51 2012 +0100
    2792 
    2793     FIX: PairCorrelation calculated max_distance in Box wrongly.
    2794    
    2795     - mistook Minv for M in AnalysisPairCorrelationAction::performCall().
    2796 
    2797 commit 4d2b33da0f46516edd4b645ae0897eeb664c36fe
    2798 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2799 Date:   Mon Mar 19 17:42:39 2012 +0100
    2800 
    2801     FIX: molecule does not need a periodentafel.
    2802    
    2803     - removed periodentafel param from cstor.
    2804     - removed member variable elemente
    2805     - removed AddXyzFile which was sole user of elemente.
    2806     - removed depending functions in MoleculeListClass which were all remnants from
    2807       old menu interface.
    2808 
    2809 commit 955b91eef584d31f8d9958b67d1ea39b84eb1fb7
    2810 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2811 Date:   Wed Mar 14 19:08:24 2012 +0100
    2812 
    2813     FIX: Removed using namespace std in Vector.hpp.
    2814    
    2815     - this caused some follow-up problems in other LinearAlgebra modules,
    2816       mostly stuff from iostream not having std:: prefix then.
    2817     - this also caused more of them in MoleCuilder modules, mostly due to string,
    2818       stringstream, and numeric_limits with std:: prefix.
    2819 
    2820 commit 912c40f894bf2d9d9a56e65c27810c7464564255
    2821 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2822 Date:   Thu Mar 15 18:00:53 2012 +0100
    2823 
    2824     FIX: AddEmptyBoundaryAction just returns Action::failure if there are no atoms.
    2825 
    2826 commit b49de6734c55dcbdb4d72bbde0e06445e8b5b0cc
    2827 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2828 Date:   Tue Mar 13 18:33:20 2012 +0100
    2829 
    2830     FIX: DepthFirstSearchAction still expected parameter for maximum neighbor search distance.
    2831 
    2832 commit ea0c8b2d99a7cd34a14e10739d5e97ad769403ed
    2833 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2834 Date:   Mon Feb 6 17:15:27 2012 +0100
    2835 
    2836     FIX: ParticleInfo did use ptr instead of const ref in copy cstor.
    2837    
    2838     - is only used for atom's copy cstor.
    2839 
    2840 commit c742fed20df187f0ba5075443daf8db02480de2c
    2841 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2842 Date:   Mon Feb 6 17:12:03 2012 +0100
    2843 
    2844     FIX: atom's copy cstor does not use Observer mechanism on the newly created.
    2845    
    2846     - we used setType() and setFixedIon() instead of AtomInfo copy cstor.
    2847 
    2848 commit fb4086c66a92259dff57dce2194b352aef6d0b4f
    2849 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2850 Date:   Tue Feb 21 20:01:42 2012 +0100
    2851 
    2852     Set version to 1.2.2
    2853    
    2854     - Molecuilder library is now 7:0:1.
    2855    
    2856     - Codename "Hadrian's Wall" (Erection began in 122 AD).
    2857 
    2858 commit a292f69b449c6c5bb67ebe28b692aa692bf02458
    2859 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2860 Date:   Tue Feb 21 20:19:30 2012 +0100
    2861 
    2862     DISTCHECKFIX: Forgot to add IdPool_policy.hpp to Makefile.am.
    2863 
    2864 commit e674c96fcf5679a4296d28d3c68f14356581b782
    2865 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2866 Date:   Tue Feb 21 11:23:05 2012 +0100
    2867 
    2868     FIX: Copy&paste error in tests/CodeChecks memdebug for variable ok.
    2869    
    2870     - we had all the files from MoleCuilder in here, which are not needed.
    2871 
    2872 commit a965b256ab0caa17547ae518bcde87e673b9c103
    2873 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2874 Date:   Tue Feb 21 11:21:29 2012 +0100
    2875 
    2876     Added check on present copyright disclaimer to LinearAlgebra as well.
    2877    
    2878     - fixed missing disclaimers in BoxVector.cpp, LineSegment.cpp,
    2879       LineSegmentSet.cpp, and MatrixContent.cpp.
    2880 
    2881 commit 6d608dd5c311453412d113310ff79086151fd29b
    2882 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2883 Date:   Tue Feb 21 11:11:49 2012 +0100
    2884 
    2885     COPYRIGHT: Updated all LinearAlgebra files to have copyright till 2012.
    2886 
    2887 commit 7e3065a1f91331217ec68bfc0a269a60c938a261
    2888 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2889 Date:   Mon Jan 30 09:15:07 2012 +0100
    2890 
    2891     FIX: Updated copyright in mainpage documentation of LinearAlgebra.
    2892 
    2893 commit 2a0271161126f3b47c3cd19c934d5f9e68593ecf
    2894 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2895 Date:   Wed Jan 18 19:13:52 2012 +0100
    2896 
    2897     New function Box::isValid() to be discerned from ::isInside().
    2898    
    2899     - isValid checks with and isInside without boundary conditions.
    2900     - added Box::isValid() check to LinkedCell_Model::getIndexToVector().
    2901     - TESTFIX: regression test Atoms/Add needed Ignore BCs.
    2902 
    2903 commit c96423eec2163f37cc351c88bfd115e0a0446366
    2904 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2905 Date:   Mon Jan 30 09:21:23 2012 +0100
    2906 
    2907     BUGFIX: LinkedCell_Model should use ceil, not floor for calculating array size.
    2908    
    2909     - we stumbled over it because floor(20./2.) = 9 where it should come out as 10.
    2910     - along the way: Converted some ASSERTs in LinkedCell_ModelUnitTest to
    2911       ASSERT_EQUALs.
    2912 
    2913 commit b49c5dc478bfe5d7475926f8bad84675ae3cf64b
    2914 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2915 Date:   Fri Jan 13 13:40:06 2012 +0100
    2916 
    2917     Regression test Analysis/PairCorrelation sets BC explicitly to Wrap.
    2918    
    2919     - also added check whether the bins have the right number of values.
    2920     - Note: we checked that old PairCorrelation test was based on periodic BCs as
    2921       well: H8 - O73 are 9.963629 apart, under Ignore BCs correct would be
    2922       10.07144. This is due to a wrap around on the z axis, 5.292 to 15.346.
    2923 
    2924 commit c1a9d605954042d9c86d2369f412f1ba332fb3f8
    2925 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2926 Date:   Fri Jan 13 13:39:04 2012 +0100
    2927 
    2928     Rewrote PairCorrelation() to make use of new LinkedCell construct.
    2929    
    2930     - removed PeriodicPairCorrelation() as this case is now contained.
    2931     - TESTFIX: Modified regression test Analysis/PairCorrelation-RangeTest because
    2932       with new LinkedCell the given range can now actually be heeded.
    2933 
    2934 commit 8fc1a63df8815c14148badf93b4c8d6674909443
    2935 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2936 Date:   Mon Feb 6 18:49:07 2012 +0100
    2937 
    2938     FIX: getDipole() was broken under periodic boundary conditions.
    2939    
    2940     - getDipole() now uses Box::periodicDistanceVector() to get the distance vector
    2941       corrected for periodic boundary conditions.
    2942 
    2943 commit a19b4f9e6ce8ff976b11d2cdf26e72073492ef5c
    2944 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2945 Date:   Mon Jan 9 19:14:30 2012 +0100
    2946 
    2947     Removed parameter periodic from DipoleAngularCorrelationAction.
    2948    
    2949     - is obsolete as handled directly through Box' boundary conditions.
    2950 
    2951 commit a8ae6d754f74e46c5174e011c8f6af0cfe94f719
    2952 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2953 Date:   Mon Jan 9 18:49:21 2012 +0100
    2954 
    2955     TESTFIX: Separated regression test Analysis/DipoleAngularCorrelation.
    2956    
    2957     - now parts explicitly tests whether periodic boundaries are working correctly
    2958       while the other has molecules entirely within its domain and boundary
    2959       conditions are of no importance.
    2960 
    2961 commit 153985073c9f7b358d1a5707d4a4a5d1254d01e1
    2962 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2963 Date:   Wed Jan 4 10:34:58 2012 +0100
    2964 
    2965     Rewrote CountHydrogenBridgeBonds() to use new LinkedCell construct.
    2966    
    2967     - enhanced verbosity of CheckHydrogenBridgeBondAngle() and changed parameters
    2968       to be refs not pointers.
    2969     - CountHydrogenBridgeBonds() uses LinkedCell to not go through O(N^2) molecules
    2970       but through all molecules and then through all molecules in the neighborhood
    2971       that have oxygen atoms close enough.
    2972 
    2973 commit 826e8c4cef286b7e87fd674f1ec0a8776fa20f0f
    2974 Author: Frederik Heber <heber@ins.uni-bonn.de>
    2975 Date:   Mon Feb 6 18:46:56 2012 +0100
    2976 
    2977     Introduced new LinkedCell into BondGraph.
    2978    
    2979     - new convenience functions BondGraph::getDomain(), ::getLinkedCell(),
    2980       ::getTime() to have World dependency not in header file (circular include).
    2981     - new function BondGraph::getMaxPossibleBondDistance() where one element is
    2982       given.
    2983     - dropped BondGraph::CreateAdjacency(LC_deprecated) as functionality is
    2984       better placed directly into templated version directly.
    2985     - rewrote templated BondGraph::CreateAdjacency that now makes use of
    2986       LinkedCell_View::getAllNeighbours().
    2987     - FIX: BondGraph::CreateAdjacency() created bonds for atom's fathers, not for
    2988       atoms.
    2989     - TESTFIX: New LinkedCell construct in BondGraph::CreateAdjacency changes order
    2990       of ids in adjacency file:
    2991      - ids are now in order (unlike to before), hence we simply use the new file in
    2992        the regression test.
    2993      - this is actually a fault of the test, not of the code as order of ids is not
    2994        guaranteed in the file anyway.
    2995     - TESTFIX: Removed XFAILs from regression test Graph/SubgraphDissection-
    2996       BoundaryCondition.
    2997     - TESTFIX: CountBondsUnitTest use two molecules that are on top of each other:
    2998       This causes mess with changed LinkedCell BondGraph recognition, and we even
    2999       actually need just one molecule for the testing.
    3000 
    3001 commit cbcda6ea79e2f05666c81d9534d4cd710a3125e8
    3002 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3003 Date:   Mon Feb 6 18:51:30 2012 +0100
    3004 
    3005     BUGFIX: LinkedCell_View::getPointsInsideSphere() did not adhere to boundary conditions.
    3006    
    3007     - new function LinkedCell_Model::getDomain() such that view may use the same
    3008       domain and use it when checking distances.
    3009 
    3010 commit 5d41b3feb054c87926fecd711b44959b8a632ccd
    3011 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3012 Date:   Mon Feb 6 18:44:02 2012 +0100
    3013 
    3014     FIX: LinkedCell_Model::getStep() uses Box::WrapPeriodically() on given position.
    3015    
    3016     - this is to "ensure" -- given correct BCs -- that index is inside domain.
    3017     - we still assert the index lateron (in case of Ignore BCs).
    3018 
    3019 commit ce81e7643f69b7e32a3ea7b3aea0503833075ba1
    3020 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3021 Date:   Thu Jan 5 19:30:28 2012 +0100
    3022 
    3023     LinkedCell_Controller now signs on to Channel WorldTime::TimeChanged.
    3024    
    3025     - we need to know when WorldTime changes because then all atomic positions
    3026       change. we might use some more elaborate method here but for the moment we
    3027       just use the method which is also employed in case of Box::MatrixChanged.
    3028     - renamed LinkedCell_Controller::updateModelsForNewBoxMatrix() ->
    3029       ::updateModels().
    3030 
    3031 commit 5e2864ecffe7aea73c3db2304360ea66fcf192a5
    3032 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3033 Date:   Thu Jan 5 19:27:59 2012 +0100
    3034 
    3035     FIX: LinkedCell_Controller now signs on to Channel Box::MatrixChanged.
    3036    
    3037     - before we just had this in the test but not in _Controller's cstor.
    3038 
    3039 commit 429069f15983a452a937921c8d7a1db8e0fda0fc
    3040 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3041 Date:   Fri Jan 6 10:43:05 2012 +0100
    3042 
    3043     FIX: Forgot that LinkedCell_Controller::updateModels() should also erase Models not viewed currently.
    3044    
    3045     - these models are erased after new ones are created to enforce different
    3046       memory addresses upon which unit test check is based.
    3047 
    3048 commit 040a5c4933743745a8fee76949b4470d6e94a33a
    3049 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3050 Date:   Thu Jan 5 19:26:00 2012 +0100
    3051 
    3052     WorldTime is now Observable.
    3053    
    3054     - this is required for the LinkedCell_Controller. It has to know when its
    3055       models have to be re-initialized because all atoms changed positions.
    3056     - WorldTime::setTime() is no more static and his caused changes in all classes
    3057       that are friend and may use this private function.
    3058 
    3059 commit 38c5d1ddf8e15d850c38f402b8751d3f9e227692
    3060 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3061 Date:   Thu Jan 5 17:51:58 2012 +0100
    3062 
    3063     Documentation update on how to use the new linked cell construct.
    3064 
    3065 commit 712886d5dd98ceec6ac7c744cfb1e679619b80cc
    3066 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3067 Date:   Fri Jan 13 13:27:46 2012 +0100
    3068 
    3069     Renamed Box::WrapPeriodically -> ::enforceBoundaryConditions.
    3070 
    3071 commit 7b9fe02f188ea36f9ddfa24ea27ca27e3b422059
    3072 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3073 Date:   Mon Feb 6 18:48:18 2012 +0100
    3074 
    3075     New function Box::periodicDistanceVector(), using VectorSet::minDistance().
    3076 
    3077 commit c52e08e21874bd6974839eb406e14ffef59a6a4f
    3078 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3079 Date:   Tue Jan 3 12:22:24 2012 +0100
    3080 
    3081     Added new action SetBoundaryConditionsAction.
    3082    
    3083     - Added new getConditionNames and setConditions(string) to Box to ensure that
    3084       Observer mechanism is called when conditions are changed.
    3085     - added two regression tests:
    3086      - Domain/SetBoundaryConditions tests the action itself.
    3087      - Graph/SubgraphDissection-BoundaryConditions tests whether the boundary
    3088        conditions are used in the subgraph dissection.
    3089        Set to XFAIL for now as BondGraph does not yet use BCs.
    3090 
    3091 commit d66cb7b6eecf9fdb226257ff28ed46a6eeec9270
    3092 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3093 Date:   Mon Jan 2 20:04:42 2012 +0100
    3094 
    3095     Replaced Conditions_t by BoundaryConditions::BCContainer in class Box.
    3096 
    3097 commit dd067a91bd5ce81d3092ebda02eb4e1f20978a8f
    3098 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3099 Date:   Mon Jan 2 19:49:32 2012 +0100
    3100 
    3101     Add new namespace BoundaryConditions with class BCContainer.
    3102    
    3103     - BCContainer is a convenience wrapper for the enumeration of the boundary
    3104       conditions that allows easy setting/getting via strings.
    3105 
    3106 commit e230757d8b8f73c8889eb565c9aa5a20052cff43
    3107 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3108 Date:   Fri Jan 6 14:57:51 2012 +0100
    3109 
    3110     Added new VectorSetUnitTest.
    3111 
    3112 commit 537dc4be54b76cb25e5cefbf22cab5f1cd58bf6e
    3113 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3114 Date:   Fri Jan 6 15:13:20 2012 +0100
    3115 
    3116     Added operator<(Vector&,Vector&) to allow for comparison based on their length.
    3117    
    3118     - this is to be used in a lambda expression in VectorSet::minDistance().
    3119 
    3120 commit 8c6d18960b1a413406b9d76e087298e7737bb7f3
    3121 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3122 Date:   Fri Jan 6 15:32:29 2012 +0100
    3123 
    3124     Added VectorSet::minDistance() to return minimum distance under (periodic) boundary conditions.
    3125 
    3126 commit 44f53e999bbb8a07d6654248774d7a3bb802ecaa
    3127 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3128 Date:   Thu Jan 5 17:37:05 2012 +0100
    3129 
    3130     Made various verbosities a lot less annoying.
    3131    
    3132     - LinkedCell_Model does not notify about all updates on default.
    3133     - PdbParser notes currently parsed time step.
    3134     - WorldTime tells about new time step set.
    3135     - MatrixContainer gives its details at level 3 not 0 or 1.
    3136     - BondGraph does not tell about each look at its bond length table.
    3137     - getDipole() does not shout out each dipole vector.
    3138 
    3139 commit 98c4284495a104d0620d285c47bc7aa2162c3b04
    3140 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3141 Date:   Thu Jan 12 15:23:39 2012 +0100
    3142 
    3143     FormatParserStorage has now two convenience functions ::load().
    3144    
    3145     - this way one doesn't have to find out the suffix anymore.
    3146 
    3147 commit 3dfd9c9df000029ac47c31db715faaada2d853c9
    3148 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3149 Date:   Thu Jan 12 09:22:20 2012 +0100
    3150 
    3151     BUGFIX: PdbParser stumbles over CONECT because it reads space-separated token, not substring.
    3152    
    3153     - FormatParser< pdb >::getToken has to work on substr(0,6) only to read the
    3154       type of entry field-wise.
    3155     - added test to Parser/PdbParser load-various.
    3156     - Small fix to ::load(), prints now only parsed atoms, not all.
    3157     - This fixes ticket #160.
    3158 
    3159 commit ea7a509ec47cbadf7eaf2c826d1b74447ab8b25d
    3160 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3161 Date:   Fri Jan 6 18:53:45 2012 +0100
    3162 
    3163     Rewrote some of the descriptors such that they access World's AtomSet and MoleculeSet directly.
    3164    
    3165     - this is the way they are intended. They are friends of the World and may
    3166       use the sets directly without causing update()s although they return non-
    3167       const references. This is because here we need not be careful as no atoms
    3168       are destroyed or added.
    3169     - In most cases we had implemented both predicate() and new find() and findAll()
    3170       that were not necessary (default find..() would do the job better).
    3171     - This concerned: AtomOfMoleculeSelectionDescriptor, MoleculeNameDescriptor,
    3172       MoleculeOfAtomSelectionDescriptor, MoleculeOrderDescriptor, and
    3173       MoleculePtrDescriptor.
    3174     - We left the specific implementation for AtomIdDescriptor and
    3175       MoleculeIdDescriptor as they directly access World's Atom- and MoleculeSet
    3176       and may thus find ids significantly faster.
    3177     - NOTE: so far some tests are broken and this needs to be fixed yet.
    3178 
    3179 commit 52ed5bd5d6abfc345449328e6008a4089fc6e46d
    3180 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3181 Date:   Wed Feb 8 18:36:46 2012 +0100
    3182 
    3183     Ids handed out by molecule now start with 1.
    3184    
    3185     - this required some changes because of the shifted molecular indices,
    3186       especially in:
    3187      - BondedParticle::OutputAdjacency(): removed +1
    3188      - BondedParticle::OutputBonds(): same
    3189      - Fragmentation::StoreFragmentFromKeySet(): increased array size
    3190      - Fragmentation::CreateMappingLabelsToConfigSequence() : same
    3191      - CheckAgainstAdjacencyFile::ParseInExternalMap(): decreased index by one.
    3192        This is actually broken and only working if World's and molecular indices
    3193        coincide.
    3194      - molecule::CreateFatherLookupTable(): increased array size
    3195     - TESTFIX: CheckAgainstAdjacencyFileUnitTest had its internal file strings'
    3196       indices decreased by one.
    3197 
    3198 commit cdaae6b93f20964a102f00677c3a056b910a1054
    3199 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3200 Date:   Thu Feb 16 14:38:53 2012 +0100
    3201 
    3202     FIX: BondedParticle::OutputAdjacency() and ::OutputBonds() give uncorrected ids.
    3203    
    3204     - tremolo's Id starts at 1, internal (molecular) ones however start at 0. This
    3205       causes undesired behavior when parsing .dbond files.
    3206     - TESTFIX: changed ids in .dbond and .adj files of regression tests
    3207       Molecules/BondFile, Molecules/SaveAdjacency, and Molecules/SaveBonds.
    3208 
    3209 commit 560bbe654dd2553da2da442b262caa8c19fde130
    3210 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3211 Date:   Fri Jan 6 17:49:11 2012 +0100
    3212 
    3213     AtomicInfo now also (re)stores ParticleInfo::Nr, molecule has own IdPool.
    3214    
    3215     - molecule now also has an internal IdPool to be able to hand out unique ids,
    3216       according to uniqueId policy.
    3217     - new functions: molecule::changeAtomNr(), molecule::setAtomName()
    3218     - molecule::erase() and ::insert() release and set the id (and the name).
    3219     - molecule::setAtomName() uses getNr() with id increased by one.
    3220     - AtomicInfo stores and sets ParticleInfo::Nr.
    3221     - atom::changeNr() is similar to changeId() only for the molecule.
    3222     - molecule::AddAtom() does not set the name anymore, is done by ::insert().
    3223     - simplified molecule::doCountAtoms() a lot, no more naming of atoms.
    3224     - SPEEDUP: This speeds up the GUI already a lot.
    3225     - TESTFIX: changed regression test Tesselation/BigNonConvex due to different
    3226       ordering of node ids (due to above), surface is still the same (checked).
    3227 
    3228 commit ac5c3653eb403b7c1ec8325a5e8c423473bf53fb
    3229 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3230 Date:   Fri Jan 6 17:48:47 2012 +0100
    3231 
    3232     FIX: Forgot to remove now unused idpool functions, were replaced by IdPool.
    3233 
    3234 commit 7d46e36d95b842d1a320f748f59b074a84e603c0
    3235 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3236 Date:   Wed Feb 8 11:51:11 2012 +0100
    3237 
    3238     MEMFIX: RandomNumberEngine_Encapsulation<T>::clone() did leak params allocated in getParameterSet().
    3239 
    3240 commit b97a60ab241f2ecfff0d2258ecdd13f84f8a4f98
    3241 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3242 Date:   Fri Jan 6 15:37:36 2012 +0100
    3243 
    3244     Modified IdPool implementation to give either unique or continuous ids.
    3245    
    3246     - added two class uniqueId and continuousId that get the id type via a template
    3247       and contain a getNextId_impl(). Also, contains typedef is is_IdPool_trait:
    3248      - uniqueId always return a greater id.
    3249      - continuousId implements the old way.
    3250     - IdPool is now based on two templates, the second is the template that is
    3251       inherited and its contained function used in getNextId().
    3252     - for atoms the id is the sole identifier for which we can guarantee
    3253       uniqueness. For molecules uniqueness does not make sense.
    3254     - updated World's documentation on its id pools.
    3255    
    3256     - TESTFIX: Filling/FillVoidWithMolecule - both changed because the order of the
    3257       ids has changed. In one case the bonding id flipped, in the other one atom
    3258       changed places in .xyz file. (Actually, it's surprising that this is the
    3259       only glitch occuring due to the changing of the id policy).
    3260 
    3261 commit 3867a77b0b871f3d876032f6535a5d1768b84cd3
    3262 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3263 Date:   Fri Jan 6 16:38:26 2012 +0100
    3264 
    3265     AtomicInfo now stores Father by id not ref.
    3266    
    3267     - this migh have caused a crash before with Remove- and UndoActins by:
    3268      - additionalAtomData pointing nowhere because the id might have changed.
    3269      - father is stored as ref and not as id. If it's its own father, the ref
    3270        is wrong.
    3271      - molecule is given as ref and not as id.
    3272     - atom::setMolecule() - NULL ref is allowed.
    3273     - AtomicInfo: stores ids and not refs, first calls changeId then assigns
    3274       father and mol (who both need updated id).
    3275 
    3276 commit 9f8b0194b9ab5a952b72799ceaf29042e6fd1c9c
    3277 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3278 Date:   Tue Feb 7 13:25:24 2012 +0100
    3279 
    3280     FIX: TremoloParser::processNeighbors() always ran through all neighbors.
    3281    
    3282     - processNeighbors() now receives a vector of atoms whose neighbors to process.
    3283 
    3284 commit 812155f3a4f2a57f31b9d8b82748c71eae962ddd
    3285 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3286 Date:   Mon Feb 6 19:35:40 2012 +0100
    3287 
    3288     TremoloParser::save() redistributes ids in a continuous manner.
    3289    
    3290     - i.e. we reset the local to global id associations, set them beforehand and
    3291       then save the set of atoms.
    3292 
    3293 commit 8bf9c67e4d413e6c7a6dda4dbcf57aab0311564a
    3294 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3295 Date:   Fri Jan 6 14:11:42 2012 +0100
    3296 
    3297     All additionalAtomData maps now have const atomId_t as key.
    3298 
    3299 commit 2ad1ec843e429f317a78f5fdd2e2b6a4926d4afb
    3300 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3301 Date:   Thu Jan 5 17:10:53 2012 +0100
    3302 
    3303     Rewrite of how GLWorldScene and subsidiaries get notified of changed bonds and atoms.
    3304    
    3305     - we have made the connections from the real atoms and bonds to the nodes
    3306       within GLWorldScene a lot easier. Also this fixes a crash when Subgraph-
    3307       Dissection is called.
    3308     - renamed BondedParticle::BondsChanged -> ::BondsAdded.
    3309     - GLMoleculeObject_bond now observes its associated bond.
    3310     - added documentation on how the mechanism works in qt-gui.dox.
    3311 
    3312 commit 3f7587934b86878ebafb86295528325d0314db80
    3313 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3314 Date:   Thu Jan 5 12:55:09 2012 +0100
    3315 
    3316     Made bond also an Observable.
    3317    
    3318     - for the moment this is not used.
    3319 
    3320 commit 74ec1fa772ca1ade3fa853bdf3476c4f6dc24010
    3321 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3322 Date:   Thu Jan 5 12:54:22 2012 +0100
    3323 
    3324     BUGFIX: Added new channel BondDegreeChanged to AtomObservable, added some BondsChanged notifications.
    3325    
    3326     - this should fix crashing of the GUI when SubgraphDissection is called.
    3327 
    3328 commit bb645ca228f3668686bf3d842e57a8a6d2b85e4d
    3329 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3330 Date:   Fri Feb 17 10:55:58 2012 +0100
    3331 
    3332     TESTFIX: Removed checking of current year in copyright disclaimer.
    3333    
    3334     - this will only cause trouble in the future, although it helps against
    3335       laziness.
    3336 
    3337 commit d08ab389fd2efbb426bd7cda87ea43a90ce9d3f6
    3338 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3339 Date:   Wed Dec 28 18:57:12 2011 +0100
    3340 
    3341     Set version to 1.2.1
    3342    
    3343     - Molecuilder library is now 7:0:0.
    3344     - LinearAlgebra library is now 3:1:0 and its API is 1.0.4.
    3345    
    3346     - Codename "Injection" (it is one-to-one and probably onto :).
    3347 
    3348 commit c0e28c07a3ae4cbff46cf20696b4026104ce4e92
    3349 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3350 Date:   Wed Jan 4 19:34:22 2012 +0100
    3351 
    3352     FIX: One could not load another pdb file due to local ids messing up.
    3353    
    3354     - We enhanced FormatParser_common now contains two maps to go from local to
    3355       global and back again. Thi is necessary, as ids in a file only make sense
    3356       within that file. We added the following functions: resetIdAssociations(),
    3357       associateLocaltoGlobalId(), getGlobalId(), getLocalId().
    3358     - adapted TremoloParser and PdbParser because they are the only formats that
    3359       also contain bond information and where the associations are needed to
    3360       translate the local connections into global ones.
    3361     - removed SerialSet entirely from PdbParser, is replaced by new construct,
    3362       in similar manner AtomIdMap for TremoloParser.
    3363     - TEST: Added regression tests for all Parser to check for loading twice the
    3364       same file.
    3365 
    3366 commit fbbcde7f3c99a729f52b053aaf1cbb896e703adb
    3367 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3368 Date:   Tue Jan 3 18:21:33 2012 +0100
    3369 
    3370     FIX: TestRunner is now compiled based on AM_CONDITIONAL set by HAVE_ECUT.
    3371 
    3372 commit 9fd196a18e0a47b5eb4d5d4d98793332ac09cad9
    3373 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3374 Date:   Mon Jan 2 17:50:03 2012 +0100
    3375 
    3376     Added bash_completion file.
    3377    
    3378     - use as . utils/Bash/bash_completion, installed in bin folder.
    3379     - moved all python files in utils into subfolder Python therein.
    3380     - We scan molecuilder's help output for the present actions and return in
    3381       COMPREPLY, fully capable of giving option to last action and all available
    3382       actions in any other case.
    3383     - we expand files if no "--" is given.
    3384     - TESTFIX: Python/BoxMaker needs to call boxmaker.py from utils/Python.
    3385 
    3386 commit b40080ff7038dadce974501ba0921c902ea739e0
    3387 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3388 Date:   Thu Jan 5 12:41:14 2012 +0100
    3389 
    3390     FIX: Forgot to add m4/ax_molecuilder.m4.
    3391 
    3392 commit e65b264429729ac3e8a39b1cff4e0c3da7a1c92a
    3393 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3394 Date:   Wed Jan 4 12:26:47 2012 +0100
    3395 
    3396     FIX: LinkedCell_Model::getNeighborhoodBounds() had wrong relative upper corner on Ignore BC.
    3397 
    3398 commit c9c3c991eb4ad65ee03c9f8497e34b705c0a3478
    3399 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3400 Date:   Wed Jan 4 11:35:18 2012 +0100
    3401 
    3402     MEMFIX: Forgot to purge AtomObserver instance.
    3403 
    3404 commit 5972c38660ce8bfe4abe05aadd3b6670d0ca781c
    3405 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3406 Date:   Wed Jan 4 11:32:35 2012 +0100
    3407 
    3408     MEMFIX: LinkedCell_Model did not release N (Linked cell array).
    3409 
    3410 commit b6f5bca2a8b01f1be50e7ea743e1abeb08e08178
    3411 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3412 Date:   Wed Jan 4 11:31:06 2012 +0100
    3413 
    3414     FIX: Fixes to idpool implementation that did not initialize all its member variables.
    3415 
    3416 commit 7111d4b38b87e5d3ee3f3bc507eb41c049e56243
    3417 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3418 Date:   Tue Jan 3 18:22:09 2012 +0100
    3419 
    3420     FIX: LinkedCell_Model::setPartition() did not assure Dimensions is integer.
    3421    
    3422     - we now assert that LinkedCell_Model::Dimensions is symmetric, diagonal.
    3423     - FIX: its components are integer by slightly enlarging the edge length. This
    3424       is required to correctly placed nodes inside cells.
    3425 
    3426 commit c9cafae3a5f701f6ad7fcb9c37a3ae80bc41ffcf
    3427 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3428 Date:   Wed Jan 4 10:39:24 2012 +0100
    3429 
    3430     Some warning fixes.
    3431    
    3432     comparison signed/unsigned:
    3433      - molecule::FillBondStructureFromReference()
    3434 
    3435 commit b75386102c01f78fed1672b79dacce138116fcf9
    3436 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3437 Date:   Tue Jan 3 17:22:59 2012 +0100
    3438 
    3439     Verbosity fixes to LinkedCell_Model and _View.
    3440 
    3441 commit 57a77028e5559bee9b5052cdd1e9b9a70c695bd2
    3442 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3443 Date:   Wed Jan 4 14:26:47 2012 +0100
    3444 
    3445     Corrected verbosity levels of GLMoleculeObject..., GLWorldScene, and ..View.
    3446    
    3447     - placede messages from Observer's to observerLog.
    3448 
    3449 commit 0aa122d5f3137de21e283fdaa583b526d33a6540
    3450 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3451 Date:   Mon Jan 2 14:57:02 2012 +0100
    3452 
    3453     Updated all source files's copyright note to current year 2012.
    3454 
    3455 commit e215c133f85e17388f702f7bfcad150b1acfb8d9
    3456 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3457 Date:   Wed Dec 28 18:05:04 2011 +0100
    3458 
    3459     DISTCHECKFIX: Forgot to add LinkedCell header files to some targets.
    3460    
    3461     - Forgot to add LinkedCell/types.hpp to target in Makefile.am.
    3462     - Forgot to to add LinkedCell/unittests/defs.hpp to targets in akefile.am.
    3463 
    3464 commit c48a51f43b8d3a851064d11f8090962cd66b3cbc
    3465 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3466 Date:   Wed Dec 28 17:50:10 2011 +0100
    3467 
    3468     DISTCHECKFIX: Forgot to remove folder Python from tests/regression/Makefile.am.
    3469 
    3470 commit 7c019170530b54da9d757a092296cc5d2bb6efde
    3471 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3472 Date:   Wed Dec 28 15:57:08 2011 +0100
    3473 
    3474     We now require CodePatterns 1.2.1.
    3475    
    3476     - this is to incorporate the Chronos clock->seconds conversion fix.
    3477     - Bug report by Jan Hamaekers.
    3478 
    3479 commit 69459d564dbe1fbe4f211888bdb22d63faa755b5
    3480 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3481 Date:   Thu Dec 22 10:33:28 2011 +0100
    3482 
    3483     Added unit test on changing box to LinkedCell_ControllerUnitTest.
    3484    
    3485     - Added setM() to ObserverBoxStub, needed for updateBoxTest().
    3486 
    3487 commit 2ced6b357227c511512210e4f9802519b5ff478c
    3488 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3489 Date:   Thu Dec 22 10:26:45 2011 +0100
    3490 
    3491     Replaced Molecuilder library dependencies by stubs in LinkedCell_...UnitTests.
    3492    
    3493     - Implemented stubs for World and AtomObserver.
    3494     - Renamed BoxStub to ObserverBoxStub.
    3495     - Enhanced stub for TesselPoint, defines its own class to get around all those
    3496       virtual inheritances.
    3497     - LinkedCell_ControllerUnitTest uses molecuilderLinkedCell lib but no other,
    3498       everything else is stubbed.
    3499     - LinkedCellUnitTest is now the same.
    3500 
    3501 commit b1c5ddb6c2dc1792b43fa42d24a01b1fcdb3fe98
    3502 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3503 Date:   Thu Dec 22 11:58:21 2011 +0100
    3504 
    3505     FIX: Made TesselPoint's dstor virtual.
    3506    
    3507     - this caused undefined reference to typeinfo for TesselPoint errors when
    3508       trying to create a stub for the class.
    3509 
    3510 commit cbdcb10f6cf4dbc5be84a8c1cd660b931affa17f
    3511 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3512 Date:   Thu Dec 22 09:59:40 2011 +0100
    3513 
    3514     Added LinkedCell_View_ModelWrapper to safely keep LinkedCell_Model out of _Views' grasp.
    3515    
    3516     - This is the only way to keep _View away from its own pointer without
    3517       declaring it "const" which prevents _Controller from re-instantiating the
    3518       model after the Box has changed.
    3519     - Added logging to LinkedCell_Controller::updateModelsForNewBoxMatrix().
    3520     - Switched order of delete/create in updateModelsForNewBoxMatrix(). This is
    3521       necessary such that newref is not created on top of oldref and hence unit
    3522       test may fail.
    3523 
    3524 commit 4a816966425096ec9bd0a17aa70a3dbfe04c7665
    3525 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3526 Date:   Wed Dec 21 19:03:15 2011 +0100
    3527 
    3528     LinkedCell_Controller is now an Observer.
    3529    
    3530     - new function updateModelsForNewBoxMatrix() which updates the models in all
    3531       active views.
    3532     - so far we are hampered by const LinkedCell_Model& ref.
    3533 
    3534 commit 99f4ee808622819ff9de4956da3988021e56d66a
    3535 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3536 Date:   Wed Dec 21 19:02:07 2011 +0100
    3537 
    3538     Class Box is now also an Observable.
    3539    
    3540     - it has two channels to notify about changes in its Matrix and boundary
    3541       conditions.
    3542 
    3543 commit 9ed706d2228d2edefef36a2b55322f6421480603
    3544 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3545 Date:   Wed Dec 21 19:00:53 2011 +0100
    3546 
    3547     Implemented counting of active LinkedCell_View instances in static map.
    3548    
    3549     - this will allow us to exchange the models when the domain changes without the
    3550       user noticing.
    3551 
    3552 commit c29915751600543b3ce3bc771ea4eb5b2b9ab924
    3553 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3554 Date:   Wed Dec 21 18:59:27 2011 +0100
    3555 
    3556     LinkedCell_Model cstors are now private but LinkedCell_Controller is friend.
    3557    
    3558     - this way only LinkedCell_Controller can construct new models.
    3559 
    3560 commit 455043c33527649a64f47812a06348673a15ad57
    3561 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3562 Date:   Wed Dec 21 18:57:51 2011 +0100
    3563 
    3564     Changed MapEdgelengthModel to contain const ref as value.
    3565    
    3566     - LinkedCell_Controller::insertNewModel() gets const ref as param now.
    3567 
    3568 commit 54f3d11a82854765641343eac08c593e5d58b8ad
    3569 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3570 Date:   Wed Dec 21 11:35:41 2011 +0100
    3571 
    3572     Removed short-wiring of updates as they are now passed through LinkedCellArrayCache.
    3573    
    3574     - replaced ..._internal() calls by Changes->addUpdate(..) in LinkedCell_Model.
    3575     - added some verbosity to allow for following the chain of updates.
    3576     - new unit test function lazyUpdatesTest() in LinkedCell_ModelTest.
    3577     - TESTFIX: nodeTest() and insertPointCloudTest() needed a forced update at the
    3578       right places due to the cached nature now as they access internals bypassing
    3579       the automatic updates.
    3580 
    3581 commit 8c318650ec230fdda3b798297d3d0a0d7b7c3776
    3582 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3583 Date:   Tue Dec 20 15:28:33 2011 +0100
    3584 
    3585     Added new class LinkedCellArrayCache that performs the lazy updates on a LinkedCellArray.
    3586    
    3587     - basically, we cache all write operations and perform them first when there
    3588       is a read operation that requires an up-to-date structure.
    3589     - we cannot do this via the Cacheable pattern was there we always have a return
    3590       value of the update structure. It is currently unknown how to initialize a
    3591       cached pointer (apart from always checking for this in the update function).
    3592 
    3593 commit e776dc24d230fdf211894710f74ffba42667f5e0
    3594 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3595 Date:   Tue Dec 20 12:50:48 2011 +0100
    3596 
    3597     Added internal classes Update and changeModel to LinkedCell_Model.
    3598    
    3599     - this are not yet used.
    3600     - Update contains a single update operation associated to a node.
    3601     - changeModel contains a map of all due updates.
    3602 
    3603 commit cf6530fb17aed9982c010170c14317e052722592
    3604 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3605 Date:   Tue Dec 20 11:40:23 2011 +0100
    3606 
    3607     Implemented LinkedCell_Model::moveNode_internal().
    3608    
    3609     - updated unit test as well.
    3610 
    3611 commit a5b2b6b0760713e75c784f4ffe6c347e206b2359
    3612 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3613 Date:   Tue Dec 20 11:39:44 2011 +0100
    3614 
    3615     Simplified LinkedCell_Model::deleteNode_internal().
    3616    
    3617     - this is possbile due to making argument of update function always const.
    3618 
    3619 commit db89600810e8e7e4f9a3b70c23556f264f49cdb6
    3620 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3621 Date:   Tue Dec 20 11:25:43 2011 +0100
    3622 
    3623     Shifted functionality of adding, moving, and deleting nodes to internal functions.
    3624    
    3625     - internal functions are so far short-wired to outside.
    3626     - this is preparatory for caching changes (lazy evaluation).
    3627 
    3628 commit bbab877acee03ce45c24d618b44ae969011e5e45
    3629 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3630 Date:   Mon Dec 19 22:57:06 2011 +0100
    3631 
    3632     Added test for new descriptor AtomsWithinDistanceOf to AtomDescriptorUnitTest.
    3633    
    3634     - in AtomDescriptorTest::AtomsWithinDistanceOfTest(): ids must not necessarily
    3635       be in order, added functions that make comparison based on simple N^2 search
    3636       and helper functions.
    3637 
    3638 commit 7afb7733a1431bbb839abcfc5b1dd0d143dba39b
    3639 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3640 Date:   Mon Dec 19 19:34:15 2011 +0100
    3641 
    3642     Added AtomsWithinDistanceOf descriptor.
    3643    
    3644     - this is basically just a nice interface to LinkedCell_View which is used
    3645       internally to find the atoms.
    3646 
    3647 commit 4834f4bc1360623d2ad20e7dab653447280b63b3
    3648 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3649 Date:   Mon Dec 19 18:11:22 2011 +0100
    3650 
    3651     World now has a LinkedCell_Controller and function getLinkedCell().
    3652    
    3653     - we give World's atoms as param to LinkedCell_Controller::getView(), i.e.
    3654       obtained views from getView() now contains all atoms (and are not empty).
    3655 
    3656 commit 53d894c34a1a8ff0f2e679e04918aa717133bfd4
    3657 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3658 Date:   Mon Dec 19 22:50:54 2011 +0100
    3659 
    3660     Changed LinkedCell_Model::getNeighborhoodBounds() and LinkedCell_View::getAllNeighbors().
    3661    
    3662     - NeighborhoodBounds are now index and offset style, not two real bounds
    3663       anymore. This way we were able to get getAllNeighbors() actually working.
    3664     - getNeighborhoodBounds() was overloaded nonsense for Bounce case, it is now
    3665       much simpler: we just crop the interval at the boundary.
    3666 
    3667 commit c806430dd9192196eecf5a8e808273f583a12492
    3668 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3669 Date:   Mon Dec 19 22:49:53 2011 +0100
    3670 
    3671     LinkedCell_Controller::getView() now needs a PointCloud set.
    3672    
    3673     - this will allow the World to initialise new LinkedCell_Model, which at the
    3674       very start first need to know about all presents atoms in the World.
    3675 
    3676 commit 4459fcac9c9f1ef9ec32ea88af1da695c2b4e845
    3677 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3678 Date:   Mon Dec 19 22:38:50 2011 +0100
    3679 
    3680     Refactored typedef tripleIndex into own structure.
    3681    
    3682     - we need the struct to accomodate some helpful operators.
    3683 
    3684 commit c8f6b692b88a0dc8e4758c132ca2f8a448ac41cc
    3685 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3686 Date:   Mon Dec 19 22:48:15 2011 +0100
    3687 
    3688     Small fixes to LinkedCell_ViewUnitTest.
    3689 
    3690 commit b49568059bb63eb10a31cce9ac87e75d9a32c8e6
    3691 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3692 Date:   Mon Dec 19 19:09:49 2011 +0100
    3693 
    3694     Added new descriptor AtomOfMolecule.
    3695    
    3696     - also added new unit test function.
    3697 
    3698 commit d7853188762dba95151f1e69c42148748e218394
    3699 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3700 Date:   Mon Dec 19 18:02:23 2011 +0100
    3701 
    3702     Library LinkedCell_refactored is now contained in lib LinkedCell.
    3703 
    3704 commit 6bd7e05ae215210d42ef6cb22768847bee2ce5da
    3705 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3706 Date:   Mon Dec 19 17:46:11 2011 +0100
    3707 
    3708     Renamed old LinkedCell class to LinkedCell_deprecated.
    3709    
    3710     - this is preparatory for a smooth transition to the new implementation.
    3711     - note that class LinkedCell and namespace LinkedCell bite each other so far.
    3712 
    3713 commit f55ae56e4b38350f4245571086191b0a40f6e956
    3714 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3715 Date:   Mon Dec 19 17:18:25 2011 +0100
    3716 
    3717     Implemented LinkedCell_Model::recieveNotification().
    3718    
    3719     - i.e. it now calls addNode(), deleteNode(), and moveNode() on the appropriate
    3720       notification.
    3721 
    3722 commit 02987071e3d38c873d62de7816c0f4d69216d14c
    3723 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3724 Date:   Mon Dec 19 17:17:02 2011 +0100
    3725 
    3726     FIX: LinkedCell and LinkedCell_Model now store _const_ TesselPoint ref in their lists and maps.
    3727    
    3728     - this mainly stemmed from changing LinkedCell_Model::addNode() and is required
    3729       as World's lastChanged is a const ref (and we do not need to changed the
    3730       object itself anyway, we are only bookkeeping!).
    3731 
    3732 commit 402f2c95de22204c80eb8263dcae72f384eae68c
    3733 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3734 Date:   Mon Dec 19 17:00:11 2011 +0100
    3735 
    3736     LinkedCell_Model now signOn/Off to World and AtomObserver.
    3737 
    3738 commit 97c25501cdca20b601f0fa7b5f1e7524cf194d1e
    3739 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3740 Date:   Mon Dec 19 15:12:54 2011 +0100
    3741 
    3742     Added unit test for AtomObserver.
    3743    
    3744     - added position and element channels from AtomObservable to AtomObserver.
    3745     - NOTE: AtomObserver does not relay general update() calls.
    3746 
    3747 commit 5dfabdae3cbf78f772003f96b321468cd321f7eb
    3748 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3749 Date:   Wed Nov 30 17:32:43 2011 +0100
    3750 
    3751     Added singleton class AtomObserver that acts as relay station to all atom changes.
    3752    
    3753     - uses Relay pattern.
    3754     - is called in World::createAtom() to signOn on time.
    3755     - update() relays the update call on to true observer.
    3756 
    3757 commit 2614e2a00e7cda71401ccb728478c22e406f12a3
    3758 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3759 Date:   Wed Nov 30 14:10:23 2011 +0100
    3760 
    3761     LinkedCell_Model now inherits Observer.
    3762    
    3763     - implemented facade for the three Observer-required functions, also adapted
    3764       stub.
    3765     - next we need to have the World observe each atom and give Notifications
    3766       about it. Then, we add each model to this channel and implement the update.
    3767 
    3768 commit fe82539bed03ef657b7febd017e0b3a949cda365
    3769 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3770 Date:   Wed Nov 30 11:26:35 2011 +0100
    3771 
    3772     Added first reasonable heuristic, and added required implementation for Controller.
    3773    
    3774     - LinkedCell_Controller::getBestModel() nows contains some more advanced
    3775       heuristics.
    3776     - extended unit test on all of the added parts.
    3777 
    3778 commit 9a5649c1cc4ae0e855f0ee7842ecd59dbafeacee
    3779 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3780 Date:   Tue Nov 29 11:15:32 2011 +0100
    3781 
    3782     LinkedCell_ControllerUnitTest only depends on stubs now.
    3783    
    3784     - i.e. we do not link against convenience libMolecuilderLinkedCell_Refactored
    3785       anymore.
    3786 
    3787 commit fea945d620239c90af4f79b6ad78cde77e453de4
    3788 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3789 Date:   Fri Nov 18 16:07:38 2011 +0100
    3790 
    3791     Added simple implementation for LinkedCell_Controller.
    3792    
    3793     - getBestModel() contains the (non-working) heuristic stub.
    3794     - getView() calls getBestModel() to obtain current best model or creates a new
    3795       one and returns the view of this model.
    3796     - added unit test that does not yet test any functionality.
    3797 
    3798 commit 6b91e6417f39a42bdd14fb1186aea6a23e51aa9a
    3799 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3800 Date:   Tue Nov 29 10:20:04 2011 +0100
    3801 
    3802     Added convenience library for files of new LinkedCell implementation.
    3803    
    3804     - is used with unit tests only so far.
    3805     - name is temporary to vaid class with present convenience library.
    3806    
    3807     - Temporarily added libMolecuilderLinkedCell_refactored to ALLLIBS for
    3808       TestRunner. This is changed when we swap the now two LinkedCell libraries.
    3809 
    3810 commit c379f9430a4c84b4863188025cd84941b7267e40
    3811 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3812 Date:   Tue Nov 29 10:17:23 2011 +0100
    3813 
    3814     Extracted defines for unit tests and placed into extra header file for re-use.
    3815 
    3816 commit 5344e4935985c68c502a7e1e2e936a0ac622ef57
    3817 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3818 Date:   Fri Nov 18 09:11:57 2011 +0100
    3819 
    3820     Added implementation of linked cell view part with high-level functions.
    3821    
    3822     - LinkedCell_View has nearest neighbor functionality.
    3823 
    3824 commit d8296152e374a74c483120eb411121989ba27a98
    3825 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3826 Date:   Fri Nov 18 09:50:26 2011 +0100
    3827 
    3828     Added implementation of linked cell model part using LinkedCell.
    3829    
    3830     - setPartition() sets Partition trafo and defines array bounds Dimensions.
    3831     - addNode() and deleteNode() are working.
    3832     - getStep() returns the number of neighbor shells needed.
    3833     - getSize() returns array size for a given dimension.
    3834     - getIndexToVector() returns index to LinkedCell for a given position.
    3835     - checkArrayBounds() and applyBoundaryConditions() check and apply domain's
    3836       boundary conditions.
    3837     - getNeighborhoodBounds() returns lower and upper bounds to get through all
    3838       LinkedCell's and gather neighbors.
    3839     - each is unit tested.
    3840 
    3841 commit 02ce363b06a8f5ac471e055cfd494a84e197010f
    3842 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3843 Date:   Mon Jan 2 13:57:32 2012 +0100
    3844 
    3845     We now require CodePatterns 1.2.0.
    3846    
    3847     - this is due to the updated Observer structure and multi_array MemDebug
    3848       bugfix.
    3849 
    3850 commit b3fb31e61f105f4d48d1543c58f2727b4742bf2d
    3851 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3852 Date:   Tue Nov 29 10:25:38 2011 +0100
    3853 
    3854     Added MAX_LINKEDCELLNODES enum to types.hpp.
    3855 
    3856 commit 71d81a4beedb94e61ac57a62dfd6e640ce50f1ee
    3857 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3858 Date:   Fri Nov 18 14:22:33 2011 +0100
    3859 
    3860     FIX: Box::Box did not initialize Conditions_t with RealSpaceMatrix argument.
    3861 
    3862 commit 95422c13513e471b244d90385e0888e332e5fbde
    3863 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3864 Date:   Fri Nov 18 09:50:05 2011 +0100
    3865 
    3866     FIX: LinkedCell/types.hpp now uses NDIM instead of 3.
    3867 
    3868 commit 794bc8a63dc9704a2721bae96fbed047481b255a
    3869 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3870 Date:   Thu Nov 17 13:01:09 2011 +0100
    3871 
    3872     Added LinkedCell as commodity class around LinkedList.
    3873    
    3874     - LinkedList is the container of all points in the cell.
    3875     - LinkedCell additionally stores the index to the linked cell structure.
    3876     - addPoint() and deletePoint() functions.
    3877     - added unit test.
    3878 
    3879 commit df9cbdd687c3bb66560705c8a9ed2c0930d1c1be
    3880 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3881 Date:   Thu Nov 17 12:53:43 2011 +0100
    3882 
    3883     Added documentation on how refactored linked cell structure is supposed to work.
    3884 
    3885 commit 6f0841afb57916ffe2e660310f1ff1062d59144a
    3886 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3887 Date:   Tue Nov 15 15:58:11 2011 +0100
    3888 
    3889     Shifted all modules related to atoms into own subfolder src/Atom/
    3890    
    3891     - also created own convenience library for this. This makes unit testing on
    3892       list containing TesselPoint or atom a lot easier.
    3893     - shifted TesselPoint to src/Atom from src/Tesselation and adapted include's.
    3894 
    3895 commit 91f5923f3b692613cf8dacb735a1502afa9471e8
    3896 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3897 Date:   Tue Nov 15 15:15:25 2011 +0100
    3898 
    3899     Added own convenience library for LinkedCell construct.
    3900 
    3901 commit aa6c750e6eb1613052133fde2c7fc67bee85b55c
    3902 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3903 Date:   Tue Nov 15 12:31:56 2011 +0100
    3904 
    3905     Removed some unnecessary LinkedCell.hpp include's.
    3906 
    3907 commit 53c7fc2e5e8198eaf2ef2d962e2e7c72910e48ae
    3908 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3909 Date:   Mon Nov 14 17:29:50 2011 +0100
    3910 
    3911     Moved linkedcell.[ch]pp and related files to folder src/LinkedCell.
    3912    
    3913     - adapted all #include's.
    3914     - also sorted includes of modified files.
    3915 
    3916 commit 3e4fb6fae7d3dcc8e46ee174d7b9a70a995ac178
    3917 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3918 Date:   Fri Dec 23 15:48:37 2011 +0100
    3919 
    3920     Added template class IdPool used by World to manage defragmentable id pool.
    3921    
    3922     - this is stuff from World factored into own class (was doubly present in World
    3923       anyway).
    3924     - added short documentation to constructs/world.
    3925 
    3926 commit 401f9015681e7b504bce7c3914a00d118029c739
    3927 Merge: f9b967b adb5cda
    3928 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3929 Date:   Wed Dec 28 16:27:15 2011 +0100
    3930 
    3931     Merge branch 'Removing_molecule_atomSet' into Merge_molecule_atomSet_removal
    3932    
    3933     Conflicts:
    3934         src/molecule_geometry.cpp
    3935    
    3936     - molecule::CenterInBox(): don't use BOOST_FOREACH but new transform_iterators.
    3937 
    3938 commit adb5cda5be52f4f5d63932b345da97b6eade88fd
    3939 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3940 Date:   Fri Dec 23 16:17:07 2011 +0100
    3941 
    3942     Removed typedef molecule::atomSet and some commented-out, deprecated sections.
    3943    
    3944     - required changes to LinearInterpolationBetweenSteps,
    3945       MinimiseConstrainedPotential, MinimiseConstrainedPotential, and
    3946       VerletForceIntegration.
    3947     - replaced molecule::atomset by World::AtomComposite.
    3948 
    3949 commit afa9d887de1bca80ec730fa5fb5804363c05a126
    3950 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3951 Date:   Fri Dec 23 12:06:05 2011 +0100
    3952 
    3953     TESTFIX: Fixed regression tests Molecules/BondFile and Tesselation/BigNonConvex again.
    3954    
    3955     - Molecules/BondFile: replaced result file with new one as the only difference
    3956       are interchanged ids (and the new ones are more sensible anyway).
    3957     - Tesselation/BigNonConvex: same here for the same reason.
    3958     - removed XFAILs from both.
    3959 
    3960 commit 59fff1699458425079bb0a93f0c33d6ce50aae7d
    3961 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3962 Date:   Fri Dec 23 11:09:37 2011 +0100
    3963 
    3964     Replaced the molecule::const_iterator by a true const version of the transform_iterator.
    3965    
    3966     - lots of places used const_iterator where it made no sense, atom some others
    3967       one could have sensibly done so but details prevented it, e.g.
    3968       - FormatParserStorage::save() requires vector<atom*> not const atom *,
    3969       - Boundaries (and most of Tesselation for that) requires atom *, not
    3970         const atom *.
    3971     - Added new function molecule::isInMolecule() to check whether atomic id is in
    3972       molecule::atomIds.
    3973     - Added const version of atom::GetTrueFather().
    3974 
    3975 commit 30c7536948400224f2fc3e945a95099d12c23b3a
    3976 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3977 Date:   Thu Dec 22 14:14:16 2011 +0100
    3978 
    3979     Removed atomSet atoms in class molecule and replaced by a boost::transform_iterator.
    3980    
    3981     - atoms causes us a O(N^2) complexity due to having to remove atoms from this
    3982       linearized vector (in O(N) not O(log N) as for the atomIds.
    3983     - marked Molecules/BondFile and Tesselation/BigNonConvex as XFAIL due to
    3984       interchanged ids.
    3985     - thanks to Jan Hamaekers for pointing this out.
    3986    
    3987     - NOTE: so far we have not specialized molecule::const_iterator, it simply
    3988       points to molecule::iterator.
    3989 
    3990 commit f9b967b72e4892fd47c07969c3776b47bf7f6616
    3991 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3992 Date:   Thu Dec 22 14:38:35 2011 +0100
    3993 
    3994     FIX: Removed unique()'ing usedFields call in each FormatParser< tremolo >::saveLine().
    3995 
    3996 commit 89a31dfea6d23ffd5380305f11ed7d1ae35a4a7e
    3997 Author: Frederik Heber <heber@ins.uni-bonn.de>
    3998 Date:   Thu Dec 22 14:39:23 2011 +0100
    3999 
    4000     Enhanced verbosity of FormatParser< tremolo >::readAtomDataLine().
    4001 
    4002 commit f99714d367d279ee28493384986f2e0cf9b2efe7
    4003 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4004 Date:   Wed Dec 21 16:01:47 2011 +0100
    4005 
    4006     FIX: Finally correctly implemented all --enable-... switches in configure.
    4007    
    4008     - The principle is: AC_ARG_ENABLE([option], [help], [if present], [if not present]).
    4009       In the last we set the default value of our own variable (e.g. enable_...="no"),
    4010       in the last but one we simply set enable_...=$enableval to get the value from the
    4011       command line.
    4012     - also I used AS_IF everywhere in checking the enable_... value.
    4013 
    4014 commit f2330310e8573c71b1ee3edbcb06336e2a361a3a
    4015 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4016 Date:   Thu Dec 22 13:55:28 2011 +0100
    4017 
    4018     Small fixes to FormatParser< tremolo >::parseKnownTypes() to give more specific error messages.
    4019    
    4020     - also placed info about cleared usedFields in LOG() call.
    4021 
    4022 commit d103d335f1f411ee26c2568846556af546c71b43
    4023 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4024 Date:   Mon Dec 19 15:31:30 2011 +0100
    4025 
    4026     Added additional check in CodeCheck's project disclaimer for current year in copyright.
    4027    
    4028     - had to modify all .cpp files to update to 2011.
    4029 
    4030 commit 908dc743816b2e8b11f5297f04644e47e0d110d9
    4031 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4032 Date:   Thu Dec 22 13:52:15 2011 +0100
    4033 
    4034     FIX: molecule::CenterInBox() made noise on std::cout, banned to LOG.
    4035 
    4036 commit abae35016291f010810eaac8320b7bd3c1e4cf37
    4037 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4038 Date:   Mon Dec 19 15:24:56 2011 +0100
    4039 
    4040     Added CodeCheck on presence of project disclaimer in all .cpp files.
    4041    
    4042     - added disclaimer to missing in Thermostats/*.cpp and MenuInterface.cpp.
    4043 
    4044 commit 6108fde5a8886068ae30de0826b737d61fb539fc
    4045 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4046 Date:   Mon Nov 21 09:13:29 2011 +0100
    4047 
    4048     FIX: Added missing CodePatterns libs to Element's unit tests.
    4049 
    4050 commit bab4f9764a30714f8588b029fa96ea36b46e6b5e
    4051 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4052 Date:   Mon Nov 21 09:12:52 2011 +0100
    4053 
    4054     FIX: Setting up and purging ActionRegistry instance in ActionRegistryTest.
    4055 
    4056 commit 7bace8c6a0fc5f316d62ec82ddff0efda879896b
    4057 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4058 Date:   Fri Nov 11 21:06:48 2011 +0100
    4059 
    4060     FIX: LinearAlgebra's testrunner was not linked against boost serialization.
    4061 
    4062 commit db1a72013fea41fc1ac6c55b5d884661f6460d22
    4063 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4064 Date:   Fri Nov 11 13:30:10 2011 +0100
    4065 
    4066     FIX: Corrected check for gsl's blas requirement.
    4067 
    4068 commit c015b3946b9bb714ae6740f4fbfd3378234a0404
    4069 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4070 Date:   Fri Nov 11 13:16:24 2011 +0100
    4071 
    4072     Added enable-switches for Qt-based GUI and python module and scripts.
    4073    
    4074     - note that encapsulation in AS_IF is absolutely required as otherwise
    4075       lateron checks will produce strange errors as required checks reside
    4076       in an unseen if ..; then branch, initiated by AC_PROG() ... or other
    4077       contained macros.
    4078     - Added AM_CONDITIIONAL's to modify Makefile.ams depending on above enable
    4079       switches.
    4080     - AM_COND_IF controls whether certain Makefile's are produced or not.
    4081     - moved Python regression tests into own folder to control whether they
    4082       are executed or not.
    4083     - molecuildergui and libMolecuilderQtUI are only compiled with qtgui
    4084       enabled.
    4085     - same for pyMoleCuilder and its scripts only when python enabled.
    4086 
    4087 commit f3b8a5e4ed78b89055bacdcab557b7887840b6a3
    4088 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4089 Date:   Fri Nov 11 13:12:50 2011 +0100
    4090 
    4091     Changed enable switches in configure.ac.
    4092    
    4093     - with-valgrind is protected by AS_IF now.
    4094     - corrected AC_MESSAGE for debug and cache.
    4095 
    4096 commit e06010a270e33777c1171131b7a376f7f344b5d5
    4097 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4098 Date:   Fri Nov 11 10:55:47 2011 +0100
    4099 
    4100     FIX: Added missing ax_python.m4, added support for 2.7.
    4101    
    4102     - added python2.7 to the loop.
    4103 
    4104 commit b136f6cb6115f5aa5fd5e6ccb908c72f030b84f4
    4105 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4106 Date:   Tue Nov 29 10:16:30 2011 +0100
    4107 
    4108     FIX: Added Assert_Do to linkedcellUnitTest.
    4109 
    4110 commit 68c92366449b96cba16e719bf1bc16ca92f66370
    4111 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4112 Date:   Tue Nov 29 09:22:26 2011 +0100
    4113 
    4114     Lots of small compiler warning fixes.
    4115    
    4116     Issues:
    4117     - non-virtual destructor despite virtual functions.
    4118     - unused variables.
    4119     - no break at end of switch case.
    4120     - no value returned.
    4121 
    4122 commit de29ad6ec3f6c4826f398de6a82efb8324c26e79
    4123 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4124 Date:   Wed Dec 28 15:58:52 2011 +0100
    4125 
    4126     Some optimization to speed up Subgraph dissections.
    4127    
    4128     - Replaced std::list by std::vector in VectorSet<>::minDistSquared() and
    4129       Box::internal_explode() as it caused lots of dynamic allocation. This
    4130       has been the main cause of the slowdown of Box::internal_explode().
    4131     - Box has internalized vector<int>s coords and index of internal_explode() to
    4132       avoid dynamic allocation for them as well. This is worth it as it has a
    4133       heavily used function.
    4134     - Made Box internal_list non-static. There is only one box anyway.
    4135     - changes caused in BoxUnitTest and Box cstor's and dstor.
    4136     - speedup of Subgraph
    4137    
    4138     - enhanced verbosity of BondGraph::CreateAdjacency().
    4139 
    4140 commit bde4a64a31e3c0f73726198e3b7737797d60a1b2
    4141 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4142 Date:   Mon Nov 7 20:30:03 2011 +0100
    4143 
    4144     Set version to 1.2.0
    4145    
    4146     - Molecuilder library is now 6:0:0.
    4147    
    4148     - Codename "Zwoelf" (German word for the number 12 which has too many meanings
    4149       to listen them here)
    4150 
    4151 commit 936a02c90039dcc86f22c9ccd060237b13b9ca81
    4152 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4153 Date:   Thu Nov 10 15:57:21 2011 +0100
    4154 
    4155     Creating data dir for bondtables, databases, and molecules.
    4156    
    4157     - Moved .db files from src/Element to data/databases.
    4158     - Added bondtable.dat from VSpeShape (kudos Christian Neuen) to data/bondtables
    4159       as an initial bond table from geometry optimization of bielemental systems.
    4160     - Added some abitrary molecules to data/molecules.
    4161     - Added src/documentation/data.dox to explain purpose of the folder.
    4162 
    4163 commit 1a041f358530099250e51de113626e46dc482001
    4164 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4165 Date:   Thu Nov 10 12:22:18 2011 +0100
    4166 
    4167     DOCU: added documentation on how to debug the code.
    4168 
    4169 commit 04e1fb9b749ae4d67250fddbb3bef9aa9a16e259
    4170 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4171 Date:   Thu Nov 10 11:20:20 2011 +0100
    4172 
    4173     Added rules to utils/Makefile.am such that python script can be called directly.
    4174    
    4175     - this is heavily inspired from
    4176       http://blog.couchbase.com/installing-python-scripts-automake, which is only
    4177       adapted to the usage of pyexecdir and having all variables set by autoconf.
    4178 
    4179 commit 938ffdd39e9b351741dc5a305c9834cbf97a3cd9
    4180 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4181 Date:   Thu Nov 10 11:06:48 2011 +0100
    4182 
    4183     Added Makefile to utils to install python scripts.
    4184 
    4185 commit 0d571d7276ebe9c1a1773e4b2150ee012778f1b4
    4186 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4187 Date:   Wed Nov 9 15:19:29 2011 +0100
    4188 
    4189     DISTCHECKFIX: Forgot to set write permissions for new ec.data test files in RepeatBox regression test.
    4190 
    4191 commit a55be103100d6fcff0fe7045017f879437f76d8f
    4192 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4193 Date:   Wed Nov 9 11:43:42 2011 +0100
    4194 
    4195     DISTCHECKFIX: testsuite does not depends on run scripts.
    4196    
    4197     - Python/run is similarly not a dependency as the molecuilder, joiner, ...
    4198       scripts as they are created by configure and not automake.
    4199 
    4200 commit 12facf18b09b4648333e0fe89c03343bc34892d3
    4201 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4202 Date:   Tue Nov 8 09:11:47 2011 +0100
    4203 
    4204     Removed now obsolete Pythontest including regression test.
    4205    
    4206     - as pyMoleCuilder is now fully working (and the obtrusive bug is fixed), we
    4207       do not need this test case anymore.
    4208 
    4209 commit dd0f1b1e1a9125755de73d4edd0d787f21f7d5c6
    4210 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4211 Date:   Tue Nov 8 12:44:05 2011 +0100
    4212 
    4213     DISTCHECKFIX: Added AllActionPython.hpp and AllActionHeaders.hpp to exception for config_h code check.
    4214    
    4215     - these are generated for the archive and present there, hence need to be
    4216       excluded.
    4217 
    4218 commit 48d3c04f127648994f9bb992902f82fdf27e06e4
    4219 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4220 Date:   Tue Nov 8 09:09:35 2011 +0100
    4221 
    4222     DISTCHECKFIX: Added some missing header files in src/Actions.
    4223    
    4224     - some of the new python files were not in ...HEADERS.
    4225 
    4226 commit 4269cad0335489e8765429362c6500291a09f3e2
    4227 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4228 Date:   Mon Nov 7 17:57:31 2011 +0100
    4229 
    4230     FIX: Some Qt includes were not style-consistent.
    4231 
    4232 commit 5dfeeb2b4133f0bc8c5526397e89e3306f10a2ff
    4233 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4234 Date:   Mon Nov 7 11:08:22 2011 +0100
    4235 
    4236     DISTCHECKFIX: Added forgotten Doxyfile to EXTRA_DIST.
    4237 
    4238 commit 24da485f43375167b5cf182eca27274ba36aeb39
    4239 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4240 Date:   Fri Nov 4 16:40:53 2011 +0100
    4241 
    4242     DISTCHECKFIX: Added missing ActionTraits.hpp to src/Actions/Makefile.am.
    4243 
    4244 commit c1ab1f524dcd3aeba2c82df3d7b694dfdf21e70f
    4245 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4246 Date:   Fri Nov 4 16:15:33 2011 +0100
    4247 
    4248     DISTCHECKFIX: Added all Reaction...hpp to src/Actions/Makefile.am.
    4249 
    4250 commit ed300063c90aa3e4eafcdc71806fd77a7c690f40
    4251 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4252 Date:   Fri Nov 4 16:10:46 2011 +0100
    4253 
    4254     DISTCHECKFIX: Removed bnv_have_qt.m4 from EXTRA_DIST.
    4255 
    4256 commit e85bf295d447e86bfa5bd02fdb4a1e7e30386f3c
    4257 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4258 Date:   Thu Nov 3 20:18:24 2011 +0100
    4259 
    4260     Added code check test whether every .def's Action is listed in GlobalListOfActions.hpp.
    4261 
    4262 commit 5ab79642b2ba78c42f87eb801b807a6eb32d0770
    4263 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4264 Date:   Thu Nov 3 17:09:37 2011 +0100
    4265 
    4266     Added regression test on whether all options in the python module are known with a default value.
    4267    
    4268     - i.e. options.dat is complete and contains a value for each required option in
    4269       Python/AllActions test.
    4270     - added a few missing options to options.dat (thx test).
    4271 
    4272 commit f894fe4b6a17e5e13a9d4c6a8a91562a6565cfb5
    4273 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4274 Date:   Wed Nov 2 02:17:53 2011 +0100
    4275 
    4276     Changed GetSourceMolareMass() and GetSourceBBabs() of boxmaker.py.
    4277    
    4278     - now all is done in a single molecuilder run, there are no more temporary
    4279       files.
    4280     - also renamed UpdateSource -> InitialiseSource.
    4281 
    4282 commit f89b45ee33bbea1e1d6d5257495f6e87aeb29aeb
    4283 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4284 Date:   Wed Nov 2 02:13:59 2011 +0100
    4285 
    4286     Added Reaction CalculateBoundingBoxAction.
    4287    
    4288     - calculate bounding box via Box::getBoundingPlanes() of the current domain.
    4289     - also added regression test Analysis/CalculateBoundingBox.
    4290    
    4291     exporting std::vector<double> as return value.
    4292     - had to add trick with exporting std::vector<double> to python with help from
    4293       stackoverflow("does boost python support a function returning a vector, by
    4294       ref or value?") answer. We construct a vec_item template class which exports
    4295       getter/setter, append, ... functionality to python.
    4296     - This ends in typedef doubleVec in namespace MoleCuilder::PythonTypes, while
    4297       within the Reaction its just a typedef defined in the .def file.
    4298     - this type had to be prefix with PythonType_ to make it distinguishable from
    4299       the functions in dir(mol) for Python/AllActions regression test.
    4300     - TESTFIX: Also we modified Python/AllActions regression test to go in a loop
    4301       over each command, thus stdout and stderr can be uniquely associated to the
    4302       very command that caused them. This makes debugging a lot easier ... for
    4303       this purpose the dir(mol) and filtering was placed into new listcmds.py.
    4304 
    4305 commit 55f299a96cda2fac6f625bb867138422ecaec949
    4306 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4307 Date:   Wed Nov 2 01:07:42 2011 +0100
    4308 
    4309     Added Reaction CalculateMolarMassAction.
    4310    
    4311     - calculate molar mass (atomicmassunits) of selected atoms.
    4312     - also added regression test Analysis/CalculateMolarMass.
    4313 
    4314 commit 6c61a977646015caffe230700aebdc01790a832d
    4315 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4316 Date:   Wed Nov 2 00:53:12 2011 +0100
    4317 
    4318     Added regression test for boxmaker.py.
    4319 
    4320 commit 2aa9eff5378f2eadd12d48e3d6915fb4c37291a5
    4321 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4322 Date:   Wed Nov 2 00:53:28 2011 +0100
    4323 
    4324     UpdateSource function of boxmaker.py is not an external call to molecuilder anymore.
    4325    
    4326     - this is unusable in a test and was contradictory to the intention of a
    4327       script. As now we may safely reinit() the pyMoleCuilder module, we may use
    4328       it to do the same as the external call did.
    4329 
    4330 commit dfef3fc238df9e0ba66db8ecc94dad83474bf43f
    4331 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4332 Date:   Wed Nov 2 00:27:34 2011 +0100
    4333 
    4334     FIX: empty states Action::success and ::failure are now managed by ActionHistory.
    4335    
    4336     - the python function reinit() runs into trouble because the static entities
    4337       Action::success and ::failure are missing after a reinit() causing a
    4338       std::exception to be thrown. Now we manage the static state instances via
    4339       ActionHistory cstor and dstor. As ActionHistory::init() must be called before
    4340       any action is called, this should always work well.
    4341     - added static function Action::createStaticStateEntities().
    4342 
    4343 commit d628da29ae70d201baafa642587e70d7cecb50d1
    4344 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4345 Date:   Tue Nov 1 23:29:39 2011 +0100
    4346 
    4347     Added docstring also to python exported functions without any parameters.
    4348    
    4349     - actually the trick is to not give a std::string but just "...", probably
    4350       there is some magic involved that can not deal with real instances but
    4351       just with const values or something ...
    4352 
    4353 commit 567357327df58f213deda25db79a4a8e493bf567
    4354 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4355 Date:   Tue Nov 1 23:28:03 2011 +0100
    4356 
    4357     FIX: cleanUp() replaced by module_reinit() and .._exit() in pyMoleCuilder.
    4358    
    4359     - this causes ostream to be set with FormatParserStorage and hence files to be
    4360       correctly written.
    4361     - module_reinit() is python exported as "reinit". This allows for reuse of the
    4362       module.
    4363     - both module_... reside in namespace MoleCuilder::detail.
    4364     - ..._reinit() does not use cleanUp() but only purgeStaticInstances().
    4365 
    4366 commit b5d38d24f005e657e47a9754b47a4696cb55a7ff
    4367 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4368 Date:   Tue Nov 1 23:27:22 2011 +0100
    4369 
    4370     Moved dumpMemory() and saveAll() from module builder_init to cleanUp.
    4371 
    4372 commit bcfb774f1eae99eb4252d4bb7fe6ad4d414c73db
    4373 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4374 Date:   Thu Oct 20 15:50:55 2011 +0200
    4375 
    4376     Added correct shebang to boxmaker.py.
    4377    
    4378     - also configure fills in @PYTHON@.
    4379 
    4380 commit 239cc57faea9ab4ff23fdb44d3f06eb29ed9d550
    4381 Author: Gregor Bollerhey <bollerhe@ins.uni-bonn.de>
    4382 Date:   Thu Oct 20 15:23:48 2011 +0200
    4383 
    4384     Didn't save the file -.-"
    4385 
    4386 commit bfbb62f5982807ebb366202d009e31e5c9e97c0c
    4387 Author: Gregor Bollerhey <bollerhe@ins.uni-bonn.de>
    4388 Date:   Thu Oct 20 15:22:08 2011 +0200
    4389 
    4390     Final version 1.0
    4391    
    4392     - Added shebang line
    4393     - Added short file describtion and author information
    4394 
    4395 commit c0c85f8b81b5784166c5b2636636807351221f02
    4396 Author: Gregor Bollerhey <bollerhe@ins.uni-bonn.de>
    4397 Date:   Thu Oct 20 15:16:38 2011 +0200
    4398 
    4399     Restructured Code
    4400    
    4401     - temp_source.xyz is created only once
    4402     - boolean mapping with dict rather than if-tree
    4403 
    4404 commit b82ededdc872491af61799929b45ad2c39327723
    4405 Author: Gregor Bollerhey <bollerhe@ins.uni-bonn.de>
    4406 Date:   Wed Oct 19 17:32:48 2011 +0200
    4407 
    4408     Very basic documentation on how to use boxmaker
    4409 
    4410 commit 0ad49ccf93fe4367fe5e4e10f98aad9303587ad9
    4411 Author: Gregor Bollerhey <bollerhe@ins.uni-bonn.de>
    4412 Date:   Wed Oct 19 16:39:35 2011 +0200
    4413 
    4414     Update: Automatic mass calculation
    4415    
    4416     Also:
    4417      - Shortcut for every option
    4418 
    4419 commit 39cbae38d744fa579f22dba076be3334081b2dc3
    4420 Author: Gregor Bollerhey <bollerhe@ins.uni-bonn.de>
    4421 Date:   Wed Oct 19 13:30:16 2011 +0200
    4422 
    4423     Update: Unit handling
    4424    
    4425     - temp might have a dimension now
    4426     - Leading "!" skips processing by tool 'units' so already converted numbers can be used without specifying 'autodim off' resp. '-autodim'.
    4427     - Scaling factor in unit-dictionary is float now, proper typing is GOOD.
    4428 
    4429 commit 751d7f1c304a7154fd9d5204d25d894f4d292c74
    4430 Author: Gregor Bollerhey <bollerhe@ins.uni-bonn.de>
    4431 Date:   Wed Oct 19 13:18:08 2011 +0200
    4432 
    4433     Update: Shortcuts for common Parameters
    4434 
    4435 commit 32bc47763858bb01bae893adc080489b7158d448
    4436 Author: Gregor Bollerhey <bollerhe@ins.uni-bonn.de>
    4437 Date:   Mon Oct 17 14:08:19 2011 +0200
    4438 
    4439     Update: autorotate
    4440    
    4441     Not tested yet, but it seems like it does *something* (means: paths etc. are correctly handled).
    4442 
    4443 commit 0c83d84852b4a347a220986437c3548d9f81ee7b
    4444 Author: Gregor Bollerhey <bollerhe@ins.uni-bonn.de>
    4445 Date:   Mon Oct 17 13:03:12 2011 +0200
    4446 
    4447     Less ugly advanced version
    4448    
    4449     - Class (struct) based global options
    4450     - Minor bugfixes
    4451     - Feature: Cubic cell
    4452     - Feature: Skip unit conversion
    4453     - Feature: Options via cmd line
    4454     - Feature: More settings
    4455    
    4456     TODO:
    4457     - Output postprocessing (INPUTCONVs)
    4458     - Auto-rotate to minimum BBox
    4459     - Documentation
    4460 
    4461 commit 5735ba6c7b20b862fee585bf210001884dd525f6
    4462 Author: Gregor Bollerhey <bollerhe@ins.uni-bonn.de>
    4463 Date:   Wed Oct 12 18:14:13 2011 +0200
    4464 
    4465     Ugly base version of boxmaker.py
    4466    
    4467     TODO:
    4468     - stability fixes
    4469     - command parameters
    4470     - bbox optimization
    4471     - default parameters
    4472 
    4473 commit 54088ade157ccd5da09d83809d019879eb18bca1
    4474 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4475 Date:   Thu Oct 13 12:51:04 2011 +0200
    4476 
    4477     Added first Reaction named CalculateCellVolumeAction.
    4478    
    4479     - this sets the internal result to the volume of the current domain.
    4480     - the result is return, when the wrapper function is called in python.
    4481     - added regression tests Python/ReturnValueActions and
    4482       Analysis/CalculateCellVolume.
    4483 
    4484 commit 6aa48530ab21a608d169e9bd28ff31e047c23a15
    4485 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4486 Date:   Thu Oct 13 12:49:22 2011 +0200
    4487 
    4488     Actions exported to Python may contain a returntype.
    4489    
    4490     - returntype is set in .def file, if none given void is assumed.
    4491 
    4492 commit 15408592ea2fab27dfbc10cc6f5b99cae3244c89
    4493 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4494 Date:   Thu Oct 13 12:47:12 2011 +0200
    4495 
    4496     Added Reaction as Action with a return value.
    4497    
    4498     - this is derived from Calculation, only that it is not a Process but a simpler
    4499       Action.
    4500     - A Reaction cannot be undone and sets an internal result.
    4501 
    4502 commit 874597dc61c72b0d2831c2aabdfbcb6a2a92fa4f
    4503 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4504 Date:   Thu Oct 13 12:50:36 2011 +0200
    4505 
    4506     FIX: some defines were forgotten to be undefined in Action_impl_python.hpp.
    4507 
    4508 commit 9d613feab4e07d3a202706642be753fe3532e1b3
    4509 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4510 Date:   Mon Oct 10 16:18:16 2011 +0200
    4511 
    4512     FIX: RepeatBoxAction did not use CopyMolecule() but copied by hand. Kudos: Gregor Bollerhey.
    4513    
    4514     - this causes trouble with FormatParsers such as Tremolo... who have internally
    4515       additional information stored.
    4516     - extended regression tests Domain/RepeatBox with a test of a repeated
    4517       .data file with "special" element names.
    4518    
    4519     Kudos to Gregor Bollerhey for finding this bug.
    4520 
    4521 commit f27fa7663d7fbd32d91ed4b31bbb2d9443cd7ba7
    4522 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4523 Date:   Mon Oct 10 16:17:32 2011 +0200
    4524 
    4525     TESTFIX: Added test whether calling not present command truely fails.
    4526    
    4527     - exit code from python is 1.
    4528 
    4529 commit cbb32d6cb47d22cd8f7f67d1c9c85099ca08ab67
    4530 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4531 Date:   Mon Oct 10 16:06:58 2011 +0200
    4532 
    4533     Small cosmetical changes to moltest.py.
    4534    
    4535     - We now use Popen to call an external process and check on its return code.
    4536       If an Action fails with an internal Assertion(134), then the command is still
    4537       considered as available. We are only interested in failures of the python
    4538       interpreter.
    4539     - changed the output a bit. Each Command is now embraced by BEGIN and END,
    4540       stdout and stderr are given separately but per command.
    4541     - removed XFAIL from regression test Python/AllActions.
    4542 
    4543 commit 3493da80dddd81670d46f553e8f9eee1d6e3e762
    4544 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4545 Date:   Thu Oct 6 14:12:35 2011 +0200
    4546 
    4547     Gathered default values for each action and wrote regression test that uses moltest.py.
    4548    
    4549     - options gathered by script getPossibleOptions.sh in file options.dat.
    4550       missing.dat contains all currently available action and option tokens for
    4551       easier retrieval of possible default values.
    4552     - new regression test Python/AllActions that tests callability/presence of all
    4553       Actions. This test is so far marked as XFAIL.
    4554     - Note that default values in options.dat have slightly different format as
    4555       they are directly stored in ValueStorage by COMMAND() call and do not go
    4556       through CommandLineParser, e.g. domain is upper now lower diagonal matrix
    4557       and vectors are space-, note comma-separated.
    4558 
    4559 commit 6ca7b9fa2e55525a9e8ae30efd5cf902378adb63
    4560 Author: Gregor Bollerhey <bollerhe@ins.uni-bonn.de>
    4561 Date:   Thu Oct 6 14:11:53 2011 +0200
    4562 
    4563     Wrote python script to gather all functions in a pyMoleCuilder module and test them.
    4564 
    4565 commit 3139b207b75597cf0c7353033c5d2be2cfbcb0ae
    4566 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4567 Date:   Mon Sep 26 15:38:55 2011 +0200
    4568 
    4569     Renamed ActionTrait and ActionTraits.
    4570    
    4571     - the specialized Trait contains multiple OptionTraits, hence is now called
    4572       ActionTrait_s_, where its base class (that just has the OptionTrait for
    4573       itself) is called ActionTrait.
    4574     - This caused many changes in other Action related files.
    4575 
    4576 commit c20b356f2eadeb43c500eb53ae0f5b79fd0ec9e1
    4577 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4578 Date:   Mon Sep 26 15:09:24 2011 +0200
    4579 
    4580     Added commented-out stuff for a extra libMolecuilderActionPython.la.
    4581    
    4582     - this library would contain each COMMAND() export in a single module and thus
    4583       speed up the compilation when required.
    4584 
    4585 commit 9499532892bd8d49658849069d442402314d3a4b
    4586 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4587 Date:   Mon Sep 26 14:59:25 2011 +0200
    4588 
    4589     pyMoleCuilder now has full functionality.
    4590    
    4591     - For each header file there is a COMMAND_stringargs() function defined.
    4592     - boost python module exports all Action's COMMAND_stringargs() that are
    4593       present in GlobalListOfActions.hpp.
    4594     - new source file AllActionPython.hpp is created in Actions/Makefile.am that
    4595       enlists all the headers.
    4596     - New implemenations:
    4597       - Action_impl_python.hpp: defines COMMAND_stringargs() via some boost::
    4598         preprocessor magic.
    4599       - Action_impl_undef.hpp: contains undefs to the Action's .def files.
    4600     - also docstrings are working, both for module and for each exported function.
    4601     - so far, all arguments have a (in NODEFAULT case empty) default value. This
    4602       is because we cannot perform string comparisons with the preprocessor only
    4603       numeric ones (i.e. NODEFAULT would have to be 0 or alike).
    4604    
    4605     - Extracted cleanUp() from builder_init.cpp and placed into own module.
    4606     - cleanUp() is now also registered atexit() for pyMoleCuilder where it is
    4607       needed as well.
    4608     - AddStaticEntitiestoIgnoreList() has likewise been extracted.
    4609 
    4610 commit 0712434880db2974e2088075ea714dc43b8900e6
    4611 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4612 Date:   Mon Sep 26 14:45:13 2011 +0200
    4613 
    4614     Enhanced tiny example to resemble action structure.
    4615    
    4616     - Pythontest now also works via a true ActionRegistry along with Actions and
    4617       "Atrait" and "Otrait".
    4618     - this was done to understand runtime (glibc corruption) errors in the full
    4619       pyMoleCuilder module). However, fault was due to forgotten inclusion of
    4620       CodePatterns library.
    4621     - In the end, we have an Action that contains the wrapped greet function in
    4622       a likewise static manner as COMMAND().
    4623 
    4624 commit 88ba1f95ffea4dff3ac2b0232d8c51420c94f222
    4625 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4626 Date:   Mon Sep 26 14:40:56 2011 +0200
    4627 
    4628     Added Action's COMMAND_stringargs() function call.
    4629    
    4630     - also added ValueStorage::setCurrentValueByString() which gets type only via
    4631       template specialization but whose argument is always of type string.
    4632     - this allows to call the Action with string arguments only.
    4633     - We need this for the (lazy) python exporting where no internal classes such
    4634       as BoxVector are exposed to the python outside.
    4635 
    4636 commit ddde10806358ff0435053ab29908ef726307ffa1
    4637 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4638 Date:   Mon Sep 26 14:40:05 2011 +0200
    4639 
    4640     FIX: In Action's COMMAND() we don't need a params instance.
    4641 
    4642 commit 6a2dae6b1981184635d1c474f4ac46456c875e32
    4643 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4644 Date:   Mon Sep 26 14:34:23 2011 +0200
    4645 
    4646     Corrected indenting in ActionTrait<>s cstor.
    4647 
    4648 commit 05736a7a4c0757f4fa2692f61529114df82fbc3a
    4649 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4650 Date:   Mon Sep 26 14:29:05 2011 +0200
    4651 
    4652     Simplified Action's COMMAND() definition a bit.
    4653 
    4654 commit d41313dc0509282e66f0868a09e6a611856991a0
    4655 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4656 Date:   Mon Sep 26 13:16:53 2011 +0200
    4657 
    4658     Added output operators for both ActionTraits and OptionTrait.
    4659 
    4660 commit dad802e0e6e39672b0c30ed680b5553146da8906
    4661 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4662 Date:   Mon Sep 26 13:12:35 2011 +0200
    4663 
    4664     Modified ActionTraits' and OptionTrait's cstor and dstor slightly.
    4665    
    4666     - this is mostly debugging stuff and does not change anything.
    4667 
    4668 commit 83e90c5ba27374b18c88dac99eccef2300119c69
    4669 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4670 Date:   Wed Sep 21 20:56:31 2011 +0200
    4671 
    4672     New function ActionRegistry::fillRegistry() fills instead of static instances.
    4673    
    4674     - this replaces the static instances of each Action in Action_impl_pre.hpp.
    4675     - we use a file that has to list all present actions, GlobalListOfActions.hpp,
    4676       as it is not possible to build such a list with the preprocessor from all
    4677       include files and use it afterwards, as e.g. the define COMMAND only has a
    4678       _local_ meaning inside the include but the sequence of actions must be built
    4679       up from _global_ ones.
    4680     - Actions/Makefile.am: creates AllActionHeaders.hpp out of this list of present
    4681       actions.
    4682     - specialized Actions do not register themselves anymore.
    4683 
    4684 commit aee2dabfffde9df5844f0967184afb9f4888bc87
    4685 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4686 Date:   Mon Sep 26 15:04:21 2011 +0200
    4687 
    4688     Added BUILT_SOURCES as appendable variable in various Makefile.am's.
    4689 
    4690 commit cb85f24c65f5b7e2949f048923157232b2968421
    4691 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4692 Date:   Mon Sep 26 15:11:33 2011 +0200
    4693 
    4694     Removed using namespace MoleCuilder from TxMenuLeaveAction.
    4695    
    4696     - due to includes this re-appeared at some other places, too.
    4697 
    4698 commit 693a80ce2c6b4945f8d87d19e25048dcc3c12bdf
    4699 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4700 Date:   Wed Sep 21 20:51:12 2011 +0200
    4701 
    4702     Added pyMoleCuilder as python module with single exported function CommandHelp.
    4703    
    4704     - this is working so far only for this single Action.
    4705     - Note that we search high and wide for a memory leak (glibc corruption /
    4706       double free) caused by the forgotten CodePatterns library (which contains
    4707       a overwritten new operator by MemDebug).
    4708 
    4709 commit a02f78efd40bac7cd313cfb7b23877d1db334b4d
    4710 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4711 Date:   Wed Sep 21 20:48:59 2011 +0200
    4712 
    4713     FIX: Undefined preprocessor macro functions in Action_impl_....hpp.
    4714    
    4715     - this allows for multiple inclusion of specific Action headers when one wants
    4716       to use the COMMAND's.
    4717 
    4718 commit d470a6c39e34e4b9b5519bea831d792d49997812
    4719 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4720 Date:   Wed Sep 21 20:47:18 2011 +0200
    4721 
    4722     Moved regression test on little test module Pythontest into subfolder.
    4723    
    4724     - also test is now in own test file .at that is just included in main Python
    4725       folder.
    4726 
    4727 commit b4e6b490cbef1b6934755e6f5c13a7e46602828c
    4728 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4729 Date:   Wed Sep 21 20:45:00 2011 +0200
    4730 
    4731     Added note that we really may use the address of a type_info object.
    4732    
    4733     - it is static const, hence always the same address is returned by typeid().
    4734 
    4735 commit 807d91170ae58588000d9d66b2b98bf36218fb73
    4736 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4737 Date:   Wed Sep 21 20:44:09 2011 +0200
    4738 
    4739     MEMFIX: Virtualized destructors of OptionTrait, ActionTraits and ActionTrait<> templates and specialization.
    4740 
    4741 commit b2217903eb4f697a0eb4e0b6bbcc90cd7b9cc750
    4742 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4743 Date:   Wed Sep 21 20:42:29 2011 +0200
    4744 
    4745     FIX: Removed OptionTrait's copy constructor as there are no pointers in it.
    4746    
    4747     - With ActionTraits we need it, with OptionTrait we don't.
    4748 
    4749 commit d44d7b99bdaf4f9e06becc21fdd72562f7b27aff
    4750 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4751 Date:   Wed Sep 21 20:40:00 2011 +0200
    4752 
    4753     Dstor of Action now unregisters itself and its Options in Action- and OptionRegistry.
    4754 
    4755 commit 2d31e15adb589e255571178413b29360fb148592
    4756 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4757 Date:   Tue Sep 20 17:44:52 2011 +0200
    4758 
    4759     Python tests are now launched via small script run.in.
    4760    
    4761     - this is taken over from project GetSpot, see
    4762       http://spot.lip6.fr/wiki/GetSpot, such that the test lib does not need to
    4763       be installed.
    4764     - Also libPythontest now is just -module and has non standard library name
    4765       Pythontest.
    4766 
    4767 commit 7150854fe66d2de013c8f0b6c46e3a3158927d58
    4768 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4769 Date:   Tue Sep 20 17:09:29 2011 +0200
    4770 
    4771     Simple boost::python test program added.
    4772    
    4773     - we have a function greet() (as featured in the boost::python tutorial)
    4774       exported into a python module libPythontest.so which is test in a separate
    4775       regression test for the working function.
    4776 
    4777 commit 46bba069f32a5e5d0491f639e519790fe58e7fa3
    4778 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4779 Date:   Wed Nov 2 04:48:11 2011 +0100
    4780 
    4781     FIX: Removed versioning info from some convenience libraries.
    4782 
    4783 commit 42c9e2b8523492429793bb7da6d7003aa6fe86f7
    4784 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4785 Date:   Wed Nov 2 04:46:07 2011 +0100
    4786 
    4787     FIX: getKeys() and getValues() are now simply internal functions of CheckAgainstAdjacencyFile.
    4788    
    4789     - somehow it was not admonished that the templated variants before did access
    4790       private parts of CheckAgainstAdjacencyFile without being friends.
    4791 
    4792 commit 13c969ad686f3d12cdc5bdd93001c93e383c3e24
    4793 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4794 Date:   Wed Nov 2 04:38:43 2011 +0100
    4795 
    4796     FIX: atominfo::getType() does not care whether element exists.
    4797    
    4798     - atoms do temporarily have no element: right after they are created.
    4799       Hence, one has to deal with the returned pointer being null.
    4800     - this fixes a bug with the debug variant of molecuildergui crashing when
    4801       loading a new molecule via WorldInputAction.
    4802 
    4803 commit e5cec4e2cb555c7d4508afa2f6296052dcf2e5ee
    4804 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4805 Date:   Wed Nov 2 03:25:00 2011 +0100
    4806 
    4807     Removed macro bnv_have_qt, replaced by pkg-config info.
    4808    
    4809     - executables are searched via AC_PATH_PROGS in PATH or the one given via
    4810       --with-Qt-bin.
    4811 
    4812 commit 22db89e82efc438f389cf621bf3caa0c33f6b876
    4813 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4814 Date:   Wed Nov 2 02:20:28 2011 +0100
    4815 
    4816     Using new version of CodePatterns 1.1.7.
    4817    
    4818     - m4 macro ax_codepatterns.m4 now uses flags and libs set by boost macro in
    4819       test compile.
    4820     - also now we support boost 1.47.
    4821 
    4822 commit bf33793a0d4ea93c1babd21cadd1d7fc70e7b4ad
    4823 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4824 Date:   Fri Nov 4 11:16:36 2011 +0100
    4825 
    4826     Set version to 1.1.6
    4827    
    4828     - Molecuilder library is now 5:2:0.
    4829    
    4830     - Codename "ununhexium" (atomic number of a so temporarily called element, as
    4831       this release is just an intermediate to upcoming 1.2.0 as well)
    4832 
    4833 commit 4faa3024da62e20851f88698fbb5ec07a146908c
    4834 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4835 Date:   Wed Oct 26 10:33:46 2011 +0200
    4836 
    4837     FIX: EmptyQtQuery forgot to initialise thisLayout.
    4838 
    4839 commit 3b5fcad4499d84f2710a43fa1bb78943cb664f7e
    4840 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4841 Date:   Fri Nov 4 15:15:42 2011 +0100
    4842 
    4843     FIX: joiner, analzer and units lacked appropriate ..._LDFLAGS.
    4844    
    4845     - also added _CXXFLAGS (but should change nothing).
    4846     - fixes bug with elswhere present boost libs.
    4847 
    4848 commit 3995764b4b2e69dd6c57f464bcaaf4a0839eb9c2
    4849 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4850 Date:   Fri Nov 4 11:59:00 2011 +0100
    4851 
    4852     DISTCHECKFIX: LinearAlgebra CodeChecks testsuite fails due to doubly included atlocal.
    4853 
    4854 commit 6bdba08a7dca2ce506c7552abbefa9853fb32452
    4855 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4856 Date:   Fri Nov 4 10:58:04 2011 +0100
    4857 
    4858     DISTCHECKFIX: all .dox files are now given as EXTRA_DIST.
    4859    
    4860     - otherwise they are not included in the archive and also the date_dox code
    4861       check fails.
    4862 
    4863 commit d249533a8bc07628856561bbbef1aa20a677cbbc
    4864 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4865 Date:   Fri Nov 4 10:45:27 2011 +0100
    4866 
    4867     DISTCHECKFIX: target unity.cpp has no MemDebug.hpp or config.h.
    4868    
    4869     - it is now excluded in the config_h and memdebug code check tests.
    4870     - also removed ancient Helpers/MemDebug.cpp from unity.
    4871 
    4872 commit 262ecc8c14e55d0f7744557f8db358fa4e387df8
    4873 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4874 Date:   Fri Nov 4 09:07:54 2011 +0100
    4875 
    4876     DISTCHECKFIX: Forgotten .hpp files included.
    4877 
    4878 commit c2808e648134d01905b5a680706cb340fb79319f
    4879 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4880 Date:   Fri Oct 28 12:04:40 2011 +0200
    4881 
    4882     FormatParser< xyz >::save() now uses numeric_limits<size_t>.
    4883 
    4884 commit ab26c32fce16265ba7563805bf70265de2b4e3fe
    4885 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4886 Date:   Thu Oct 27 17:19:48 2011 +0200
    4887 
    4888     Moved ThermoStatContainer to folder src/Thermostats.
    4889 
    4890 commit 41a467397fe65de7b369f9989fc26e6e18070f2e
    4891 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4892 Date:   Thu Oct 27 17:08:36 2011 +0200
    4893 
    4894     LARGE: config class is now just a tiny container.
    4895    
    4896     - this was loooooobg overdue. Config.cpp contained remnants from parsing pcp
    4897       files and much else. Also fragmentation depended on it. Since refactoring
    4898       of MoleculeListClass and the fragmentation, we don't need it anymore.
    4899     - helper functions ParseForParameters(), LoadMolecule() extracted into new
    4900       module PcpParser_helper.
    4901     - config class now just contains 4 variables that are generally required
    4902       (especially IsAngstroem) and they should probably remain with the world.
    4903     - removed some places where config.hpp was no unnecessarily included.
    4904     - Moved ConfigFileBuffer.* over to subfolder src/Parser/ where it rather
    4905       belongs (associated with PcpParser).
    4906 
    4907 commit 47d0416c5a62d6d7eb14391e14c7f3f576fb1673
    4908 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4909 Date:   Thu Oct 27 13:53:58 2011 +0200
    4910 
    4911     HUGE: Removed all calls to Log(), eLog(), replaced by LOG() and ELOG().
    4912    
    4913     - Replaced DoLog(.) && (Log() << Verbose(.) << ... << std::endl) by Log(., ...).
    4914     - Replaced Log() << Verbose(.) << .. << by Log(., ...)
    4915     - on multiline used stringstream to generate and message which was finally used
    4916       in LOG(., output.str())
    4917     - there should be no more occurence of Log(). LOG() and ELOG() must be used
    4918       instead.
    4919     - Eventually, this will allow for storing all errors and re-printing them on
    4920       program exit which would be very helpful to ascertain error-free runs for the
    4921       user.
    4922 
    4923 commit 50e4e51ce46632502842371460680414d8693a72
    4924 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4925 Date:   Thu Oct 27 13:31:25 2011 +0200
    4926 
    4927     Test target installcheck-local now also runs parallel with up to 4 jobs.
    4928    
    4929     - especially important for distcheck.
    4930 
    4931 commit 862b6aced84cfd7115cc1c86598d01d98e597c01
    4932 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4933 Date:   Thu Oct 27 11:32:27 2011 +0200
    4934 
    4935     All Actions are timed now, timings are given on exit.
    4936    
    4937     - Chronos is used for this.
    4938     - new function printTiming() called in cleanUp().
    4939 
    4940 commit 004ae78c93125b8c5ed36354e6ccaf507e1cc290
    4941 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4942 Date:   Thu Nov 3 16:44:19 2011 +0100
    4943 
    4944     FIX: Changes to bnv_have_qt.m4 and boost.m4.
    4945    
    4946     - moved search in /opt to very end of list, wherever occurring. /opt is often
    4947       a network drive and hence fails in case of network outtage.
    4948     - bnv_have_qt.m4: Moved Libs in test compile to end, gcc 4.6 is picky and we
    4949       are checking specifically for QtCore, QtGui, and Qt3D libs, not just any.
    4950 
    4951 commit bbff92c91e480a376335ee7ed85901c02fc38965
    4952 Merge: 7ba268a f11c23f
    4953 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4954 Date:   Thu Nov 3 11:38:31 2011 +0100
    4955 
    4956     Merge branch 'Doxygen_Documentation_Enhancement' into mergeMaster
    4957 
    4958 commit f11c23fb087ac6674948e06cc77219f2907614c1
    4959 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4960 Date:   Thu Nov 3 11:35:53 2011 +0100
    4961 
    4962     Added documentation on how to understand the code and its (maybe) future extensions.
    4963 
    4964 commit 1e3265cfdde09115536e60489297dfea655c313f
    4965 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4966 Date:   Thu Aug 26 15:29:33 2010 +0200
    4967 
    4968     Changed userguide a bit.
    4969 
    4970 commit 7ba268a58e24918f9b4f28cee1e5b542596e56ca
    4971 Merge: 13510b7 5837ddd
    4972 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4973 Date:   Thu Nov 3 10:52:29 2011 +0100
    4974 
    4975     Merge branch 'DipoleAngularCorrelation' into mergeMaster
    4976    
    4977     Conflicts:
    4978         src/World.cpp
    4979    
    4980     - tiny conflict in World.cpp
    4981 
    4982 commit f281c570d3846adae28ef56f504a320da69c7929
    4983 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4984 Date:   Wed Nov 2 23:39:55 2011 +0100
    4985 
    4986     Added .dox check to LinearAlgebra as well and various other test fixes.
    4987    
    4988     - module is now named linearalgebra.
    4989     - installcheck-local too runs parallel.
    4990     - check uses AUTOTEST_PATH.
    4991     - TESTFIX: added missing \date to present .dox files.
    4992 
    4993 commit 5837ddd122c04b048b60eb1c43cd324f37cf1945
    4994 Author: Frederik Heber <heber@ins.uni-bonn.de>
    4995 Date:   Tue Oct 25 17:37:56 2011 +0200
    4996 
    4997     Cosmetical fix to PairCorrelation().
    4998 
    4999 commit c3a70d2e1acd8ae14b6afd834b7b50bae96f66e5
    5000 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5001 Date:   Thu Oct 13 21:51:31 2011 +0200
    5002 
    5003     Added time-step-zero option to dipole-angular-correlation.
    5004    
    5005     - this allows setting t_0 at some later time step than the very first one (and
    5006       thus from an equilibrated moment in time and not the initial one).
    5007     - although there is default value, regression tests use time-step-zero with 0.
    5008 
    5009 commit 870b4b91fe9f0b1046abb0bc933ec99ffab7aed1
    5010 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5011 Date:   Thu Oct 13 21:50:52 2011 +0200
    5012 
    5013     Added rejected molecule counting to DipoleAngularCorrelation().
    5014 
    5015 commit a28cc4b8154803677c2110da6e9dfbc65b7bdb0c
    5016 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5017 Date:   Tue Nov 1 20:57:25 2011 +0100
    5018 
    5019     DOCU: Added python as fourth user interface.
    5020 
    5021 commit 35a88927d82713a677dde8bd7c3df3ce9e9ba429
    5022 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5023 Date:   Tue Nov 1 20:56:58 2011 +0100
    5024 
    5025     DOCUFIX: Prefixes all three userinterface labels with userinterfaces-.
    5026 
    5027 commit bc341152538d05a33d83d52d16a02336b620b1f9
    5028 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5029 Date:   Tue Nov 1 20:56:15 2011 +0100
    5030 
    5031     DOCU: Added some important notes in usual mistakes to serialization.dox.
    5032 
    5033 commit e6c470ccb1b2c074724b8e513510f5f939adc3af
    5034 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5035 Date:   Mon Oct 31 18:29:04 2011 +0100
    5036 
    5037     Fixing documentation.
    5038    
    5039     - removed out-dated documentation.
    5040     - removed bugs with doxygen.
    5041 
    5042 commit 39f4c46f89ae322d0db63df2b97dc6bfb003cfe0
    5043 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5044 Date:   Mon Oct 31 18:15:52 2011 +0100
    5045 
    5046     Added CodeChecks test on whether each of .dox files contains a valid date stamp.
    5047    
    5048     - this is to enforce stating whether information is current or not.
    5049 
    5050 commit 5982c5922d9ec80de77b5dbb7184f7cc879c6eac
    5051 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5052 Date:   Mon Oct 31 18:15:21 2011 +0100
    5053 
    5054     FIX: Removed at_local inclusion in nested test scripts and put in into testsuite.at.
    5055    
    5056     - this fixes multiple inclusion warnings.
    5057 
    5058 commit 750cff3758142eb977ca963eb8ede4200620a15e
    5059 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5060 Date:   Mon Oct 31 18:13:52 2011 +0100
    5061 
    5062     HUGE: Update on documenation.
    5063    
    5064     - a general skeleton of the documentation is now in place with all the major
    5065       components of MoleCuilder explained to some extent.
    5066     - some information has been transfered from TRAC (e.g. install procecure) into
    5067       this doxygen documentation where it is general and not specific to the
    5068       situation at our institute.
    5069 
    5070 commit e658783525483171aa12ab81bf75d42b28dba211
    5071 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5072 Date:   Wed May 18 21:55:05 2011 +0200
    5073 
    5074     Selection is now done inside DipoleAngularCorrelation.
    5075    
    5076     - as molecules may change over time it makes more sense to select molecules
    5077       internally right now.
    5078     - DipoleAngularCorrelation() now takes Formula instead of std::vector<atom *>.
    5079     - also adjusted const'ness of some parameters.
    5080 
    5081 commit 505d059b8f5c10ec0e270a2fbd0cbe8462d545d9
    5082 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5083 Date:   Wed May 11 18:14:56 2011 +0200
    5084 
    5085     DipoleAngularCorrelation: output now contains name _and position_ of first atom of dipole molecule.
    5086    
    5087     - TESTFIX: Had to change _values...dat files accordingly.
    5088 
    5089 commit 72105aa76e82e63091a7bc60f6846f4866f741ef
    5090 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5091 Date:   Wed May 11 11:59:00 2011 +0200
    5092 
    5093     Verbosity fix: DipoleAngularCorrelation() - info given when ZeroVector and atoms sizes mismatch.
    5094 
    5095 commit 99b87a1a736ed1a74a2c329e71072ba1de294522
    5096 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5097 Date:   Wed May 11 11:57:47 2011 +0200
    5098 
    5099     DipoleAngularCorrelation() can be told not to reset time to old value.
    5100    
    5101     - this should save some unnecessary re-creation of bond structure when the
    5102       method is used by AnalysisDipoleAngularCorrelationAction::performCall().
    5103     - new enum ResetWorldTime in analysis_correlation.hpp to make reset statement
    5104       in call verbose.
    5105 
    5106 commit a860a19bf886a884948976987e34a1820dac2d8b
    5107 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5108 Date:   Wed May 11 10:50:45 2011 +0200
    5109 
    5110     TESTFIX: Regression test Analysis/DipoleAngularCorrelation now also checks per time step not over all time steps.
    5111    
    5112     - split up zero change (X) and true change (Y) case of the rotating water
    5113       molecule; otherwise output files get mixed.
    5114     - removed AT_XFAIL_IF from these tests.
    5115 
    5116 commit 13510b793af44e5bc7ff6b3cc7ea35c7ccb86c44
    5117 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5118 Date:   Thu Oct 27 10:21:32 2011 +0200
    5119 
    5120     Added regression test for setting Psi3Parser parameter reference.
    5121 
    5122 commit e5ece417206b4e99cde82d66079cfc947e65c7e7
    5123 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5124 Date:   Wed Oct 26 18:23:57 2011 +0200
    5125 
    5126     Added operator<< to ValueStorage.
    5127    
    5128     - this should ease debugging in case of a "missing" option.
    5129 
    5130 commit 41d023ff8dc20a2b26d06e7c4960972918c6e500
    5131 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5132 Date:   Wed Oct 26 18:22:33 2011 +0200
    5133 
    5134     Renamed SetMpqcParametersAction to SetParserParametersAction and generalized.
    5135    
    5136     - now we may set the parameters of basically any parser, so far it's probably
    5137       just mpqc and pis3.
    5138     - changed operator<<(FormatParser_Parameters): no output when value is empty
    5139       string.
    5140     - changed operator>>(FormatParser_Parameters): Asserts were not really making
    5141       sure that value_iter and param_iter were readible.
    5142     - Added regression test on setting psi3 parameters (wfn).
    5143 
    5144 commit 19bc7497091ba44d7d2c52ee7ba0f5997f9f291e
    5145 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5146 Date:   Fri Oct 28 17:05:03 2011 +0200
    5147 
    5148     Explained most of the tests.
    5149 
    5150 commit 3158e6e7748f2252aa12f1b10e68729ed45ca9fd
    5151 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5152 Date:   Fri Oct 28 11:46:29 2011 +0200
    5153 
    5154     FIX: FIX: broken variable docdir for DX_INIT_DOXYGEN.
    5155 
    5156 commit a2b0ce4a8778356724acb2bcd662a1df29a49344
    5157 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5158 Date:   Wed May 11 10:29:57 2011 +0200
    5159 
    5160     FIX: Filenames are appended with step with fixed width of 4 digits, zero filled.
    5161    
    5162     - FIX: step name preparation placed before.
    5163 
    5164 commit cda81de72ce7ee445f55ec79bd0c6eb340fc1edd
    5165 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5166 Date:   Wed May 11 10:10:27 2011 +0200
    5167 
    5168     DipoleAngularCorrelation is now calculated per time step not over all time steps combined.
    5169    
    5170     - DipoleAngularCorrelation() gets time step to calculate orientation for.
    5171     - AnalysisDipoleAngularCorrelationAction::performCall() loops over all present
    5172       time steps and calls DipoleAngularCorrelation() for each.
    5173    
    5174     - TESTFIX: Regression tests Analysis/DipoleAngularCorrelation are marked as
    5175       XFAIL until new tests are installed.
    5176 
    5177 commit 9e1709721fb1e279fa7c791bd154ef470bc3d091
    5178 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5179 Date:   Wed May 11 10:00:14 2011 +0200
    5180 
    5181     AnalysisDipoleAngularCorrelationAction now calculates zero orientation.
    5182    
    5183     - this is a preparatory step to get DipoleAngularCorrelation() calculate the
    5184       orientiation per time step and not over all time steps as it is now.
    5185 
    5186 commit bef3b93af4906063eed476be88fb1537ca4a3326
    5187 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5188 Date:   Wed May 11 09:59:39 2011 +0200
    5189 
    5190     Restructured code in AnalysisDipoleAngularCorrelationAction::performCall().
    5191 
    5192 commit 32568762b5f514a4aeb82ea1a411bfdc1f623cea
    5193 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5194 Date:   Wed May 11 09:54:00 2011 +0200
    5195 
    5196     DipoleAngularCorrelation() - External zero orientation vector may be given.
    5197 
    5198 commit 07a47e0c167bba50906b5cc3e9289ec6e7f1c6db
    5199 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5200 Date:   Wed Oct 26 17:02:53 2011 +0200
    5201 
    5202     Replaced enable/disable-hydrogen by internal switch.
    5203    
    5204     - changes in Fragmentation, Graph and molecule structures.
    5205     - switch is now enum HydrogenSaturation that is constant everywhere except in
    5206       the Actions. FragmentMoleculeAction and DepthFirstSearchAction have new
    5207       parameter DoSaturation with default value of true.
    5208 
    5209 commit 99b0dc7573c545c2d1ab699c79e875df4d992cb9
    5210 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5211 Date:   Tue Oct 25 14:31:39 2011 +0200
    5212 
    5213     FragmentAction now has instead of path a types parameter.
    5214    
    5215     - new output-types parameter, is a vector<string> for giving a list of desired
    5216       output types similar to SetOutputFormatAction.
    5217     - TESTFIX: as vector<string> cannot have default value, we had to adapt the two
    5218       regression tests Fragmentation/FragmentMolecule.. and the fragmentation
    5219       tests.
    5220 
    5221 commit babcc1820497b0340a453fa9b4442f2e06d4da34
    5222 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5223 Date:   Fri Oct 21 01:12:48 2011 +0200
    5224 
    5225     MoleculeListClass::OutputConfigForListOfFragments() now uses FormatParserStorage.
    5226    
    5227     - Fragmentation::FragmentMolecule(): fragments in type mpqc, pcp, and xyz are
    5228       stored one after the other.
    5229     - MoleculeListClass::OutputConfigForListOfFragments() expects type and uses
    5230       FormatParserStorage for writing.
    5231 
    5232 commit 09183883c4af7885de0d266ede8f220dc680b30a
    5233 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5234 Date:   Fri Oct 21 01:48:40 2011 +0200
    5235 
    5236     FormatParserStorage now explicitly needs to know which formats to store automatically.
    5237    
    5238     - new functions FormatParserStorage::setOutputFormat() for giving this info.
    5239     - FormatParserStorage::SaveAll() only calls setOstream if the format is
    5240       desired.
    5241     - FIX: FormatParser_common::FormatParser_common() forget to initialize
    5242       saveStream.
    5243     - FormatParser_common::update() only stores when saveStream is not NULL, i.e.
    5244       set.
    5245     - SetOutputFormatsAction now uses add and setOutputFormat().
    5246     - InputAction also adds the format of the input file.
    5247    
    5248     Note that this is needed to allow various output formats for BondFragments in
    5249     Fragmentation without these formats eventually also being used for the writing
    5250     of the main input file.
    5251 
    5252 commit 0a7fad383c9fd7d10f25e6da08f4bf4a9f244cc6
    5253 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5254 Date:   Wed May 11 09:46:24 2011 +0200
    5255 
    5256     Refactored part of code in DipoleAngularCorrelation into new method CalculateZeroAngularDipole().
    5257 
    5258 commit 1cc6612f1b1334040e49d3ffce07d7472926e3f1
    5259 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5260 Date:   Wed May 11 09:37:35 2011 +0200
    5261 
    5262     Refactored part of DipoleAngularCorrelation into method getTrajectoryBounds().
    5263 
    5264 commit be0c61a73bfd606125fbc0307b518e335d3a1ce1
    5265 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5266 Date:   Wed May 11 09:42:43 2011 +0200
    5267 
    5268     FIX: DipoleAngularCorrelation() - ZeroVector is now map over atoms, not vector over molecules.
    5269    
    5270     - Molecules are not consistent over trajectories, atoms however are.
    5271     - hence, we store the ZeroVector for each atom of a molecule, not per molecule.
    5272 
    5273 commit 4b8630316b58cd0e54f594244af59c4f9560b633
    5274 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5275 Date:   Sat Feb 19 01:09:43 2011 +0100
    5276 
    5277     World::setTime() now updates bond structure of system and related changes to DipoleAngularCorrelation.
    5278    
    5279     - extended regression test Analysis/DipoleAngularCorrelation with xyz example
    5280       whose bond structure is updated per time step.
    5281     - FIX: DepthFirstSearchAnalysis::operator() did not reset bonds to unused.
    5282     - FIX: DipoleAngularCorrelationAction has to work on atoms not molecules as the
    5283       latter are subject to changes due to changing bond structure.
    5284     - FIX: DipoleAngularCorrelation() re-calculates current set of molecules from
    5285       the select atoms and stores first atom in values file, not molecule name.
    5286 
    5287 commit 4fc828b58deb25fc433599e0a2567df1f7b71101
    5288 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5289 Date:   Wed Feb 16 13:56:48 2011 +0100
    5290 
    5291     DipoleAngularCorrelation working with multi-timestep PDBs with CONECT entries.
    5292    
    5293     - new regression test Analysis/DipolarAngularCorrelation: testing rotated water
    5294       dipole.
    5295 
    5296 commit df8759e00f2b2d82d6334340d4d0ecd763ec575b
    5297 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5298 Date:   Fri Feb 11 23:52:53 2011 +0100
    5299 
    5300     Renamed test dirs Analysis/AngularDipoleCorrelation-... ->DipoleCorrelation-...
    5301 
    5302 commit 208237bbbc57a8a1a39e9eba2b8f9ccd181228d8
    5303 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5304 Date:   Fri Feb 11 23:28:51 2011 +0100
    5305 
    5306     Renamed DipoleAngularCorrelation(Action) -> DipoleCorrelation(Action) and new DipoleAngularCorrelation(Action).
    5307    
    5308     - DipoleCorrelation performs dipole orientation calculation.
    5309     - DipoleAngularCorrelation calculates the change in dipole orienation over
    5310       time.
    5311     - new action DipoleAngularCorrelationAction
    5312 
    5313 commit 3a9091f060344cff8516d05b05d191d5b46b5131
    5314 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5315 Date:   Fri Oct 21 01:11:57 2011 +0200
    5316 
    5317     TESTFIX: Fragmentation tests used FRAGMENTPREFIX instead of FILENAME.
    5318    
    5319     - also enhanced test by checking for presence of pcp, mpqc, and xyz files in
    5320       correct number.
    5321 
    5322 commit 851be8001d3ee00fa3ac2cfd8ae65a67a8bced04
    5323 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5324 Date:   Thu Oct 20 13:05:14 2011 +0200
    5325 
    5326     Moved functions that deal with adaptivity from fragmentation_helpers into AdaptivityMap.
    5327    
    5328     - Adapted Fragmentation::CheckOrderAtSite() a bit as maps of adaptive values
    5329       are now all encapsulated in AdaptivityMap.
    5330 
    5331 commit 730d7a4efc3a2396723036e90420b93ff9ed3b03
    5332 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5333 Date:   Thu Oct 20 12:34:17 2011 +0200
    5334 
    5335     New class AdaptivityMap and moved some functions from fragmentation_helpers into it.
    5336 
    5337 commit 75363b3f88c851b63d6e61e7ac05f88177419a9c
    5338 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5339 Date:   Thu Oct 20 12:17:10 2011 +0200
    5340 
    5341     Extracted functions from fragmentation_helpers and placed them in KeySet or Graph class.
    5342    
    5343     - KeySet: ScanBufferIntoKeySet()
    5344     - Graph: ParseKeySetFile(), StoreKeySetFile(), ParseTEFactorsFile(),
    5345       StoreTEFactorsFile(), GraphToIndexedKeySet()
    5346 
    5347 commit 42127c3196b85e2b52749471ca9014640269b9fb
    5348 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5349 Date:   Thu Oct 20 11:58:57 2011 +0200
    5350 
    5351     Extracted definition of MoleculeListClass and put into own header module.
    5352 
    5353 commit f7fd17250d78b009d453e4c413831fa516bb4971
    5354 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5355 Date:   Thu Oct 20 11:58:15 2011 +0200
    5356 
    5357     FIX: Removed remnant definition of molecule::StoreForcesFile().
    5358    
    5359     - function has been shifted over to MoleculeListClass some time ago.
    5360 
    5361 commit d3abb155bcc85709402bb9d4f61ee6386c074874
    5362 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5363 Date:   Thu Oct 20 11:32:35 2011 +0200
    5364 
    5365     Extracted MoleculeLeafClass into own module.
    5366    
    5367     - removed some unnecessary includes in moleculelist.cpp.
    5368 
    5369 commit ba94c53b55b13c65d4a227ddc75d8d7e657d9670
    5370 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5371 Date:   Thu Oct 20 11:14:56 2011 +0200
    5372 
    5373     Removed modules graph.[ch]pp.
    5374    
    5375     - typedef of KeyStack is placed in fragmentation_helpers.
    5376 
    5377 commit dadc744c2f6ef8c2075a7e5a791c33b711bd6e20
    5378 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5379 Date:   Thu Oct 20 11:02:58 2011 +0200
    5380 
    5381     Extracted Graph (map of KeySets) into own class from graph.hpp.
    5382    
    5383     - Placed InsertGraphIntoGraph() as its member function.
    5384 
    5385 commit f0674ad457e26229a9fc919b6f3659591649bf06
    5386 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5387 Date:   Thu Oct 20 10:17:18 2011 +0200
    5388 
    5389     Extracted KeySet from graph.hpp and made into distinct class.
    5390    
    5391     - member function operator<() replaces former KeyCompare struct.
    5392 
    5393 commit 246e135b36a823fc68a5447dc711b024f2d49ce7
    5394 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5395 Date:   Wed Oct 19 19:07:28 2011 +0200
    5396 
    5397     Placed FragmentMolecule, FragmentBOSSANOVA and subfunctions into own class Fragmentation.
    5398 
    5399 commit 212c179a20d30dfd1c8d9f011f4617d5bc87f1fc
    5400 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5401 Date:   Tue Oct 18 15:16:51 2011 +0200
    5402 
    5403     Placed all functions related to BondsPerSPList into own class BondsPerShortestPath.
    5404 
    5405 commit d0b375b2180798e3740178ea430700a3329073f6
    5406 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5407 Date:   Tue Oct 18 15:28:37 2011 +0200
    5408 
    5409     Removed ShortestPathList.
    5410    
    5411     - there have been references in the code that ShortestPathList is probably
    5412       obsolete meanwhile (seemingly it is).
    5413 
    5414 commit f67817f7834dceb2a5c0a857fa17b2481b42a01b
    5415 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5416 Date:   Tue Oct 18 14:26:01 2011 +0200
    5417 
    5418     Extracted power set generation into own class PowerSetGenerator.
    5419 
    5420 commit 23fb721d34ba720a6277c697c046193f6203fb09
    5421 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5422 Date:   Tue Oct 18 14:02:04 2011 +0200
    5423 
    5424     Encapsulated UniqueFragments::Root with getter/setter.
    5425 
    5426 commit f6d1d0176076be85059fb287303c6172d2cca0a6
    5427 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5428 Date:   Tue Oct 18 13:56:39 2011 +0200
    5429 
    5430     Made some member variable of UniqueFragments private.
    5431 
    5432 commit a03d25a95438c62d1f4eccba93c94bb3f6281096
    5433 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5434 Date:   Tue Oct 18 13:53:21 2011 +0200
    5435 
    5436     Placed all routines working on UniqueFragments struct inside this class.
    5437    
    5438     - changed struct to class.
    5439 
    5440 commit d9a032dc6846bb5d2cf9a7b5a184c2a68e344dcd
    5441 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5442 Date:   Tue Oct 18 13:52:27 2011 +0200
    5443 
    5444     Initiated own conveniance library for folder src/Fragmentation.
    5445    
    5446     - Makefile.am included in src/Makefile.am, library included in
    5447       UIElements/Makefile.am.
    5448 
    5449 commit ba182315c666d68dd36bb0ef46e7f304d4644105
    5450 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5451 Date:   Tue Oct 18 11:12:25 2011 +0200
    5452 
    5453     Moved all helpers fragmentation functions into folder src/Fragmentation.
    5454 
    5455 commit 70879889df9c3fa9ecec560fe07215db0e872f09
    5456 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5457 Date:   Tue Oct 18 10:50:19 2011 +0200
    5458 
    5459     FIX: removed -version-info from libMolecuilderGraph.
    5460    
    5461     - it's just a convenience library that have no versioning.
    5462 
    5463 commit ec87e45589461e444811eea2933d639a2f8b3e6a
    5464 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5465 Date:   Mon Oct 17 17:23:42 2011 +0200
    5466 
    5467     Rewrite of CheckAgainstAdjacencyFile.
    5468    
    5469     - we now construct two multimaps -- one from file, the other from World's
    5470       selected atoms -- and compare these two.
    5471     - added unit test on the class.
    5472 
    5473 commit 5fd0f4d49b0461d32ede06c7157852e0fb66eb04
    5474 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5475 Date:   Tue Oct 25 11:48:21 2011 +0200
    5476 
    5477     Set version to 1.1.5
    5478    
    5479     - Molecuilder library is now 5:1:0.
    5480    
    5481     - Codename "Melli Beese" (first female German aviator, her flight license
    5482       number is 115).
    5483 
    5484 commit f9495313044c5d59ac825fc0648e8ca03265262e
    5485 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5486 Date:   Tue Oct 25 11:47:01 2011 +0200
    5487 
    5488     DISTCHECKFIX: regression test Fragmentations/Joining required writable fragment dirs.
    5489 
    5490 commit 360c8bbc74f8b9ba85e29afb3769876f4b7fd8b1
    5491 Merge: fa9d1d1 752bb4e
    5492 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5493 Date:   Fri Oct 21 00:40:59 2011 +0200
    5494 
    5495     Merge branch 'Adding_Psi3Parser' into stable
    5496    
    5497     Conflicts:
    5498         src/Parser/FormatParser.hpp
    5499         src/Parser/unittests/ParserTremoloUnitTest.cpp
    5500    
    5501     Issues:
    5502     - Element and periodentafel have been moved to folder src/Element.
    5503 
    5504 commit fa9d1d1f9bdda596edc780e18f57c4ea62847227
    5505 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5506 Date:   Thu Oct 20 23:29:24 2011 +0200
    5507 
    5508     FIX: CreateAdjacencyAction now uses BondGraph::CreateAdjacency.
    5509 
    5510 commit 539f3262192fc147f35ffbe84d178021484129ba
    5511 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5512 Date:   Thu Oct 20 15:19:21 2011 +0200
    5513 
    5514     Enhanced BondGraph::CreateAdjacency() a bit.
    5515 
    5516 commit 9317be0fb11b31ce2211407310d3957055993f16
    5517 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5518 Date:   Thu Oct 20 15:18:47 2011 +0200
    5519 
    5520     Replaced molecule::atomVector by World::AtomComposite everywhere.
    5521 
    5522 commit 02504849fae5321dbdba4e3e930f7a9dda6edd06
    5523 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5524 Date:   Thu Oct 20 14:39:01 2011 +0200
    5525 
    5526     Enhanced Box::periodicDistanceSquared() by an internal_explode().
    5527    
    5528     - internal_explode() works on an static internal VECTORSET(list) such that
    5529       there is no need for repeated memory allocation/deallocation for said list.
    5530 
    5531 commit 93d78e8de4fa69e04316803de231b7406107b2d9
    5532 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5533 Date:   Thu Oct 20 10:49:51 2011 +0200
    5534 
    5535     TEST: Added missing atom keyword to regression tests on selection of cuboid and sphere.
    5536 
    5537 commit a8b9136123589e07842ffdaf5264dce9ddfeae73
    5538 Merge: 9c27b0a 6a51087
    5539 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5540 Date:   Thu Oct 20 10:21:40 2011 +0200
    5541 
    5542     Merge branch 'Fix_Test-Fragmentation_Header' into stable
    5543 
    5544 commit 6a5108701db116011bdc260e154e48610a36cc4a
    5545 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5546 Date:   Thu Oct 20 10:20:53 2011 +0200
    5547 
    5548     FIX: Header name of Fragmentations test was wrong.
    5549 
    5550 commit 9c27b0a005883e62a6fe86a9c2d191e872d16452
    5551 Merge: 45f835e b1ac7aa
    5552 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5553 Date:   Thu Oct 20 09:04:50 2011 +0200
    5554 
    5555     Merge branch 'MatrixContainer_Serialization_rewrite' into stable
    5556 
    5557 commit b1ac7aab284bf1319974b1e2e835aba2d14405c8
    5558 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5559 Date:   Mon Sep 19 17:16:12 2011 +0200
    5560 
    5561     Added Undo/Redo capabilities to BondLengthTableAction.
    5562    
    5563     - thanks to serialization of BondGraph.
    5564 
    5565 commit 8297610a06ece879892f92f6ac27321f60251965
    5566 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5567 Date:   Mon Sep 19 17:15:36 2011 +0200
    5568 
    5569     New function BondGraph::CleanupBondLengthTable().
    5570    
    5571     - allows for removing present BondLengthMatrix.
    5572 
    5573 commit 1ac24b80f6b3f8aba2fbfb1c14a5d63c284fbc40
    5574 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5575 Date:   Fri Sep 16 19:45:13 2011 +0200
    5576 
    5577     Added unit test function SerializationTest to BondGraphUnitTest.
    5578 
    5579 commit f007a17a35c1dd25022c6a180a76cf04611c9546
    5580 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5581 Date:   Fri Sep 16 19:37:27 2011 +0200
    5582 
    5583     Added serialization capability to class BondGraph.
    5584    
    5585     - note that we do not serialize BondThreshold in BondGraph, is nonsense for a
    5586       static member anyway.
    5587     - added private default constructor for BondGraph.
    5588 
    5589 commit 9b6663a9104435e3330a5789ca82ba9e6f3aa7be
    5590 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5591 Date:   Fri Sep 16 19:47:32 2011 +0200
    5592 
    5593     Added operator==() to BondGraph.
    5594    
    5595     - also added new unit test function EqualityTest to BondGraphUnitTest.
    5596 
    5597 commit 2d5fee5a517443fd00a0fb14e2ac95c440400ff6
    5598 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5599 Date:   Fri Sep 16 19:29:04 2011 +0200
    5600 
    5601     Added unit test functions SerializationTest for KeySetsContainer and MatrixContainer.
    5602 
    5603 commit 942906bb18ea082db1ef88cc4736b482eb87e71a
    5604 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5605 Date:   Tue Sep 20 12:10:14 2011 +0200
    5606 
    5607     Added serialize() template functions to MatrixContainer and KeySetsContainer.
    5608    
    5609     - also we now require CodePatterns 1.1.6 due to valarray inclusion before MemDebug.
    5610 
    5611 commit 752bb4eebc964734dfa22c23ba3e97bd95f58501
    5612 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5613 Date:   Thu Oct 6 16:05:03 2011 +0200
    5614 
    5615     Added regression test Parser/Psi3.
    5616    
    5617     - this is heavily inspired from Parser/Mpqc.
    5618 
    5619 commit d640ea4f513e93f75000fdadbe0789cf1671a383
    5620 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5621 Date:   Thu Oct 6 15:55:45 2011 +0200
    5622 
    5623     Implemented Psi3Parser::save().
    5624    
    5625     - also we now have working unit test on this functionality.
    5626 
    5627 commit 9011c1ce1292bb6459bc13092fe0c8ad098f64ec
    5628 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5629 Date:   Thu Oct 6 15:55:16 2011 +0200
    5630 
    5631     Added atom::OutputPsi3Line() to output a Psi3 conforming geometry line.
    5632 
    5633 commit 120a864188be57481b4c722362c9ea2925039878
    5634 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5635 Date:   Thu Oct 6 15:54:34 2011 +0200
    5636 
    5637     TESTFIX: Added check whether streams are empty to ParserMpqcUnitTest::writeMpqcTest().
    5638 
    5639 commit 1b145f245526521e82fb04541ca99bbfce500a42
    5640 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5641 Date:   Fri Sep 16 19:06:19 2011 +0200
    5642 
    5643     Added operator==() to KeySetsContainer and MatrixContainer.
    5644    
    5645     - also added unit test functions for both.
    5646 
    5647 commit 9758f70c8acad564988f204ebc13d19c82b5fa37
    5648 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5649 Date:   Fri Sep 16 18:24:18 2011 +0200
    5650 
    5651     Removed C arrays in KeySetsContainer and MatrixContainer.
    5652    
    5653     - replaced by std::vector<>s.
    5654     - transition is so far very minimal, external (range) counters are still
    5655       present.
    5656     - extracted allocation of memory into own block in
    5657       MatrixContainer::parseMatrix().
    5658 
    5659 commit a9b86da232c3a8beead3fa86a30c4841166788f7
    5660 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5661 Date:   Thu Sep 15 18:02:17 2011 +0200
    5662 
    5663     Split up modules parser.[ch]pp into one module per class.
    5664    
    5665     - fixed inclusion of parser.hpp in some other files.
    5666     - for the moment we have to use libMolecuilderUI for joiner and analyzer.
    5667     - Removed inline definition from FixedDigitNumber().
    5668 
    5669 commit c170915bbc3f208c828f605923829245c6a832b9
    5670 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5671 Date:   Thu Oct 6 15:54:10 2011 +0200
    5672 
    5673     Added convenience function Psi3Parser_Parameters::getReferenceName().
    5674 
    5675 commit a67cf089d410daed85c0fd273c385b1120390f24
    5676 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5677 Date:   Thu Oct 6 15:52:49 2011 +0200
    5678 
    5679     Renamed Psi3Parser_Parameters::multipParam to ::multiplicityParam.
    5680 
    5681 commit 032f31cf80e8ee3e35032df0bfd39da32b7db018
    5682 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5683 Date:   Thu Oct 6 13:15:56 2011 +0200
    5684 
    5685     Implemented Psi3Parser::load().
    5686    
    5687     - also we now have working unit test on this functionality.
    5688 
    5689 commit 7f570c6517b39d5c867f97f951a6d8b7300e1cdb
    5690 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5691 Date:   Thu Oct 6 13:12:35 2011 +0200
    5692 
    5693     Moved operator<<() and operator>>() from Mpqc/Psi3Parser_Parameters into FormatParser_Parameters.
    5694    
    5695     - setting and getting of values are generalized.
    5696 
    5697 commit f758dd8abf6c4577aedad2b0a76999a202061c35
    5698 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5699 Date:   Wed Oct 5 17:46:00 2011 +0200
    5700 
    5701     ParserPsi3UnitTest::ParameterSetterTest() is working.
    5702 
    5703 commit 154a459603c8dfe4f80902f3317a2b16ae570d5d
    5704 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5705 Date:   Wed Oct 5 17:17:27 2011 +0200
    5706 
    5707     ParserPsi3UnitTest::ParameterCloneTest() is working.
    5708 
    5709 commit 1bef077d3656c91b027c4cf35ca7eb3e79969644
    5710 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5711 Date:   Wed Oct 5 10:52:25 2011 +0200
    5712 
    5713     Added first working version of a Psi3Parser.
    5714    
    5715     - is so far mostly copy&paste from MpqcParser.
    5716     - important parameters all are in (including valid ranges).
    5717     - also added unit tests.
    5718 
    5719 commit ee50c1deef0fe012d0eaf1e68d36c5bb53c0b663
    5720 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5721 Date:   Fri Sep 30 18:20:34 2011 +0200
    5722 
    5723     Complete rewrite of MpqcParser_Parameters to incorporate new Parameter(Storage) structure.
    5724    
    5725     - FormatParser_Parameters now contains a ParameterStorage instance which
    5726       contains all parameters and is easy to clone.
    5727     - MpqcParser_Parameters is basically just an Init() function that fills this
    5728       storage for the specific case of the FormatParser<mpqc>.
    5729     - additionally, there are some convenience functions, enums and maps which
    5730       contains strings and make setting and getting parameters more easy.
    5731     - adapted MpqcParser.
    5732     - adapted Unit test for MpqcParser accordingly:
    5733      - no more tests on type
    5734     - TESTFIX: regression test Parser/Mpqc/post/empty.in was CLHF instead of
    5735       default MBPT2. As the cloning is now working flawlessly, this has been
    5736       fixed.
    5737 
    5738 commit 89a67feeca325baa0a621159f142173ffe172e6d
    5739 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5740 Date:   Fri Sep 30 18:19:34 2011 +0200
    5741 
    5742     Added StringParameter as ContinuousParameter<string> as string do not have any sensible valid range.
    5743    
    5744     - this does not inherit any StringValue but implements ValueInterface right
    5745       away.
    5746     - also added unit test.
    5747 
    5748 commit c0da07019a983e8a4d1b525a29d74725a5c59bf2
    5749 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5750 Date:   Fri Sep 30 18:02:47 2011 +0200
    5751 
    5752     Added constructor that set value to ContinuousParameter and DiscreteParameter.
    5753 
    5754 commit ec0acc0fca5519d83e2d28d3453c58ad0e82b4e2
    5755 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5756 Date:   Fri Sep 30 15:00:15 2011 +0200
    5757 
    5758     Added ParameterStorage which is a Registry for Parameter instances.
    5759    
    5760     - also added unit test.
    5761 
    5762 commit 6b522838f6543ee1ab24529fca07826520e8de92
    5763 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5764 Date:   Tue Oct 4 10:35:42 2011 +0200
    5765 
    5766     Added operator==() to Continuous- and DiscreteParameter classes.
    5767    
    5768     - added comparator function for both Parameter types.
    5769     - added unit tests on these.
    5770 
    5771 commit 39fa96414c2fb9b7b844fefc27eef74da86fe2ac
    5772 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5773 Date:   Tue Oct 4 10:34:41 2011 +0200
    5774 
    5775     Added variable name and function getName() to interface Parameter.
    5776    
    5777     - a Parameter always must have a name (cstors without params are private).
    5778     - this is preparatory for storage inside a Registry<Parameter>.
    5779     - adapted Continuous- and DiscreteParameter's cstors accordingly, pass on to
    5780       Parameter's cstor.
    5781 
    5782 commit c4afd1ada21b7e8c7c09cb2144a757477ed4b7f4
    5783 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5784 Date:   Fri Sep 30 14:29:13 2011 +0200
    5785 
    5786     Added Continuous- and DiscreteParameter classes.
    5787    
    5788     - new interface class Parameter which is a clonable ValueInterface.
    5789     - Continuous- and DiscreteParameter implement the clone() function for
    5790       Continuous- and DiscreteValue respectively.
    5791     - also added unit tests on each clone function.
    5792 
    5793 commit 5f61dde6d65664e1c8372220d4cb8bcc04b686d1
    5794 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5795 Date:   Mon Sep 12 11:03:09 2011 +0200
    5796 
    5797     Removed usage of namespace std in module parser.[ch]pp.
    5798 
    5799 commit 3613a21865200b0e605c9c0b4a60e523f04b1811
    5800 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5801 Date:   Mon Sep 19 16:44:45 2011 +0200
    5802 
    5803     FIX: periodentafel::LoadPeriodentafel() did not load color db from path.
    5804 
    5805 commit 4ae823cec9aee17aaa21ae3a9dde58110c0db527
    5806 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5807 Date:   Mon Sep 19 16:43:55 2011 +0200
    5808 
    5809     periodentafel may or may not Load internal databases in its cstor.
    5810    
    5811     - loading extracted into private ScanPeriodentafel() function.
    5812 
    5813 commit 9d4ff35ec4a64e47b992434a7cedc91dad9839ec
    5814 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5815 Date:   Tue Sep 20 11:40:55 2011 +0200
    5816 
    5817     Reduced library dependencies of RandomNumbers and BoxUnitTest.
    5818 
    5819 commit 592be9a388decc9a41c3507b7e5f23289522e8f5
    5820 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5821 Date:   Mon Sep 19 17:29:46 2011 +0200
    5822 
    5823     Moved unitests on Element... into subfolder src/Element/unittests.
    5824    
    5825     - new Makefile is included in src/unitests/Makefile.am.
    5826 
    5827 commit 3bdb6de29d0b7776bda5bfd425ac0a815e8a8d88
    5828 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5829 Date:   Fri Sep 16 12:07:33 2011 +0200
    5830 
    5831     Moved all stuff related to elements into own subfolder and has its own convenience library.
    5832    
    5833     - this induced massive changes in includes in other files.
    5834     - we adapted PeriodentafelUnitTest to not get instance from world, but we
    5835       create it ourselves.
    5836     - also moved all .db files related to elements into subfolder Element/.
    5837 
    5838 commit 2fadb6f6487d66855d2a973ab3e063aa3e0af5b6
    5839 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5840 Date:   Fri Sep 16 12:11:22 2011 +0200
    5841 
    5842     Helpers now reside in own convenience library.
    5843    
    5844     - this allows for stricter dependencies for joiner and analyzer.
    5845 
    5846 commit dd9d69bdbc669c5669e64c225c4cde9454b3be33
    5847 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5848 Date:   Thu Sep 15 18:03:07 2011 +0200
    5849 
    5850     Prefixed double inclusion-preventing defines in header files in Helpers/ with HELPERS_.
    5851    
    5852     - this avoids name conflicts with other defs.hpp and helpers.hpp
    5853 
    5854 commit 9b5a2c623129c569571d4a77eabff8bb2bc84231
    5855 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5856 Date:   Mon Sep 19 17:44:11 2011 +0200
    5857 
    5858     Moved analysis modules into subfolder Analysis along with its unit tests.
    5859    
    5860     - new Makefiles are included in src/Makefile.am and src/unittests/Makefile.am.
    5861 
    5862 commit 498dddb270b5a81a0dc413c9707b1fd0ba8ff7fb
    5863 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5864 Date:   Fri Sep 30 14:26:44 2011 +0200
    5865 
    5866     Added operator==() and operator!=() to Continuous- and DiscreteValue.
    5867    
    5868     - ValueInterface is now inherited virtually.
    5869     - this is preparatory for class Parameter which is a clonable ...Value.
    5870     - we need comparators for the unit tests on that.
    5871     - unit test added for comparators.
    5872 
    5873 commit 84e752ece4991982e2abc41c173b1a6d98ab98b0
    5874 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5875 Date:   Fri Sep 30 11:40:49 2011 +0200
    5876 
    5877     Moved Continuous- and DiscreteValue into subfolder Parameters.
    5878    
    5879     - this folder is to contain all stuff related to internal parameters of the
    5880       parsers.
    5881 
    5882 commit a7d753240301a775068e9e813720c7f0c9744b03
    5883 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5884 Date:   Fri Sep 30 11:32:43 2011 +0200
    5885 
    5886     Extended DiscreteValue to ContinuousValue and added ValueInterface for both.
    5887    
    5888     - new template class ContinuousValue representing a continous value with a
    5889       valid range.
    5890     - in order to store both DiscreteValue and ContinuousValue as parameters, both
    5891       have a common interface ValueInterface that works in string only.
    5892     - both classes have extensive unit tests.
    5893 
    5894 commit 3308b607408a811d157f5645f1d4a94e5482ebd3
    5895 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5896 Date:   Thu Sep 29 13:03:29 2011 +0200
    5897 
    5898     FIX: 3 out of 4 unit tests have not been told to throw AssertException instead of abort.
    5899 
    5900 commit e09d671ae5398d72cd8e8524d71f9f9b44e6b4d6
    5901 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5902 Date:   Thu Sep 29 09:58:30 2011 +0200
    5903 
    5904     Added class DiscreteValue that contains enums.
    5905    
    5906     - class has extensive unit test.
    5907     - this should replace enums in MpqcParser_Parameters.
    5908 
    5909 commit d3d6c66c9874b31665d602a9fb2803e8c7fabdb3
    5910 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5911 Date:   Wed Sep 28 14:58:10 2011 +0200
    5912 
    5913     Added templated InvertMap function to ease MpqcParser_Parameters::Init().
    5914 
    5915 commit 765f16856478316e039b16a1098e4f2a6bb42332
    5916 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5917 Date:   Tue Sep 27 21:04:36 2011 +0200
    5918 
    5919     Huge Refactoring of FormatParserStorage and all FormatParser's.
    5920    
    5921     FormatParser:
    5922     - FormatParser is now a template, specialized by enum ParserTypes.
    5923     - new struct FormatParserTrait is as well a template of same type, containing
    5924       parser-specific information in static entities.
    5925     - all FormatParsers are now specializations of this FormatParser.
    5926     - all Parsers can be accessed in a unified manner, given in the new class
    5927       FormatParserInterface.
    5928     - common functions are placed in FormatParser_common.hpp as one cannot
    5929       partially specialize a function class.
    5930     - some boost preprocessor magic is used in ParserTypes and FormatParserTraits
    5931       to define the template specialization or to create the ParserTypes
    5932       enumeration.
    5933    
    5934     FormatParserStorage:
    5935     - We construct all lookup tables and alikes via boost preprocessor magic from
    5936       a list of all available parser (enums).
    5937     - we use the templated getParser() and addParser() functions to serve parsers
    5938       to the outside. Instances are as usual created only once.
    5939    
    5940     Tests:
    5941     - tests only had to be changed because of the "renaming" of the Parsers.
    5942 
    5943 commit 9a6b76ea7056096d32eb9b5d2f5a438af7e0f720
    5944 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5945 Date:   Tue Sep 27 12:38:50 2011 +0200
    5946 
    5947     Refactored enumeration ParserTypes into extra module.
    5948 
    5949 commit ebb87c7a55e63dedb418fb7cf9a03772ada9111e
    5950 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5951 Date:   Tue Sep 27 12:38:12 2011 +0200
    5952 
    5953     FIX: Added check whether suffix belongs to well-defined parser type.
    5954 
    5955 commit 6d0f058e7c5c56b22245c79b218fae3eadf5b161
    5956 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5957 Date:   Tue Sep 27 11:59:04 2011 +0200
    5958 
    5959     Removed all FormatParserStorage::get() and ::set().
    5960    
    5961     - we now call directly the template getParser<>(), setParser<>() versions in
    5962       the few places needed.
    5963     - simplified ::load() and ::save() a lot by using getTypeFromSuffix() instead
    5964       of the ugly if sequence.
    5965 
    5966 commit e114e3248317a8dd940a02e562b964986a19cba6
    5967 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5968 Date:   Tue Sep 27 11:34:19 2011 +0200
    5969 
    5970     FormatParserStorage::add...() and ::get...() now use internally the templated functions.
    5971 
    5972 commit db67ea17aa551d3049097b9c184e75073c2fa662
    5973 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5974 Date:   Tue Sep 27 10:32:36 2011 +0200
    5975 
    5976     Added template getParser/setParser to FormatParserStorage.
    5977    
    5978     - specialized templated getParser/setParser in FormatParserStorage will soon
    5979       replace all the add..() and get...() functions.
    5980 
    5981 commit 629e436dfaae8a6f744563906c2fb347afa4a696
    5982 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5983 Date:   Mon Sep 19 17:33:51 2011 +0200
    5984 
    5985     Moved unitests on BondGraph into subfolder src/Graph/unittests.
    5986    
    5987     - new Makefile is included in src/unitests/Makefile.am.
    5988 
    5989 commit 45f835e8c203e278cf19fe6699144297ddcc29a7
    5990 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5991 Date:   Fri Oct 14 14:10:02 2011 +0200
    5992 
    5993     Added Undo/Redo capabilities to RepeatBoxAction.
    5994    
    5995     - adapted regression tests.
    5996 
    5997 commit 34fbb3fde7c90f235a86b15ee32ef575800bb53f
    5998 Author: Frederik Heber <heber@ins.uni-bonn.de>
    5999 Date:   Fri Oct 14 14:09:30 2011 +0200
    6000 
    6001     FIX: CopyAction did not simply use removeAtomsinMolecule().
    6002 
    6003 commit cbfb9a5a855848ef4183265a6f39366c22d0c5df
    6004 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6005 Date:   Wed Sep 14 18:12:12 2011 +0200
    6006 
    6007     Added Undo/Redo capabilities to ScaleBoxAction.
    6008    
    6009     - adapted regression tests.
    6010 
    6011 commit 7b4a290b3d37b54a794d7dc819b69614c3c9a67f
    6012 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6013 Date:   Wed Sep 14 18:00:31 2011 +0200
    6014 
    6015     Added Undo/Redo capabilities to ChangeBoxAction.
    6016    
    6017     - removed XFAIL from regression tests.
    6018 
    6019 commit de7d1dba7824fa30f6db19bd9e5951529efb0758
    6020 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6021 Date:   Wed Sep 14 17:58:15 2011 +0200
    6022 
    6023     Added Undo/Redo capabilities to CenterOnEdgeAction.
    6024    
    6025     - adapted regression test.
    6026 
    6027 commit 23526ca91bfbf2679afc5840c9ee7c434447dce7
    6028 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6029 Date:   Wed Sep 14 17:46:05 2011 +0200
    6030 
    6031     Added Undo/Redo capabilities to CenterInBoxAction.
    6032    
    6033     - adapted regression test.
    6034 
    6035 commit e670e4be73c7724177f5fef761653d7f8432d689
    6036 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6037 Date:   Wed Sep 14 17:25:14 2011 +0200
    6038 
    6039     Added Undo/Redo capabilities to BoundInBoxAction.
    6040    
    6041     - also added regression test.
    6042 
    6043 commit 9cd6bf995419cdfd5a5058be82ebeb15acdb539c
    6044 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6045 Date:   Mon Sep 12 11:07:45 2011 +0200
    6046 
    6047     Added Undo/Redo capabilities to AddEmptyBoundaryAction.
    6048    
    6049     - adapted regression tests.
    6050 
    6051 commit ce133f70502bb6727370591a8ac8595935e943e1
    6052 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6053 Date:   Wed Oct 12 16:29:04 2011 +0200
    6054 
    6055     Initial commit for enhancing doxygen documentation.
    6056    
    6057     - added .dox types to FILE_TYPES in Doxyfile.
    6058     - added folders documentation to both src/ and LinearAlgebra/src.
    6059     - added some preliminary files to both which should be filled.
    6060     - the idea is to have all documentation that is not associable to a specific
    6061       class (e.g. serialization) in an extra file.
    6062     - also we should introduce groups and generally order and enhance
    6063       documentation.
    6064 
    6065 commit 0b004b9c4dd37a728f061baad5c2608f74225c66
    6066 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6067 Date:   Mon Sep 19 17:49:27 2011 +0200
    6068 
    6069     Moved all unittests on Tesselation into subfolder Tesselation/unittests.
    6070    
    6071     - new Makefile.am is included in src/unittests/Makefile.am.
    6072 
    6073 commit d127c80ca46c99e6f56f7584ee0691672287c486
    6074 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6075 Date:   Thu Sep 15 16:51:45 2011 +0200
    6076 
    6077     Moved modules related to Tesselation into own source subfolder.
    6078    
    6079     - This required quite a lot of changes in includes.
    6080 
    6081 commit feb7dfc315521e9dc2c1caf69c64722e14330c18
    6082 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6083 Date:   Fri Sep 16 18:55:27 2011 +0200
    6084 
    6085     Added unittests to Fragmentation subfolder.
    6086    
    6087     - added empty tests for KeySetsContainer and MatrixContainer.
    6088 
    6089 commit bc28b0f3f8149d6034a044085ee96722cb9a75e3
    6090 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6091 Date:   Thu Sep 15 16:43:32 2011 +0200
    6092 
    6093     Moved modules associated with fragmentation into source subfolder Fragmentation.
    6094 
    6095 commit 878044f2802b7b4799a56748e65367ee5b94e541
    6096 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6097 Date:   Thu Oct 13 20:26:44 2011 +0200
    6098 
    6099     Added (simple) regression tests for joiner and analyzer for heptan.
    6100    
    6101     - this is preparatory for rewrite of MatrixContainer upon which both rely.
    6102 
    6103 commit 88f62988b19f6b6b102c0be34eb40d8e219b8414
    6104 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6105 Date:   Thu Sep 15 15:27:16 2011 +0200
    6106 
    6107     Added initial testset of files for regression test on joiner.
    6108 
    6109 commit a8b10ae6556ba2f63b2925e9a9fecdaefaed1d93
    6110 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6111 Date:   Fri Sep 16 12:11:59 2011 +0200
    6112 
    6113     FIX: Shifted ANALYSIS... in src/Makefile.am to alphabetical ordering.
    6114 
    6115 commit f17b5fdb567912c8c5f01b11c6ce2abb2240431c
    6116 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6117 Date:   Thu Sep 15 18:04:31 2011 +0200
    6118 
    6119     FIX: FormatParser does not depend on parser.hpp.
    6120 
    6121 commit 5930bc9d068e2a8cc5f19f5538b7f1a26949ef23
    6122 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6123 Date:   Thu Sep 15 18:03:59 2011 +0200
    6124 
    6125     FIX: AtomIdDescriptor just needs types.hpp include.
    6126 
    6127 commit 2329be5e074c3d04bef8d010b88f72b525e01901
    6128 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6129 Date:   Mon Sep 12 11:01:53 2011 +0200
    6130 
    6131     FIX: Inclusion of Box.hpp is not required in AtomCommandLineQuery.
    6132 
    6133 commit 61ff0550acb166bb41ba1ba619e3778004377a74
    6134 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6135 Date:   Mon Sep 19 16:46:28 2011 +0200
    6136 
    6137     FIX: ElementDbAction uses CleanupPeriodentafel() instead of deleting the instance.
    6138 
    6139 commit ce7fdce7330c2c978a3bf964316aa2dda1dcd1e3
    6140 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6141 Date:   Fri Sep 9 20:42:38 2011 +0200
    6142 
    6143     HUGE: All Action-related codes resides now in namespace MoleCuilder.
    6144    
    6145     - removed all namespace std in Actions..., replaced by MoleCuilder.
    6146 
    6147 commit e0f8c8e2730498c806c8d1900d0c5e3189db8e51
    6148 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6149 Date:   Fri Oct 7 13:01:56 2011 +0200
    6150 
    6151     Set version to 1.1.4.
    6152    
    6153     - FIX: Removed AC_SUBST for LinearAlgebra version.
    6154    
    6155     - Codename "Jiroemon Kimura" (with currently 114 years one of the oldest people
    6156       ever and still kicking).
    6157 
    6158 commit 7ff53fd8c0022543fcd10df1c914fc53da585a40
    6159 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6160 Date:   Thu Oct 13 11:20:44 2011 +0200
    6161 
    6162     DISTCHECKFIX: moc_*.cpp and ui_*.h files added to MOSTLYCLEANFILES.
    6163 
    6164 commit bcedf7cc05d257a6654f6aca74ed533f01f2dec1
    6165 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6166 Date:   Wed Oct 12 16:24:26 2011 +0200
    6167 
    6168     DISTCHECKFIX: Added Qt's .ui and .ui.h files to nobase_..._HEADERS such that they are distributed, too.
    6169 
    6170 commit 6016320a5194ab36544ea47ed7dceac6cb61f82e
    6171 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6172 Date:   Wed Oct 12 16:24:07 2011 +0200
    6173 
    6174     DISTCHECKFIX: Added missing m4-files to EXTRA_DIST in Makefile.am.
    6175 
    6176 commit c074cc5fab45d02fbfcd8b94007c09ae41d6209e
    6177 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6178 Date:   Mon Sep 12 10:59:19 2011 +0200
    6179 
    6180     LinearAlgebra version is now 1.0.3.
    6181    
    6182     - Library version is now 3:0:0, API version is 1.0.3.
    6183 
    6184 commit c2e56705b36163307f5a111381f66c386e164bad
    6185 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6186 Date:   Mon Sep 12 10:46:41 2011 +0200
    6187 
    6188     Added serialization capability to RealSpaceMatrix.
    6189    
    6190     - added SerializationTest to MatrixUnitTest.
    6191     - Requires CodePatterns 1.1.5 due to serialization header and problems with
    6192       MemDebug.
    6193 
    6194 commit 29cbe9eb5045c2dc5460417786abf8dd54510240
    6195 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6196 Date:   Fri Sep 9 23:30:06 2011 +0200
    6197 
    6198     Added serialization capabilities to VectorContent and MatrixContent.
    6199    
    6200     - both a bit tricky due to gsl_vector and gsl_malloc.
    6201     - TEST: also added SerializationTest() to either UnitTest.
    6202 
    6203 commit c5038eb29dd533dd1cd33dee2c21d56fbd61fcd0
    6204 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6205 Date:   Fri Sep 9 23:24:02 2011 +0200
    6206 
    6207     Made MatrixContent and VectorContent dimensions const by placing into extra class.
    6208    
    6209     - new classes MatrixDimension and VectorDimension.
    6210     - they only displays getters  to the outside. Thus, we may savely serialize
    6211       them without having to disable the constness.
    6212 
    6213 commit c8b17b55097e09730f211d414d01a4b65d6e8a5b
    6214 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6215 Date:   Tue Oct 11 16:45:18 2011 +0200
    6216 
    6217     DISTCHECKFIX: Added missing chmod u+w were appropriate.
    6218    
    6219     - This is necessary as files are copied as read-only which prevents molecuilder
    6220       from writing changes to file.
    6221 
    6222 commit 220cf64c6ebf68c0e5bed116415d5287df404a6a
    6223 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6224 Date:   Fri Sep 9 18:54:58 2011 +0200
    6225 
    6226     Added Undo/Redo capability to ElementDbAction.
    6227    
    6228     - thanks to serialization of periodentafel and element.
    6229     - !NOTE! when serializing pointers inside classes: header file of this class
    6230       must at some point be present (due to the templated serialize function).
    6231     - TESTFIX: Updated regression test for ElementDbAction. Loaded databases are
    6232       now different and this reflects in .conf output file.
    6233 
    6234 commit 35a25a5e7b6adf34c70b8e928981ffc70f9b5cd4
    6235 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6236 Date:   Wed Oct 12 15:00:32 2011 +0200
    6237 
    6238     AtomInfo does not store ref to element anymore but only atomic number.
    6239    
    6240     - if we want to allow for elements to be changed, no refs may be stored at
    6241       other places. Now we just store the atomic number and look up the element in
    6242       the periodentafel on request.
    6243 
    6244 commit b6080419d0487202fd76c9e76fba31c44bf97c46
    6245 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6246 Date:   Fri Sep 9 15:12:21 2011 +0200
    6247 
    6248     Added serialization to class periodentafel.
    6249    
    6250     - added unit test on comparison and serialization.
    6251     - FIX: removed inclusion of PeriodentafelUnitTest.hpp in periodentafel.hpp
    6252       as forward declaration is sufficient.
    6253     - ComparisonTest and fix of operator==() for class periodentafel.
    6254 
    6255 commit d7d0227486bc1c19c9648ca87b259ad4cf6fa8c2
    6256 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6257 Date:   Fri Sep 9 14:02:18 2011 +0200
    6258 
    6259     Added serialization functionality to class element.
    6260    
    6261     - also added extensive unit test on class element.
    6262     - we use boost::serialization.
    6263 
    6264 commit bae8b0a28256b8566e57053ad9e6fe49dd1c2b39
    6265 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6266 Date:   Fri Sep 9 14:00:41 2011 +0200
    6267 
    6268     FIX: some smaller changes to class element.
    6269    
    6270     - removed those nonsense ref getter for symbol and name. Now, getter only
    6271       return const ref.
    6272     - NDIM -> 3 and removed inclusion of defs.hpp.
    6273     - int -> size_t as we desire an array size.
    6274     - initializing now some forgotten values in default cstor.
    6275 
    6276 commit f08ae71ecd45b3ee35670dda17aad600096f37e5
    6277 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6278 Date:   Wed Sep 7 18:35:59 2011 +0200
    6279 
    6280     Extension of usage of Tsuna's boost.m4 macro.
    6281    
    6282     - boost.m4 from https://github.com/tsuna/boost.m4.git (serial 16 + updates).
    6283     - LinearAlgebra does not depend on any boost libs only two headers and
    6284       CodePatterns.
    6285     - Presence and Usability of every boost header and lib is now checked.
    6286     - Using updated ax_codepatterns.m4.
    6287     - FIX: boost has not been possible to link with if not residing under some
    6288       default path. This is now possible.
    6289 
    6290 commit 78d5b295fa5c42519eac5454fe4513a96fe11df3
    6291 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6292 Date:   Mon Sep 5 19:25:14 2011 +0200
    6293 
    6294     Added Undo/Redo capability to LoadAction.
    6295    
    6296     - Added cloning of FormatParser_Parameters before the file is loaded such that
    6297       FormatParser (here only MpqcParser) is returned to original state.
    6298     - Additionally, we just store molecule's id and the file's prefix and suffix in
    6299       the undo state.
    6300     - TESTCHANGE: Removed XFAIL's from all Parser load's Undo/Redo tests.
    6301 
    6302 commit aa8cc2489bb25c1b7c91aff06cb26327b39a7afd
    6303 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6304 Date:   Tue Sep 6 10:34:01 2011 +0200
    6305 
    6306     TESTFIX: Regression tests for Parser load now correctly compares the undo case against empty file.
    6307    
    6308     - added correct emoty file to each Parser test's post folder.
    6309     - adapted undo case for each load test to compare against the empty file.
    6310     - note that tests for Undo/Redo are still marked as XFAIL.
    6311 
    6312 commit 5c54721f1805c72ffcc7cfd5b2f209ed7ebc7847
    6313 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6314 Date:   Tue Sep 6 10:35:03 2011 +0200
    6315 
    6316     FIX: PdbParser::save() now writes correct empty file.
    6317    
    6318     - PdbParser::save() writes "REMARK...\nEND\n" even if there are no atoms (and
    6319       hence no timesteps).
    6320 
    6321 commit 4151b06b3d969dc206995ba2f620979d5dc0a494
    6322 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6323 Date:   Tue Sep 6 10:22:03 2011 +0200
    6324 
    6325     FIX: Parser's dstor were not virtual despite inheritance.
    6326 
    6327 commit c1db05903a75be5fb69205e949bced95e69b4a1c
    6328 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6329 Date:   Tue Sep 6 10:45:22 2011 +0200
    6330 
    6331     Abstracted FormatParser_Parameters and made it "Clone"able.
    6332    
    6333     - this is preparatory for having an undoable LoadAction.
    6334     - is so far only used by MpqcParser_Parameters.
    6335     - FormatParser_Parameters::clone() clones the instance (uses CodePattern's
    6336       Clone pattern).
    6337     - FormatParser has pointer to FormatParser_Parameters.
    6338     - MpqcParser now has parameters as inheritance from FormatParser, allocates in
    6339       cstor, removes in dstor.
    6340     - new function MpqcParser_Parameters::makeClone() sets instance to be a copy of
    6341       the given one.
    6342     - MpqcParser: replaced direct access to params by getParams().
    6343     - added ParameterCloneTest to ParserMpqcUnitTest.
    6344 
    6345 commit e611dcada623ad28011aa5d0079a58228b4f54e8
    6346 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6347 Date:   Mon Sep 5 19:31:55 2011 +0200
    6348 
    6349     FIX: AT_KEYWORDS requires _space_-separated list of keywords.
    6350 
    6351 commit 6bc86c8f315a1909525c8dcf9bfe9a40927a306f
    6352 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6353 Date:   Mon Sep 5 19:24:31 2011 +0200
    6354 
    6355     Implemented specific AtomRemoved(),AtomInserted() for Pdb and Tremolo parsers.
    6356    
    6357     - each remove information from their ..AtomInfoContainers, if present.
    6358 
    6359 commit 38f9917c644ed150841c7a1a6aa20bc1363313c6
    6360 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6361 Date:   Mon Sep 5 19:23:16 2011 +0200
    6362 
    6363     FormatParser now listens to World::AtomRemoved and ::AtomInserted notifications.
    6364    
    6365     - World now has const iterators for selectedAtoms and selectedMolecules.
    6366     - FIX: RemoveAction was broken in usage of beginSelectedAtoms() for removing
    6367       them! This is fixed. Same for FragmentAction() where non-const iterator had
    6368       been used for fragmenting.
    6369     - The above was caused by the following (we would stumble over
    6370       receiveNotifications() going into void):
    6371     - new virtual functions AtomRemoved() and AtomInserted() which the specific
    6372       parsers overwrite, e.g. to remove additional information when the associated
    6373       atom is removed.
    6374 
    6375 commit ab4a330bb4a5a2e75bd17f63fc36cba9ce4edaad
    6376 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6377 Date:   Mon Sep 5 19:22:26 2011 +0200
    6378 
    6379     FIX: World::destroyAtom() now informs before atom's destruction, not after.
    6380 
    6381 commit 35bf6be58e0770834fcf4a7d8a69d69658043b29
    6382 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6383 Date:   Mon Sep 5 12:46:14 2011 +0200
    6384 
    6385     TESTFIX: Parser/Mpqc-SetParameters/set-theory working.
    6386    
    6387     - removed XFAILs
    6388     - MpqcParser_Parameters::setter() yes/no and 1/0 allowed as bool strings.
    6389 
    6390 commit 89643db5d138dd16f16f5289031ddcc7811d46e5
    6391 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6392 Date:   Fri Sep 2 12:12:01 2011 +0200
    6393 
    6394     Enabled also un selection when clicking already selected atoms.
    6395    
    6396     - introduced ... which allow for just knowing the id (which is all needed):
    6397      - World::isAtomSelected(),
    6398      - World::isMoleculeSelected().
    6399 
    6400 commit b7ff035ccbca9dd3a5ea57a4476fb4ec3fbec0b7
    6401 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6402 Date:   Fri Sep 2 12:11:27 2011 +0200
    6403 
    6404     Selection NotAtomByIdAction now gets atomId_t not const atom *.
    6405    
    6406     - see Selection AtomByIdAction.
    6407 
    6408 commit 0e9ffe3f980f1dc11a0b7b21a4342660cfc00b4f
    6409 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6410 Date:   Fri Sep 2 11:58:14 2011 +0200
    6411 
    6412     Enabled selection when clicking atoms.
    6413 
    6414 commit 5a88409929fafa0edd9c452df1f3d525d7db4154
    6415 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6416 Date:   Fri Sep 2 11:56:53 2011 +0200
    6417 
    6418     Selection AtomByIdAction now gets atomId_t not const atom *.
    6419    
    6420     - This makes it possible to use it with the GUI where we know the id, not the
    6421       ref. (and pointer is too low-level, retrieving it should be the problem of
    6422       the action, not the query).
    6423 
    6424 commit 12948c2ccfa9172ddcc2b58e9905c238b969ea5d
    6425 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6426 Date:   Fri Sep 2 11:54:17 2011 +0200
    6427 
    6428     Added new Query for std::vector of unsigned int.
    6429    
    6430     - this is preparatory to make selection rectangle possible.
    6431 
    6432 commit 838cd09f5b0b8fc58fc121f2fad94ab4a811175b
    6433 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6434 Date:   Fri Sep 2 11:21:45 2011 +0200
    6435 
    6436     Added new Query for unsigned int.
    6437    
    6438     - this is preparatory to switch select-atom-by-id to true atomId_t query.
    6439 
    6440 commit 65487f331fd5824af614cee6c3d083360a9f4d4b
    6441 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6442 Date:   Fri Sep 2 10:42:34 2011 +0200
    6443 
    6444     FIX: hoverChanged() and ..Clicked() now also works for loaded molecules.
    6445    
    6446     - introduced signal WorldScene::changeOccured() which triggers a private flag
    6447       changesPresent in GLWorldView to call initialize() on next paintGL() event.
    6448 
    6449 commit a099d37e9af2d031e927cb528eae711e79891eef
    6450 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6451 Date:   Fri Sep 2 10:13:35 2011 +0200
    6452 
    6453     FIX: hoverChanged() again working for immediately loaded molecules.
    6454 
    6455 commit df765f38b6dbe853b2dd20ffbd223c4457a00482
    6456 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6457 Date:   Fri Sep 2 10:13:18 2011 +0200
    6458 
    6459     gitignore ignores new .autotools of eclipse.
    6460 
    6461 commit 9c18e48b7af8959648d5a1a088f561ed14050917
    6462 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6463 Date:   Thu Sep 1 20:17:08 2011 +0200
    6464 
    6465     FIX: Observers (GLMoleculeObject_atom, GLWorldScene) sign off on destruction.
    6466 
    6467 commit 5e2f80b94564cd7797be678d694bf8d3012bd825
    6468 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6469 Date:   Thu Sep 1 19:06:04 2011 +0200
    6470 
    6471     BondedParticle no more hands out non-const ListOfBonds.
    6472    
    6473     - the few required instances were always for removing all bonds inL
    6474      - GraphCreateAdjacencyAction::performCall(),
    6475      - MoleculeCopyAction::performUndo(),
    6476      - BondGraph::cleanAdjacencyList(),
    6477      - BondGraph::resetBondDegree(),
    6478      - molecule::removeBonds(),
    6479      - MoleculeListClass::AddHydrogenCorrection(),
    6480      - ListOfBondsTest::AddingBondTest().
    6481     - added BondedParticle::removeAllBonds().
    6482     - added BondedParticle::resetBondDegree().
    6483     - BondedParticleInfo::getListOfBonds...() now returns empty list if out of
    6484       bounds (emptylist is static member variable of the class).
    6485     - ListOfBondsUnitTest runs fine.
    6486 
    6487 commit 37b257551a03bddeeb79df686a845ed3e736653e
    6488 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6489 Date:   Thu Sep 1 18:33:11 2011 +0200
    6490 
    6491     GLMoleculeObject_atom listens to BondsChanged notification.
    6492    
    6493     - signal is sent to slot in GLWorldScene which inserts or removes bonds for
    6494       the specific atom.
    6495     - i.e. now we may load a file and both atoms and bonds are correctly shown via
    6496       the observer mechanism.
    6497 
    6498 commit db7e6dbec5ed7a09556e844d6574a820fe80de92
    6499 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6500 Date:   Thu Sep 1 18:25:34 2011 +0200
    6501 
    6502     BondedParticle:: register and unregister are private.
    6503    
    6504     - adding and removing bonds is possible via addBond(), removeBond().
    6505     - this wat we encapsulate the register and unregister and make sure that never
    6506       a lone bond remains at one side.
    6507     - adapted:
    6508      - BondGraph::CreateAdjacency()
    6509     - Register and UnregisterBond are OBSERVEd.
    6510     - bond::Contains() is const member function now
    6511 
    6512 commit 7188b130f196698d071c5787a688b84efdfde506
    6513 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6514 Date:   Thu Sep 1 15:49:14 2011 +0200
    6515 
    6516     Introduced atom_observables and GLWorldView observes World, GLMoleculeObject_atom observes its atom.
    6517    
    6518     Observer changes:
    6519     - new Channels pattern required from CodePatterns 1.1.5 and that Observable
    6520       signing on and off is now with const instance possible.
    6521     - class atom is now observable, encapsulated in class AtomObservable:
    6522      - enums have notification types
    6523      - we use NotificationChannels of Observable to emit these distinct types.
    6524     - atominfo, particleinfo, bondedparticleinfo all have OBSERVE and NOTIFY(..)
    6525       in their setter functions (thx encapsulation).
    6526     - class GLMoleculeObject_atom signs on to atom to changes to position, element,
    6527       and index.
    6528     - World equally has notifications for atom (new,remove) and molecules (new,
    6529       remove).
    6530     - GLWorldView now observes World for these changes.
    6531    
    6532     Other changes:
    6533     - removed additional hierarchy level for GLWidget of molecules (i.e.
    6534       GLMoleculeScene removed and incorporated into GLWorldScene).
    6535 
    6536 commit e638f994597de00dea35ab713ed67450ce61ec6e
    6537 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6538 Date:   Mon Aug 29 12:03:29 2011 +0200
    6539 
    6540     Removed changetypes.hpp.
    6541 
    6542 commit 5fa2bac2fc0563ed676ba8178b07597a44189e58
    6543 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6544 Date:   Mon Aug 29 11:53:53 2011 +0200
    6545 
    6546     Enhanced PdbParser to read ill-formed pdbs.
    6547    
    6548     - conect entries may now contain 0 as filler (and serial 0 presence is
    6549       checked).
    6550     - ATOM info lines may contain less than 80 chars, then name is parsed for
    6551       element.
    6552     - added new regression test Parser/Pdb/load-various for this.
    6553 
    6554 commit 029bb4e5c3a78c79d56801bff9ea647fbc143423
    6555 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6556 Date:   Fri Aug 26 18:34:12 2011 +0200
    6557 
    6558     Hovering is now working too.
    6559    
    6560     - signal chain installed from GLMoleculeObject::hoverChanged() through
    6561       GLMoleculeObject, over GLWorldScene to GLWorldView which calls updateGL().
    6562 
    6563 commit 06ebf53dbb995f5e8ab81361cc8b991ca48cb1c8
    6564 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6565 Date:   Fri Aug 26 18:26:42 2011 +0200
    6566 
    6567     Clicking on atoms works.
    6568    
    6569     - GLMoleculeObject_atom, GLMoleculeScene, GLWorldScene have a signal/slot chain
    6570       that is gradually enriched with ids of clicked atom part of clicked molecule.
    6571 
    6572 commit 907636a5dab60af4f441f0c8888aadfce03987fc
    6573 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6574 Date:   Fri Aug 26 17:53:28 2011 +0200
    6575 
    6576     First working version of GLWorldView that show atoms and molecules.
    6577    
    6578     - GLWorldView is view of model GLWorldScene.
    6579     - GLWorldScene contains GLMoleculeScene for each molecule.
    6580     - GLMoleculeScene contains GLMoleculeObject_.. for each atom and two for each
    6581       bond.
    6582     - GLMoleculeObject_... derive from GLMoleculeObject which hides the specifics
    6583       of being sphere or cylinder and allows for initializing and drawing
    6584       unifiedly.
    6585     - so far clicking the atoms is not working (as in teaservice example).
    6586 
    6587 commit 04f01714d458f4a933c136873fbcc398845e35c2
    6588 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6589 Date:   Fri Aug 26 16:54:28 2011 +0200
    6590 
    6591     Removed teapotview.?pp again.
    6592    
    6593     - Functionality is contained in GLWorldView class now.
    6594 
    6595 commit a08d3c00dcbb9d956c0c86998b341be1da386fb2
    6596 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6597 Date:   Fri Aug 26 16:49:14 2011 +0200
    6598 
    6599     Replaced empty GLWordlView QWidget by TeapotView example from Qt3d.
    6600    
    6601     - this completes the initial test for a QGLView derived class.
    6602 
    6603 commit da8f976db1621e38a0ee1d854a6bd9c8aab85bd0
    6604 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6605 Date:   Fri Aug 26 16:36:52 2011 +0200
    6606 
    6607     MEMFIX: in QtMainWindow and preventing segfault.
    6608    
    6609     - QtMainWindow did not remove its MainMenu.
    6610     - QTUIFactory's deleting app causes segfault as of now (close button might
    6611       delete app already?). Removed, though causes memory leak.
    6612 
    6613 commit d238e7e948efa1a2e02036034b4407a09d66674d
    6614 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6615 Date:   Fri Aug 26 16:34:14 2011 +0200
    6616 
    6617     Replaced GLMoleculeView by Qt3D/GLWorldView, which is as of now a dummy.
    6618    
    6619     - Qt3D/GLWorldView has no function but compiles.
    6620     - will contain a QGLView eventually.
    6621     - adapted QtMainWindow to contain the different class.
    6622 
    6623 commit 060ba4d6cd1eae34f74c568b5a8bba925209a97d
    6624 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6625 Date:   Fri Aug 26 16:28:48 2011 +0200
    6626 
    6627     Replaced m4 macro gwqt4.m4 by bnv_have_qt.m4
    6628    
    6629     - as is used with seismolo.
    6630     - @MOC@ -> QTMOC, @UIC@ -> QT_UIC.
    6631     - QT_LIBS has it all.
    6632     - new QT_DEBUG when Qt debug should be printed or not.
    6633 
    6634 commit bd8788bcc2770639f10e6ae00ebace78491ad284
    6635 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6636 Date:   Fri Aug 26 16:24:46 2011 +0200
    6637 
    6638     src/Makefile.am: Adding to variable bin_PRORGRAMS.
    6639 
    6640 commit 573d72e37429185a7a44c99c55ce6c49640a7f88
    6641 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6642 Date:   Mon Aug 15 12:55:56 2011 +0200
    6643 
    6644     FIX: saveAll() had some senseless memory allocation.
    6645    
    6646     - this is a remnant of a test whether MemDebug showed this still allocated
    6647       memory correctly.
    6648 
    6649 commit 47812bf29752df13c8f68d7f28e671425f9384a7
    6650 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6651 Date:   Fri Aug 12 18:09:00 2011 +0200
    6652 
    6653     FIX: MolecuilderGUI crashes on selecting molecule.
    6654    
    6655     - QtWorldView::update() set ATOMS column twice, hence FORMULA was NULL item.
    6656     - rename in enum COLUMNTYPES: ATOMS->ATOMCOUNT.
    6657 
    6658 commit b40b9d6354d6e302484b05573727b84ac8f4106a
    6659 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6660 Date:   Fri Aug 12 17:16:28 2011 +0200
    6661 
    6662     FIX: Bonds are now displayed correctly.
    6663    
    6664     - using Vector::VectorProduct() to correctly create normal vectors and fixed
    6665       therewith GLMoleculeView::makeCylinder().
    6666 
    6667 commit 29daadd534e411fe720e18c440a42be6eb53edc0
    6668 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6669 Date:   Thu Aug 11 17:14:05 2011 +0200
    6670 
    6671     Added rudimentarily working GlMoleculeView (class was empty before).
    6672    
    6673     - We took over the code from (ancient) branch MolecuilderGUI and adapated it
    6674       to the current standards. Atoms are drawn, bonds in some so far wrong
    6675       direction as well.
    6676     - Note that the guz has trouble showing dialogs for all Actions. This should
    6677       be some minor bug.
    6678 
    6679 commit 064178f528b483f670f19f89ffe6723a2f46d988
    6680 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6681 Date:   Thu Aug 11 16:20:59 2011 +0200
    6682 
    6683     Added color database to periodentafel.
    6684    
    6685     - periodentafel::LoadColorDatabase() added and added to cstor.
    6686     - element::color as unsigned char[3] added.
    6687     - element::getColor() added.
    6688     - ColorDB const string in elements_db.[ch]pp added.
    6689     - added LoadColorDatabase() to periodentafelTest::LoadStoreTest().
    6690 
    6691 commit 81c980b965fafebb2dcfa97d9e7af728f828bf96
    6692 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6693 Date:   Tue Aug 9 18:56:31 2011 +0200
    6694 
    6695     Added new action to set the ATOMDATA in tremolo's .data output file.
    6696    
    6697     - new action is set-tremolo-atomdata in ParserAction.
    6698     - added regression test.
    6699 
    6700 commit f7c19ef45479bcaff60cc9fdb2998767b71aefb3
    6701 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6702 Date:   Tue Aug 9 18:39:43 2011 +0200
    6703 
    6704     Some fixes to parsing files.
    6705    
    6706     - MpqcParser::save() does not store all atoms but those given in the
    6707       parameters.
    6708     - FIX: MoleculeListClass::AddHydrogenCorrection() and FilePresent() check with
    6709       bad() and eof() whether file is missing or has ended.
    6710 
    6711 commit dc882751b0f5d22558db16527011af688d013cd3
    6712 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6713 Date:   Mon Apr 25 00:34:16 2011 +0200
    6714 
    6715     Set version of LinearAlgebra to 1.0.2.
    6716    
    6717     - LinearAlgebra library is now 2:0:0.
    6718 
    6719 commit 26108c891400d13c6ff2a37395d1a3566003a995
    6720 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6721 Date:   Mon Apr 25 00:30:42 2011 +0200
    6722 
    6723     FIX: Changed ambigious interface for MatrixContent::transpose().
    6724    
    6725     - now, if we transpose in place, the function is transpose() (active voice).
    6726     - if we transpose to other MatrixContent, it is transposed() (passive voice).
    6727     - this also changed the interface for RealSpaceMatrix::transpose().
    6728     - fixes in several unit tests where before we always had to explicitly cast
    6729       the matrix to const in order to make use of the passive voice form.
    6730 
    6731 commit 59e06352565152e740ef911af808bb55268fba36
    6732 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6733 Date:   Sat Apr 23 22:22:03 2011 +0200
    6734 
    6735     Set version of LinearAlgebra to 1.0.1.
    6736    
    6737     - LinearAlgebra library is now 1:1:1. due to changes to code and adding to
    6738       interface VectorContent and MatrixContent.
    6739 
    6740 commit cec7a55776b5068824e2e8a898b8c9ba9b3b6137
    6741 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6742 Date:   Sat Apr 23 22:20:38 2011 +0200
    6743 
    6744     Added Singular Value Decomposition to MatrixContent.
    6745    
    6746     - this allows for solving over-determined linear system of equations in a least
    6747       squares sense: || Ax - b ||^2.
    6748     - Unit test added on SVD and solving of an example system.
    6749 
    6750 commit 7a03405921dca3b136f7e49c7e1b3797e598c4fc
    6751 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6752 Date:   Sat Apr 23 21:41:36 2011 +0200
    6753 
    6754     Renamed MatrixUnitTest to more appropriate RealSpaceMatrixUnitTest.
    6755 
    6756 commit e420f9699375be338a4e7e5c3b2b6e979946c03c
    6757 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6758 Date:   Sat Apr 23 21:38:12 2011 +0200
    6759 
    6760     Added read/write capability of VectorContent from stream.
    6761    
    6762     - this is all taken and adapted from MatrixContent.
    6763     - Unit test function added on this.
    6764 
    6765 commit d2bac9e91c385f9133253b99832fac5878a01c61
    6766 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6767 Date:   Sun Apr 24 00:51:59 2011 +0200
    6768 
    6769     Added VectorContent(gsl_vector *, bool).
    6770    
    6771     - Via the bool it can now be specified whether VectorContent assumes ownership
    6772       over the gsl_vector or just wraps it temporarily.
    6773 
    6774 commit 8b8a5b378d2399432b6e5b67d730a223d13d776b
    6775 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6776 Date:   Sat Apr 30 15:58:11 2011 +0200
    6777 
    6778     FIX: Parser/Mpqc-SetParameters and redo/undo are working.
    6779    
    6780     - also Undo would check for CLKS which the file sets and is not the default
    6781       value of theory, we now check for MBPT2 and Undo works.
    6782 
    6783 commit 473237055cdf05b40bc70aa53d5b35d6960b4daf
    6784 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6785 Date:   Sat Apr 30 15:10:10 2011 +0200
    6786 
    6787     FIX: PdbParser - CONECTs with full 80 chars were not parsed correctly.
    6788    
    6789     - this fixes ticket #147.
    6790     - also, we now write full length CONECTs.
    6791     - added regression test to check on this behavior.
    6792     - TESTFIX: Parser/Pdb/with-conects now diffs with '-w' to ignore white spaces
    6793       errors. CONECT lines need not have full length.
    6794     - TESTFIX: Molecules/BondFile/Fragmentation now diffs with '-w' as well.
    6795 
    6796 commit 8990879f0d70e37254ee9c7844475862be401b8a
    6797 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6798 Date:   Sat Apr 30 14:31:44 2011 +0200
    6799 
    6800     FIX: PdbParser - symbol is now parsed and written in capital letters.
    6801    
    6802     - This fixes ticket #146.
    6803     - Added regression test to check this behavior.
    6804 
    6805 commit f6ba43405488e9595322b8bef96c7c7fb1191d67
    6806 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6807 Date:   Tue Sep 27 11:07:46 2011 +0200
    6808 
    6809     Many smaller changes to CreateMicelleAction to get it fully working and compliant.
    6810    
    6811     Changes to MoleculeCreateMicelleAction::performCall():
    6812     - returns Action::success when no molecule is selected.
    6813     - we check for selection of not more than one molecule.
    6814     - we store full undo (positions in selected molecule and added molecules).
    6815     - new parameter DoRotate to tell whether to mirror molecule along z axis or
    6816       not.
    6817     - FIX: we rotate to PAS only in case of more than one atom present in molecule.
    6818     - FIX: copied molecules are added to World's MoleculeListClass (and correctly
    6819       removed in performUndo()).
    6820     - FIX: Placed shifting original molecule into own block and corrected usage of
    6821       RotationAxis.
    6822    
    6823     - Also performUndo() is fully implemented.
    6824     - we can... and shouldUndo().
    6825    
    6826     - added regression test on both do and Undo.
    6827 
    6828 commit c521e15fac8ef6fb70fa919455eee4364ac68fa6
    6829 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6830 Date:   Tue Sep 27 11:07:11 2011 +0200
    6831 
    6832     FIX: Shifted CopyMolecule in regression tests to alphabetical order.
    6833 
    6834 commit c88597db2d870358b59615ead9c13f587c938698
    6835 Author: Daniel Dueck <dueck@ins.uni-bonn.de>
    6836 Date:   Mon May 16 18:32:53 2011 +0200
    6837 
    6838     Rotation of the molecule in order to bring the polar side of the molecule to the outer side of the sphere.
    6839 
    6840 commit 37f9d4101597f8ba2fd2cd5b4c37bdbe8c1a9691
    6841 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6842 Date:   Tue May 10 19:30:45 2011 +0200
    6843 
    6844     Changed some non-standard stuff with CreateMicelleAction.
    6845    
    6846     - renamed files CreateMicelle -> CreateMicelleAction.
    6847     - rewrote german comments in english.
    6848     - removed #define, replaced by typedefs.
    6849     - removed commented-out code pieces.
    6850    
    6851     - TESTFIX: regression test 93 failed due to ATOMDATA line being different for
    6852       tensid.data and water.data. I use the one from tensid.data and re-created
    6853       the water.data with this line.
    6854    
    6855     Changed due to rebase onto v1.1.3:
    6856     - renaming done before already.
    6857 
    6858 commit 2e352f30207b69623be3c5c319359d2810255ecd
    6859 Author: Daniel Dueck <dueck@ins.uni-bonn.de>
    6860 Date:   Wed Apr 6 19:17:41 2011 +0200
    6861 
    6862     Because of problems with columns in data-files, some changes were done.
    6863    
    6864     - atom::CorrectFactor() does not set fathet to itself anymore in father's
    6865       father case.
    6866     - molecule::CopyMolecule() does not correct fathers anymore
    6867    
    6868     Changed due to rebase to v1.1.3:
    6869     - removed changes to TremoloParser.cpp and boundary.cpp.
    6870 
    6871 commit faca99c4b3a8189ab455e43e58a6dae918e736fa
    6872 Author: Daniel Dueck <dueck@ins.uni-bonn.de>
    6873 Date:   Sat Jan 15 17:11:41 2011 +0100
    6874 
    6875     MoleculeAction create-micelle: code updated; Baseshapes: procedure getHomogeneousPointsonSurface updated
    6876    
    6877     Changed in rebase onto v1.1.3:
    6878     - replaced parser instantiations by getter to FormatParserStorage and World.
    6879     - removed doubly present loop over count (creates 194^2 points).
    6880     - We create now less than desired points, Unit tests checks for 194 instead of
    6881       originally 200 points.
    6882 
    6883 commit 807c0e436d410a1be20e422e058fff53475aaef6
    6884 Author: Daniel Dueck <dueck@ins.uni-bonn.de>
    6885 Date:   Wed Oct 13 10:26:41 2010 +0200
    6886 
    6887     Daniel has recently changed his mizelledata to work as an action "create-micelle" within molecuilder.
    6888    
    6889     - BUGFIX: performCall() did not return an Action::success.
    6890    
    6891     Changes due to rebase to v1.1.3:
    6892     - replaced instantiated parsers by getter to FormatParserStorage and World.
    6893     - adapted .def file to present standard.
    6894     - renamed CreateMicelle to compliant CreateMicelleAction.
    6895 
    6896 commit e2e0a5aeb2de4b1a4ca6145edf6923b383c5bd3c
    6897 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6898 Date:   Thu Sep 16 11:25:01 2010 +0200
    6899 
    6900     Added Daniels version from 2010/09/15 and Makefile stuff to this branch.
    6901    
    6902     - Changed Daniels version a bit such that it compiles:
    6903      - removed code that is in comments
    6904      - BUG: FragmentationSubgraphDissection() has to be in front of removal of
    6905        original molecule.
    6906      - rotation done by Line::RotateVector() as well
    6907      - replaced while by tighter for loops
    6908    
    6909     Changes from rebase to v1.1.3:
    6910     - no need to populate actions, removed MapOfActions include.
    6911     - replaced instantiated parsers by getter to FormatParserStorage().
    6912     - added MemDebug.hpp and config.h inclusion to mizelledata.cpp.
    6913 
    6914 commit c4cde16be7aa43dfc48d824ce2782f90be1dc23c
    6915 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6916 Date:   Wed Apr 27 20:37:47 2011 +0200
    6917 
    6918     Set version to 1.1.3.
    6919    
    6920     - Codename "Donald Duck" (the license plate of his first car in a 1938 comic) :)
    6921 
    6922 commit e85333cbdf94b0f1a5c3369818d89b648d323a69
    6923 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6924 Date:   Tue Oct 4 16:04:28 2011 +0200
    6925 
    6926     DISTCHECKFIX: AUTOTEST_PATH is now used as path to moleculder in molecuiler.in for tests.
    6927    
    6928     - this closes ticket #149.
    6929 
    6930 commit b4e3fe35dd420400cf9a1ecb5071f492e53159a1
    6931 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6932 Date:   Tue Oct 4 16:04:03 2011 +0200
    6933 
    6934     DISTCHECKFIX: .moc.cpp files were not in MOSTLYCLEANFILES.
    6935 
    6936 commit 7db9bdca097aa9e4f1c2d317be2952824752399f
    6937 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6938 Date:   Tue Oct 4 13:59:19 2011 +0200
    6939 
    6940     DISTCHECKFIX: Replaced AUTOTEST_PATH by real path (e.g. tests/regression).
    6941    
    6942     - this corrects VPATH problems with 'make distcheck'.
    6943 
    6944 commit 740d40e9b13bb9dbeb059d1f879dae6db1a97e2d
    6945 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6946 Date:   Thu Sep 29 18:56:25 2011 +0200
    6947 
    6948     Rewrote tests/Fragmentations with autotest test driver.
    6949 
    6950 commit 689639d55a02f461620aa8b592dbae38a20aff61
    6951 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6952 Date:   Thu Sep 29 18:14:28 2011 +0200
    6953 
    6954     DISTCHECKFIX: Smaller changes to tests/regression Makefile.am and in configure.ac.
    6955    
    6956     - this is stuff learnt from rewrote of tests/Tesselations.
    6957     - also added AC_CONFIG_TESTDIR for CodeChecks in tests and LinearAlgebra/tests.
    6958     - atconfig files are removed in DISTCLEANFILES.
    6959 
    6960 commit a85f4542482b1c8da1342c3250ec1e4dbcab52f1
    6961 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6962 Date:   Thu Sep 29 18:12:18 2011 +0200
    6963 
    6964     Rewrote tests/Tesselations with autotest test driver.
    6965    
    6966     - this made the whole tests a lot easier (and working with distcheck hopefully, too).
    6967 
    6968 commit aba610cde06d025a98237132edfdeacef9fe648c
    6969 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6970 Date:   Thu Sep 29 14:46:48 2011 +0200
    6971 
    6972     FIX: EXTRA_DIST in tests/Tesselations and tests/Fragmentations lacked the test files and others.
    6973 
    6974 commit 552597fe713aa65c498025df8719af1f913e8a62
    6975 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6976 Date:   Thu Sep 29 09:44:37 2011 +0200
    6977 
    6978     FIX: Renamed CommandLineParser_ActionRegistry_ConsistenyUnitTest -> CommandLineParser_ActionRegistry_ConsistencyUnitTest.
    6979    
    6980     - both in files and in class name.
    6981 
    6982 commit fec3813f626b40a0ef8ea6647dd2536bc93a711d
    6983 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6984 Date:   Thu Sep 29 09:22:35 2011 +0200
    6985 
    6986     Replaced molecuilder's CXXFLAGS by AM_CPPFLAGS instead of only BOOST_CPP_FLAGS.
    6987 
    6988 commit 79de12a31074a28e29afce5800da9884f1b1cd0d
    6989 Author: Frederik Heber <heber@ins.uni-bonn.de>
    6990 Date:   Tue May 10 14:35:11 2011 +0200
    6991 
    6992     Replaced *_boost_*.m4 by boost.m4 from tsuna.
    6993    
    6994     - https://github.com/tsuna/boost.m4/ has a very nice boost m4 macro to check
    6995       for presence of boost headers and libraries, also setting the rpath
    6996       correctly.
    6997     - required changes in all Makefile.ams as BOOST_... variable names have
    6998       changed.
    6999     - added all .m4 files to EXTRA_DIST.
    7000     - added Boost's LDFLAGS to libMolecuilderUI and ..QtUI's LDFLAGS such that
    7001       libs in usual paths are found, too.
    7002 
    7003 commit 5a8f38580d2593615980b7513d7e2e2a4c413589
    7004 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7005 Date:   Wed Sep 7 19:14:23 2011 +0200
    7006 
    7007     FIX: "position" and others were not accepted because they have been added multiple times.
    7008    
    7009     - some newer version (1.46) of boost program options does not seem to like
    7010       multiply added options although they are all the same (type, ...). This is
    7011       fixed.
    7012 
    7013 commit ec188cd9bf78485f7613e2bea7509b0f99ac5c34
    7014 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7015 Date:   Fri May 6 10:27:22 2011 +0200
    7016 
    7017     Fixed Doxygen usage.
    7018    
    7019     - using now functions from ac_doxygen.m4, added TOP_SRCDIR to DX_ENV_APPENDs.
    7020     - Doxyfile's now used environment variables set by these functions.
    7021     - ac_doxygen.m4 patched with this due to "not a valid shell variable" bug:
    7022       https://issues.apache.org/jira/browse/AMQCPP-191
    7023     - used aminclude.m4 from doxample (by Oren Ben-Tiki) renamed to
    7024       ac_doxygen_include.am.
    7025     - added phony target doc that calls doxygen-doc for both molecuilder and
    7026       LinearAlgebra.
    7027     - DOCUFIX: fixed a doxygen bug in analysis_correlation.cpp: getDipole().
    7028     - Doxyfile(s): Both INPUTs point now to $(TOP_SRCDIR)/src, which is correct for
    7029       both (separate) packages.
    7030     - configure sets docdir as doc target dir.
    7031 
    7032 commit 632a52b11abb20d9061552caa17f2fbef9b87353
    7033 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7034 Date:   Tue Aug 9 18:59:24 2011 +0200
    7035 
    7036     FIX: boost::filesystem 1.47 changed output of extension(), stem(), and leaf().
    7037    
    7038     - fix was to add .string().
    7039     - we check for BOOST_VERSION to be greater equal than 104600 to apply this fix.
    7040 
    7041 commit e5c233cf7fc321481d7f2bd42b55e4580bbc581e
    7042 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7043 Date:   Wed Aug 10 09:31:49 2011 +0200
    7044 
    7045     FIX: replaced boost/exception.hpp by boost/exception/all.hpp.
    7046 
    7047 commit 416f10c2b16b2231b57ec982e4c5132067b090fa
    7048 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7049 Date:   Tue Aug 9 18:34:34 2011 +0200
    7050 
    7051     FIX: help string on domain is wrong.
    7052    
    7053     - CommandHelpAction() gives components of symmetric matrix for domain in wrong
    7054       order (upper now lower triagonal).
    7055 
    7056 commit d1912fffef19cf0c1e8759c90abbf98943a9e7fd
    7057 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7058 Date:   Wed Sep 28 11:45:58 2011 +0200
    7059 
    7060     FIX: \text{} replacec by \mathrm{} in doxygen formulas.
    7061 
    7062 commit a08d6609baab55d50214c73a7aa64f50c0786260
    7063 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7064 Date:   Wed Apr 27 20:59:09 2011 +0200
    7065 
    7066     Fixed wrong version numbers in headers of testsuites.
    7067 
    7068 commit 718542b98ffda42460e79001a427f156caa6bcc9
    7069 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7070 Date:   Wed Apr 27 20:34:45 2011 +0200
    7071 
    7072     Filled action's token as keyword in each test.
    7073    
    7074     - also all keywords are now lower case.
    7075     - undo and redo are listed as keywords as well if applicable.
    7076     - FIX: Removed check for present molecules from SelectionActions. When none can
    7077       be selected, this must not yield in failure of the Action but is perfectly
    7078       acceptable.
    7079 
    7080 commit 43a0aebcbd9fa87981dbf5339765fb0804d755c8
    7081 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7082 Date:   Wed Apr 27 19:33:30 2011 +0200
    7083 
    7084     FIX: All Unselection actions now have keyword unselection instead of selection.
    7085 
    7086 commit f2872ae885ed8ca989001542d272c75794be73c1
    7087 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7088 Date:   Wed Apr 27 19:31:05 2011 +0200
    7089 
    7090     Split off Unselections from selections in Selection/Atoms.
    7091    
    7092     - each testsuite*.at file now just has a single test (including undo/redo).
    7093     - renamed testsuite*.at files: added missing "select-" such that full action
    7094       name is contained in filename.
    7095 
    7096 commit d70fffeeaa945095af732c68c3627ca366d9de9f
    7097 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7098 Date:   Wed Apr 27 19:12:12 2011 +0200
    7099 
    7100     Split off Unselections from selections in Selection/Molecules.
    7101    
    7102     - each testsuite*.at file now just has a single test (including undo/redo).
    7103     - renamed testsuite*.at files: added missing "select-" such that full action
    7104       name is contained in filename.
    7105 
    7106 commit 7c958e3f7ce548c4bf2fc8abe3caa46d9990fd56
    7107 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7108 Date:   Wed Apr 27 19:02:43 2011 +0200
    7109 
    7110     Removed CheckCommand.sh in Selection/Molecules.
    7111    
    7112     - multiple inclusion is currently not handled by autoconf in test part.
    7113 
    7114 commit 93eb00f571cb1fc2dbc48382ec249ff9bc734782
    7115 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7116 Date:   Wed Apr 27 18:16:20 2011 +0200
    7117 
    7118     FIX: Added forgotten regression test for unselect-atom-by-element.
    7119    
    7120     - has been missing so far, though unselect tests present for all others and
    7121       select test present as well.
    7122 
    7123 commit 520f93930dc8a9f478562e28fb307e3e18d9b0bc
    7124 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7125 Date:   Wed Apr 27 18:08:44 2011 +0200
    7126 
    7127     Split testsuite*.at files in regressions/Parser.
    7128    
    7129     - one test per file, although undo/redo remain in same file.
    7130 
    7131 commit e69c87634c601039ae61a1acb0b03fc6b7bddd17
    7132 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7133 Date:   Wed Apr 27 14:06:33 2011 +0200
    7134 
    7135     Splitted off Undo and Redo parts into own tests (3-step rule).
    7136    
    7137     - this way tests are cleaner as there are no old files left.
    7138     - added lots of Undos/Redos.
    7139    
    7140     Corrected all failing regression tests (of these new Undos/Redos):
    7141     - new ActionExceptions, specifically ActionFailureException.
    7142     - Action::call() throws ActionFailureException when returned state_ptr equals
    7143       failure.
    7144     - ActionHistory::undoLast(), ::redoLast() also throw when returning state_ptr
    7145       equals failure.
    7146     - doUI() checks for thrownActionFailureException and sets World's ExitFlag to
    7147       5.
    7148     - the following Actions have canUndo/shouldUndo now true (although Undo/Redo
    7149       return Action::failure):
    7150      - MoleculeBondFileAction
    7151      - MoleculeLoadAction
    7152      - MoleculeRotateToPrincipalAxisSystemAction
    7153      - MoleculeVerletIntegrationAction
    7154     - the following Action's regression tests have been corrected when Undo/Redo
    7155       capability was already present (e.g. empty.conf created for Undo case):
    7156      - MoleculeRotateAroundOrigin
    7157      - MoleculeRotateAroundSelf
    7158      - MoleculeRotateToPrincipalAxisSystem
    7159      - MoleculeTranslation (also for periodic)
    7160      - MpqcParser
    7161      - PcpParser
    7162      - PdbParser
    7163      - TremoloParser
    7164      - XyzParser
    7165     - FindNonConvexBorder(): status was always returned as false as all
    7166       CheckListOfBaselines() had been commented out.
    7167 
    7168 commit caeeb80840441e26c65bc21cf81c49717188c5b4
    7169 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7170 Date:   Wed Apr 27 11:16:03 2011 +0200
    7171 
    7172     Changes to regression tests: replaced all $file in ".../post/$file" by file name.
    7173    
    7174     - target files must not be in variables, their name is fixed by the filesystem!
    7175 
    7176 commit 23b0c2555391ed336a0a7589e88eb386466789ce
    7177 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7178 Date:   Wed Apr 27 10:59:00 2011 +0200
    7179 
    7180     Restructured test*.at files: 3-step-rule.
    7181    
    7182     - three-step rule: setup, test, cleanup is now each separated by empty line.
    7183     - test file name is (most of the time) placed into variable $file.
    7184 
    7185 commit 61749d17054bcece39fba5420f0e225cd447c600
    7186 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7187 Date:   Thu Apr 21 19:46:27 2011 +0200
    7188 
    7189     DISTFIX: package.m4 missing in several EXTRA_DISTS.
    7190    
    7191     - also, removed $(srcdir) prefix from its Makefile target.
    7192 
    7193 commit 8544a33cea3ab42744bfb8341060547cca13a1f4
    7194 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7195 Date:   Thu Apr 21 19:45:59 2011 +0200
    7196 
    7197     DISTFIX: Missing header file World_calculations.hpp in src/Makefile.am.
    7198 
    7199 commit fdcd1b73588b7c15f87110828836b0ef8c3f12ec
    7200 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7201 Date:   Thu Apr 21 18:35:34 2011 +0200
    7202 
    7203     Moved DummyUI.hpp from unittests to Actions/unittests/stubs.
    7204    
    7205     - note that it is only used there.
    7206     - TESTFIX: changed inclusion in ActionSequenceUnitTest.cpp and
    7207       ManipulateAtomsUnitTest.cpp.
    7208 
    7209 commit 1e882ae154f988507b4a6df2947209c31d475449
    7210 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7211 Date:   Thu Apr 21 18:34:18 2011 +0200
    7212 
    7213     DISTFIX: Removed unnecessary header file analysis_correlation.hpp in unittests/Makefile.am.
    7214 
    7215 commit 4cf35ac91947662b202e1ff26e201da4fd076dba
    7216 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7217 Date:   Thu Apr 21 18:32:04 2011 +0200
    7218 
    7219     DISTFIX: Missing header files in UIElements/Makefile.am.
    7220    
    7221     - missing:
    7222      - Menu/TextMenu/TxMenuLeaveAction.hpp
    7223      - Qt4/Pipe/QtQueryPipe.hpp
    7224     - removed allmocs.moc.cpp from QTUISOURCE and is added as nodist_SOURCES as it
    7225       is a temporary file.
    7226     - we now require automake 1.5 due to the above dist_, nodist_ feature.
    7227 
    7228 commit 94c3e76bff1ec090197bc0cff9b1bbf7cf328c05
    7229 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7230 Date:   Thu Apr 21 18:30:58 2011 +0200
    7231 
    7232     DISTFIX: Header file Shapes/ShapeExceptions.hpp missing in Shapes/Makefile.am.
    7233 
    7234 commit f134463bea77189705391c669077a617459502f9
    7235 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7236 Date:   Thu Apr 21 18:30:35 2011 +0200
    7237 
    7238     FIX: .def, .undef files missing in RandomNumbers/Makefile.am.
    7239 
    7240 commit db3dd2dc28f5ae2ebe06a69929596195f91bfa51
    7241 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7242 Date:   Thu Apr 21 18:29:49 2011 +0200
    7243 
    7244     DISTFIX: molecuilder_DATA was missing in EXTRA_DIST.
    7245    
    7246     - caused missing elements.db, ...
    7247 
    7248 commit 36f507b1bd1ba07a2cd1197180a6c112e95869c6
    7249 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7250 Date:   Thu Apr 21 18:28:17 2011 +0200
    7251 
    7252     DISTFIX: Added missing header files to src/Makefile.am.
    7253    
    7254     - missing:
    7255      - AtomSet.hpp
    7256      - Descriptors/DescriptorBase.hpp and _impl.hpp
    7257      - Descriptors/SelectiveIterator.hpp and _impl.hpp
    7258      - BoundaryMaps.hpp
    7259      - types.hpp
    7260 
    7261 commit 9cd9ab2e11c145454ffd01534ce03b8cc6602d9a
    7262 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7263 Date:   Thu Apr 21 18:27:32 2011 +0200
    7264 
    7265     FIX: version.c is now included in MOLECUILDERSOURCE in src/Makefile.am.
    7266    
    7267     - header has been missing, too.
    7268 
    7269 commit dd8990f0ba7a27ce4aa346f061b8500dc7c9dec0
    7270 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7271 Date:   Thu Apr 21 18:26:04 2011 +0200
    7272 
    7273     FIX: .def files of Actions have not been present in Makefile.am, although similar to headers.
    7274    
    7275     - added third variable ...DEFS to each subdir with all .def files.
    7276 
    7277 commit 3001c9e46cce0362baca007b3c061df5e0baf9aa
    7278 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7279 Date:   Thu Apr 21 18:25:23 2011 +0200
    7280 
    7281     FIX: LoadAction.cpp and RemoveAction.cpp were doubly included instead of header.
    7282 
    7283 commit 7159ed14ff2a781a124ce96659b2d528034556fb
    7284 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7285 Date:   Thu Apr 21 18:23:50 2011 +0200
    7286 
    7287     DISTFIX: Missing header files in Actions/Makefile.am
    7288    
    7289     - missing: Action_impl_header.hpp, Actions_impl_pre.hpp, AtomsCalculation.hpp,
    7290       and AtomsCalculation_impl.hpp.
    7291 
    7292 commit c5e91c80bd1884a9970269987ac36bf8184710d6
    7293 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7294 Date:   Thu Apr 21 18:22:49 2011 +0200
    7295 
    7296     DISTFIX: Exceptions.hpp and VectorSet.hpp missing in LinearAlgebra/Makefile.am.
    7297 
    7298 commit c8cfe35f708ba5944ec355cd264568d01a3af341
    7299 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7300 Date:   Thu Apr 21 18:20:42 2011 +0200
    7301 
    7302     DISTFIX: fixed typo in EXTRA_DIST.
    7303 
    7304 commit 768459b03b26501a732a980c136f0b6dcf14a25c
    7305 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7306 Date:   Thu Apr 21 18:20:14 2011 +0200
    7307 
    7308     DISTFIX: replaced testsuite*.at by the filenames.
    7309 
    7310 commit 710dde4aedd658fec9779a8e9013ded56256bef5
    7311 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7312 Date:   Thu Apr 21 18:18:42 2011 +0200
    7313 
    7314     DISTFIX: manpage file man-molecuilder.in is just molecuilder.in.
    7315 
    7316 commit 1bd42dbd8bac0d3b5c6d6c7811c2397026d2e5e4
    7317 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7318 Date:   Thu Apr 21 18:17:23 2011 +0200
    7319 
    7320     DOCUFIX: Fixed formula errors - replaced \text by \mathrm, \acos by \arccos.
    7321 
    7322 commit dc322a95fe9cc369edc721168839af35d157982a
    7323 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7324 Date:   Thu Apr 21 18:16:19 2011 +0200
    7325 
    7326     DISTFIX: need to use tar-pax to allow for longer filenames in dist's archive.
    7327 
    7328 commit 50228e270e2ef3c849bd22b5d3dd8ee9461a9d62
    7329 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7330 Date:   Thu Apr 21 18:15:03 2011 +0200
    7331 
    7332     DISTFIX: in EXTRA_DIST autogen.sh instead of bootstrap was still listed.
    7333 
    7334 commit dac853cbf770cdeafc4bdd7d6a4ed6e9869cea86
    7335 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7336 Date:   Thu Apr 21 14:03:37 2011 +0200
    7337 
    7338     Rewrote HelpAction.
    7339    
    7340     - is currently only useful to CommandLineParser.
    7341     - gives general help and either list of Actions or an Action's help.
    7342     - TESTFIX: changed regression test on help as output changed (a lot).
    7343 
    7344 commit 406bb5602ebca0fb814a7bc8777383eb42c9599a
    7345 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7346 Date:   Thu Apr 21 14:03:08 2011 +0200
    7347 
    7348     Removed verbosity of CommandLineWindow::display().
    7349    
    7350     - removed "Checking presence of ...".
    7351 
    7352 commit ec098d161915883c8b8ee3b38268e0ea8e78164d
    7353 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7354 Date:   Thu Apr 21 13:58:38 2011 +0200
    7355 
    7356     Made info of CommandLineParser::AddOptionToParser() prettier.
    7357 
    7358 commit e4b2f62dfca2ad7ca11a6a9379376695981407b1
    7359 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7360 Date:   Thu Apr 21 13:57:28 2011 +0200
    7361 
    7362     Added Action::help().
    7363    
    7364     - Action::help() returns a string that enlists all of its options including
    7365       type of argument and default values. This will be used by HelpAction.
    7366 
    7367 commit 13799e61558eed972ef8a0528faff8bbe010609e
    7368 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7369 Date:   Thu Apr 21 13:57:08 2011 +0200
    7370 
    7371     FIX: Action::getName() is now const member function.
    7372 
    7373 commit 3bd460af052917a45d592fa6b0fec95c039cefb1
    7374 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7375 Date:   Mon Apr 18 18:02:39 2011 +0200
    7376 
    7377     All Actions on domain now state the final domain size.
    7378    
    7379     - default text is "Box domain is now ..." and is checked also in regression
    7380       test.
    7381 
    7382 commit b7fbf02193ab395cdbc7ff2dd356938ee5660022
    7383 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7384 Date:   Mon Apr 18 17:42:35 2011 +0200
    7385 
    7386     FIX: select-molecule-by-id crashed when no molecules are present.
    7387    
    7388     - each molecule selection action checks whether molecules are present at all
    7389     - rewrote MoleculeByIdActions to take integer from command-line not molecule
    7390       reference and perform the MoleculeById selection themselves (as do all other
    7391       Actions, too).
    7392     - this fixes ticket #134.
    7393 
    7394 commit b404da2c175e7f9b95c08827089310ea2a800703
    7395 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7396 Date:   Sat Apr 2 03:01:21 2011 +0200
    7397 
    7398     Set version to 1.1.2.
    7399    
    7400     - library is now 4:0:0 due to "removal" of LinearAlgebra.
    7401 
    7402 commit 7a1dd0dd732364be0f3893be54188e99c0bbc3ce
    7403 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7404 Date:   Mon Apr 18 12:05:27 2011 +0200
    7405 
    7406     Added regression tests on parsing present but empty files.
    7407    
    7408     - every Parser now first loads an empty file (no newlinw, 0 bytes) as initial
    7409       regression test.
    7410     - this closes ticket #131.
    7411 
    7412 commit 4fdc6536733f18fb07af327a470c5552ca8c10ce
    7413 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7414 Date:   Mon Apr 18 16:57:15 2011 +0200
    7415 
    7416     FIX: XyzParser and PcpParser fail on empty but present config files.
    7417    
    7418     - XyzParser::load() do..while -> while
    7419     - ConfigFileBuffer::InitFileBuffer() do..while -> while
    7420     - ParseForParameter() - check whether initially CurrentLine < NoLines.
    7421     - NOTE: ConfigFileBuffer is not written in a stable manner, checks and
    7422       encapsulation are missing. It should be refactored.
    7423 
    7424 commit 305e7e066de5b54b2aeede90057a8e00faffd49c
    7425 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7426 Date:   Mon Apr 18 14:43:30 2011 +0200
    7427 
    7428     FIX: Type is actually spelled type with TREMOLO.
    7429    
    7430     - corrected in TremoloParser.
    7431     - TESTFIX: the following tests has to be changed accordingly:
    7432      - Parser/Tremolo
    7433      - Parser/Tremolo-Potentials
    7434      - Atoms/Add
    7435      - Filling/FillVoidWithMolecule
    7436      - Molecule/Copy
    7437 
    7438 commit 4217e768dc3bd03c7e60ad2a4aaf951c557eab5a
    7439 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7440 Date:   Mon Apr 18 10:28:40 2011 +0200
    7441 
    7442     Added regression test on --parse-tremolo-potentials.
    7443 
    7444 commit 4555736a848291ba2a2394892fd02081032c5861
    7445 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7446 Date:   Wed Mar 2 17:25:13 2011 +0100
    7447 
    7448     Large Commit: SUBDIRS in src/Makefile.am replaced by include.
    7449    
    7450     - This should let make decide on the dependencies automatically.
    7451     - We had to change each Makefile.am due to different relative location
    7452       now.
    7453     - FIX: convenience libs were not created due to lib_LT... instead of
    7454       noinst_LT... (thanks, Ralf!)
    7455     - FIX: convenience libs cannot pass on dependencies on real libs, these
    7456       (seemingly: libLinearAlgebra) have to be re-specified.
    7457     - FIX: RANDOMSOURCE/HEADER were still present to include in libMolecuilder
    7458       although RandomNumbers have been outsourced for some time already.
    7459     - this should make it a lot easier for unit tests to get away with the
    7460       massive dependencies because we may now include single libs and can
    7461       construct stubs in replacement.
    7462 
    7463 commit ca2cfa90c7de8dcc5abc2fe3009b82a5946e1c28
    7464 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7465 Date:   Mon Apr 18 14:44:04 2011 +0200
    7466 
    7467     FIX: TremoloParser writes neighbours as sorted list.
    7468    
    7469     - TremoloParser::writeNeighbors(): indices of neighbors are now written in
    7470       sorted manner.
    7471 
    7472 commit bf4b9ff97113f58a6031de8f9e67813336ae63f1
    7473 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7474 Date:   Sat Apr 2 02:53:43 2011 +0200
    7475 
    7476     Moved LinearAlgebra from folder src/ into distinct sub-package.
    7477    
    7478     - src/LinearAlgebra folder is now LinearAlgebra/src/LinearAlgebra due to
    7479       include consistency.
    7480     - src/LinearAlgebra/unittests have been moved to LinearAlgebra/unittests.
    7481     - All Makefile.am's had to be changed due to changed location of library.
    7482     - renamed libMolecuilderLinearAlgebra to libLinearAlgebra.
    7483     - CONFIG_AUX_DIR is build-aux 9for molecuilder and LinearAlgebra).
    7484     - m4 is symlinked from below.
    7485     - build-aux now contains small README such that it is created automatically.
    7486 
    7487 commit 3e2225f811016c9e0bb983b9e653cc67856805b1
    7488 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7489 Date:   Sat Apr 2 01:11:48 2011 +0200
    7490 
    7491     Removed subdir Exceptions and libMolecuilderExceptions.
    7492    
    7493     - changes in many Makefile.am's.
    7494     - this completes replacement of Exceptions by boost::exception.
    7495 
    7496 commit 336e331077ae1495a8fb791f9f59393e6adcb006
    7497 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7498 Date:   Sat Apr 2 01:03:04 2011 +0200
    7499 
    7500     Removed MissingValueException from Exceptions.
    7501    
    7502     - is now boost::exception-derived in ValueStorage.hpp.
    7503 
    7504 commit 88267818974ad107d18379d2ec3d0d19c96351bd
    7505 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7506 Date:   Sat Apr 2 00:29:00 2011 +0200
    7507 
    7508     Removed IllegalTypeException from Exceptions.
    7509    
    7510     - is now boost::exception-derived in ValueStorage.hpp.
    7511 
    7512 commit b94634903469fbb4f8f27672f141d13d2700a169
    7513 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7514 Date:   Sat Apr 2 00:08:13 2011 +0200
    7515 
    7516     Removed NotOnSurfaceException and ShapeException from Exceptions.
    7517    
    7518     - ShapeException is now base class for NotOnSurfaceException, both are derived
    7519       from boost::exception.
    7520 
    7521 commit b88fe4cde25eb17a90126edc680f80f5b35c49c9
    7522 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7523 Date:   Sat Apr 2 00:03:21 2011 +0200
    7524 
    7525     Removed Exceptions/FormulaStringParseException.
    7526    
    7527     - is now boost::exceptions-derived and part of Formula.
    7528 
    7529 commit 00bb38e01da38a92854e72c77a6654dea58e2626
    7530 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7531 Date:   Fri Apr 1 23:33:38 2011 +0200
    7532 
    7533     Removed libMolecuilderExceptions from LinearAlgebra.
    7534    
    7535     - now we may place LinearAlgebra into own autoconf sub-package.
    7536 
    7537 commit 783e885947b7814a6e0a4ae6029926646165b744
    7538 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7539 Date:   Fri Apr 1 23:30:33 2011 +0200
    7540 
    7541     Removed LinearDependenceException, MultipleSolutionsException and MathException from Exceptions.
    7542    
    7543     - the first two are now boost::exception-derived.
    7544     - LinearAlgebraException takes the place of MathException where both have to be
    7545       caught.
    7546 
    7547 commit 8b9c43d8a9fd262a308876876cf5a443b3dbb2b8
    7548 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7549 Date:   Fri Apr 1 22:27:13 2011 +0200
    7550 
    7551     Removed Exceptions/ZeroVectorException.
    7552    
    7553     - is now boost::exception-derived.
    7554     - new error_info LinearAlgebraVector.
    7555 
    7556 commit a700c4c185c43a45a447fc2167a3e93e0a5ef567
    7557 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7558 Date:   Fri Apr 1 22:02:47 2011 +0200
    7559 
    7560     Removed Exceptions/NotInvertibleException.
    7561    
    7562     - is now a boost::exception-derived LinearAlgebraException.
    7563     - error_info LinearAlgebraMatrixContent now takes const MatrixContent * const.
    7564 
    7565 commit 3bfd78571692d65b69ab59f338e6f7ff197af6f0
    7566 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7567 Date:   Fri Apr 1 21:52:21 2011 +0200
    7568 
    7569     LinearAlgebra now begins having its own exceptions derived from boost::exceptions.
    7570    
    7571     - boost::exceptions allows to add arbitrary information in higher context to
    7572       a thrown exception and has a nice diagnostic output, allowing so-called
    7573       exception wrapping maintaining exception-neutrality.
    7574     - deleted Exceptions/SkewExceptions.*
    7575     - new file LinearAlgebra/Exceptions.hpp.
    7576 
    7577 commit 2558294f484d39a0281f98d18f6262ab77448e87
    7578 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7579 Date:   Fri Apr 1 21:26:03 2011 +0200
    7580 
    7581     Removed Helpers.hpp, deleted Helpers.cpp and libMoleCuilderHelpers.la is history.
    7582    
    7583     - defs.cpp is now compiled into libmolecuilder.la.
    7584     - ShapeUnitTest alone needs defs.cpp.
    7585     - Most changes are removal of Helpers/helpers.hpp.
    7586     - performCriticalExit() now inline function in Helpers/helpers.hpp.
    7587     - also inclusion possible where performCriticalExit() is needed.
    7588     - Helpers/helpers.hpp does not include defs.hpp anymore and this causes
    7589       lots of missing Helpers/defs.hpp, CodePatterns/Log.hpp and alikes.
    7590     - removed src/Helpers from configure.ac.
    7591 
    7592 commit 8766e72010ab64c79807df9ff4eb81ce55f43598
    7593 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7594 Date:   Fri Apr 1 20:17:43 2011 +0200
    7595 
    7596     FIX: setRandomRotation() used probably faulty rotation matrix.
    7597    
    7598     - MatrixTest::RotationTest() indicated that rotation matrix did not have
    7599       a unit determinant. Hence, it cannot be an orthogonal matrix.
    7600     - instead we use function RealSpaceMatrix::setRotation() instead.
    7601 
    7602 commit b81f1c37e2cae3aa13b96b83b26fd5091886b161
    7603 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7604 Date:   Fri Apr 1 17:14:39 2011 +0200
    7605 
    7606     Removed libMolecuilderRandomNumbers from LinearAlgebra.
    7607    
    7608     - added RealSpaceMatrix::setRotation() that accepts phi[NDIM].
    7609     - moved RealSpaceMatrix::setRandomRotation() to boundary.cpp where it is solely
    7610       used.
    7611 
    7612 commit 819cbed89a1b1c8ad28590a925dbf1e1e2054c50
    7613 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7614 Date:   Fri Apr 1 17:12:21 2011 +0200
    7615 
    7616     FIX: MatrixTest::RotationTest() allowed also rotations matrices with det of -1.
    7617 
    7618 commit 0a60eeb5e43ca7bfc3e01dd52cc33418b116bbed
    7619 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7620 Date:   Fri Apr 1 17:11:55 2011 +0200
    7621 
    7622     Removed libMolecuilderHelpers from LIBADDs in LinearAlgebra.
    7623 
    7624 commit 71129f9baea5c7b294d5612a2cf24cf00ef7b14e
    7625 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7626 Date:   Fri Apr 1 16:28:45 2011 +0200
    7627 
    7628     Removed inclusion of Helpers/...hpp from LinearAlgebra.
    7629    
    7630     - VectorContent needed replacing MYEPSILON by LINALG_MYEPSILON.
    7631     - LINALG_MYEPSILON is now function (defines are ugly!) that returns
    7632       numeric_limits<double>::epsilon()
    7633 
    7634 commit 5605793b50554c75171309f425f1848783edb5d0
    7635 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7636 Date:   Fri Apr 1 15:42:40 2011 +0200
    7637 
    7638     Moved PLURAL_S from Helpers/helpers to UIElements/Views/Qt4/QtStatusBar.
    7639 
    7640 commit 0d03166b84523d21b5a24e252f06c2d1c8836345
    7641 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7642 Date:   Fri Apr 1 15:36:59 2011 +0200
    7643 
    7644     Removed FixedDigitNumber from Helpers/helpers.
    7645    
    7646     - is now inlined function with MoleculeListClass and parser's MatrixContainer.
    7647 
    7648 commit 67acff3b2b5a7a2780e62d6485ef467f15c03a57
    7649 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7650 Date:   Fri Apr 1 15:30:04 2011 +0200
    7651 
    7652     Removed debug and debug_in that are no longer used.
    7653 
    7654 commit 88874313f4197328929a0851202248fa35de9d9a
    7655 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7656 Date:   Fri Apr 1 15:24:37 2011 +0200
    7657 
    7658     BUGFIX: VectorContent::free_content_on_exit not initialised for VectorBaseCase.
    7659 
    7660 commit cd406d8141ce4864a4ec88d2970d8b496562a3bd
    7661 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7662 Date:   Fri Apr 1 15:24:08 2011 +0200
    7663 
    7664     Moved sign() from Helpers/helpers to LinearAlgebra/fast_functions.hpp.
    7665 
    7666 commit 6f68d6fb6d9ac0188a952835078622c964fe52dc
    7667 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7668 Date:   Wed Mar 30 22:45:38 2011 +0200
    7669 
    7670     Added possibility to parse MatrixContent from stream and to write to.
    7671    
    7672     - MatrixContent::preparseMatrixDimensions() needed due to const members rows
    7673       and columns.
    7674     - extended present unit test on both features.
    7675 
    7676 commit 0e4aa4d2a8b0ce6daba3c91d5905d1a870b8d520
    7677 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7678 Date:   Wed Mar 30 21:25:24 2011 +0200
    7679 
    7680     FIX: MatrixContent::sortEigenbasis() sorted by magnitude not value.
    7681 
    7682 commit abfb12fe5dc5a45969d3e096df350658a1bfb9e3
    7683 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7684 Date:   Wed Mar 30 21:23:58 2011 +0200
    7685 
    7686     VectorContent also free's ::content when delivered by pointer.
    7687    
    7688     - the constructor with pointer argument is meant as a wrapper around a normal
    7689       gsl_vector. Hence, it should not free the gsl_vector itself.
    7690 
    7691 commit 644d03de2a9c4ec1df012d1871b381ea3c5c9d13
    7692 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7693 Date:   Wed Mar 23 21:28:49 2011 +0100
    7694 
    7695     Added operator+ and operator- for two MatrixContent's.
    7696    
    7697     - += and -= have been present and all for VectorContent, but + and - were\
    7698       missing for MatrixContent. Added those two.
    7699 
    7700 commit a9c55698942f788e19972e1ede73d15250e27283
    7701 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7702 Date:   Mon Mar 14 17:15:28 2011 +0100
    7703 
    7704     Removed Subspace stuff from this project.
    7705    
    7706     - has been relayed along with unit test into its own project:
    7707       SubspaceFactorizer.
    7708 
    7709 commit 06aedcbf17e4e4c9e8e3bb29a2bca5c03beb986b
    7710 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7711 Date:   Mon Mar 14 11:41:50 2011 +0100
    7712 
    7713     libMolecuilderLinearAlgebra is now a self-contained library fit for external use.
    7714    
    7715     - added LinearAlgebra.pc.in and LinearAlgebra-debug.pc.in (both require
    7716       CodePatterns, the latter CodePatterns-debug).
    7717     - added LINEARALGEBRA_SO_VERSION (set to 1.0.0) to configure.ac.
    7718     - moved NDIM from Helpers/defs.hpp to new file LinearAlgebra/defs.hpp.
    7719 
    7720 commit 9b410d4225f83b0e1aa39d84b3bd1bf3123fc2b3
    7721 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7722 Date:   Mon Mar 14 14:54:08 2011 +0100
    7723 
    7724     Replace MYEPSILON in LinearAlgebra/ by LINALG_MYEPSILON.
    7725    
    7726     - this is preparatory for external use lib libmolecuilderLinearAlgebra.
    7727     - new file LinearAlgebra/defs.hpp.
    7728 
    7729 commit 1be8a5db51403592a61b0f3071550ee1f2030c56
    7730 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7731 Date:   Mon Mar 14 14:37:17 2011 +0100
    7732 
    7733     Changed inclusion of LinearAlgebra/Vector.cpp.
    7734    
    7735     - Removed unneeded inclusion of World.hpp from LinearAlgebra/Vector.cpp.
    7736     - Added required inclusion of cmath to LinearAlgebra/Vector.cpp.
    7737 
    7738 commit dcc22897f02ef806a05b6d07248b009c7d3925a5
    7739 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7740 Date:   Mon Mar 7 12:02:03 2011 +0100
    7741 
    7742     Added script to check all commits in a given range externally.
    7743    
    7744     - i.e. the repository is cloned and we go through every commit in the range
    7745       by a respective git checkout including bootstrap, configure, make, and
    7746       make check phase, both with and without debug.
    7747 
    7748 commit a9b20c0e45ff5b27b12063c8931880d9e3b01794
    7749 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7750 Date:   Sat Apr 2 02:58:32 2011 +0200
    7751 
    7752     Set current version to 1.1.1.
    7753    
    7754     - library is now 3:0:0.
    7755 
    7756 commit 37b2f913fa2e9ffae9bf60705af9678b84b39b29
    7757 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7758 Date:   Mon Mar 7 12:01:35 2011 +0100
    7759 
    7760     Added doc/html to gitignore.
    7761 
    7762 commit 61775a83598a3d535d294335a2a8bb6232049f6d
    7763 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7764 Date:   Thu Mar 3 02:29:55 2011 +0100
    7765 
    7766     Removed templated CreateFatherLookupTable from helpers.hpp.
    7767 
    7768 commit 13a95397b14b03aa8f1b4580623690439ed06e5a
    7769 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7770 Date:   Thu Mar 3 02:28:42 2011 +0100
    7771 
    7772     Moved molecule::CheckAdjacencyAgainstFile() into functor in Graph/.
    7773    
    7774     - Note that this is currently not working because there is no correct mapping
    7775       from indices in the adjacency file to the indices of the atoms (and without
    7776       some fixed mean of aligning atoms, this will never be possible).
    7777 
    7778 commit 2d4334de0df04fbf9bf9d9b86cdd57638d71e072
    7779 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7780 Date:   Thu Mar 3 01:11:14 2011 +0100
    7781 
    7782     Moved BuildInducedSubgraph from molecule into functor in Graph/.
    7783    
    7784     - BuildInducedSubgraph::ParentList has been reworked into map<atom*,atom*>.
    7785 
    7786 commit dda246d334045cb752f130960f92fe011e0d85b8
    7787 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7788 Date:   Wed Mar 2 00:23:25 2011 +0100
    7789 
    7790     Made Helpers into commodity library to prevent double inclusion.
    7791    
    7792     - This is also preparatory for Makefile refactoring.
    7793 
    7794 commit d09093c691897e07d538a3b07ec8605572e2d8a9
    7795 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7796 Date:   Tue Mar 1 15:22:07 2011 +0100
    7797 
    7798     Moved all graph-related Actions into own folder Actions/GraphAction/.
    7799    
    7800     - added new graph menu to MenuDescription.
    7801     - added new action menu Graph to CommandLineParser.
    7802 
    7803 commit 197e13d45cf228a9931bce7e6337668093466a83
    7804 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7805 Date:   Wed Mar 2 14:31:11 2011 +0100
    7806 
    7807     Added MenuDescription_ActionRegistry_ConsistenyUnitTest to check whether Actions have menus not listed in MenuDescription.
    7808    
    7809     - Menus may be added to Actions and there is so far no check on whether
    7810       MenuDescriptions, i.e. the base for the menus of both QtUI and TextUI,
    7811       knows about this Menu (it needs respective entries in three contained maps).
    7812 
    7813 commit 19290fc182f2d682bc1633033fa3d3bb37d1c9d0
    7814 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7815 Date:   Wed Mar 2 14:12:54 2011 +0100
    7816 
    7817     Added CommandLineParser_ActionRegistry_ConsistenyUnitTest to check whether Actions have menus not listed in CommandLineParser.
    7818    
    7819     - Menus may be added to Actions and there is so far no check on whether
    7820       CommandLineParser knows about this Menu (it needs a respective
    7821       program_options map).
    7822 
    7823 commit c6e5eb04bc75c10ffa001730944df215d101dbb7
    7824 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7825 Date:   Wed Mar 2 15:40:38 2011 +0100
    7826 
    7827     FIX: CommandLineParser::setOptions() added option_descriptions hard-coded.
    7828    
    7829     - this is prone to errors (which took us a while to find), instead all
    7830       contained in CmdParserLookup are added to both visible and cmdline_options.
    7831 
    7832 commit 137ae140606b0df28861bb9c9f5359feb7c1bac3
    7833 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7834 Date:   Wed Mar 2 14:32:43 2011 +0100
    7835 
    7836     FIX: Made MenuDescriptionTest::ConsistencyCheck()'s failure message a bit clearer by giving missing token.
    7837 
    7838 commit 7d8aa0ed294faa7d4ce63827ae1a11ba140ffe4d
    7839 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7840 Date:   Wed Mar 2 14:11:04 2011 +0100
    7841 
    7842     Typo in protecting define for MenuDescriptionUnitTest.
    7843 
    7844 commit efe5160ad303df71b958a8e888770461a77b5bae
    7845 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7846 Date:   Tue Mar 1 15:16:44 2011 +0100
    7847 
    7848     Removed bond::nr.
    7849    
    7850     - has only been used by BreadthFirstSearchAdd.
    7851     - changed BreadthFirstSearchAdd::AddedBonds into map<bond*,bond*>.
    7852 
    7853 commit 2fa1dcc10971a1dc0e6a4500bbaec2e5135ac6ec
    7854 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7855 Date:   Fri Feb 25 23:49:02 2011 +0100
    7856 
    7857     Removed regression folders Fragmentation/2ndOrder and ./MaxOrder.
    7858 
    7859 commit 49c059c36d49bc80016beb5b2ba5a56947f5f28c
    7860 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7861 Date:   Fri Feb 25 23:15:31 2011 +0100
    7862 
    7863     Moved DepthFirstSearchAnalysis into functor in Graph/.
    7864    
    7865     Smaller fixes:
    7866     - molecule::CorrectBondDegree() - does not rely on BondCount which was not
    7867       necessary anyway.
    7868    
    7869     - DFS does not copy atoms or molecules anymore but reinitiates the current
    7870       molecule structure with present atoms, used new class ConnectedSubgraph for
    7871       that. New functions:
    7872      - UpdateMoleculeStructure() - reinstantiates molecules.
    7873      - getMoleculeStructure() - puts molecules into chained list.
    7874     - adapted because of that:
    7875      - DepthFirstSearchAction: uses DFS and CSA functors, also
    7876        UpdateMoleculeStructure() such that CSA has current structure.
    7877      - FragmentationAction: assumes connectivity fully present, DFS created.
    7878      - SubgraphDissectionAction: uses DFS and UpdateMoleculeStructure().
    7879      - molecule::FragmentMolecule(): no more DFS, instead DFS has to happen
    7880        beforehand and is given as parameter, used to obtain chained list for
    7881        compatibility for the moment.
    7882     - DepthFirstSearchAnalysis::SetNextComponentNumber() bugfix due to wrong
    7883       assert.
    7884    
    7885     TESTFIXES:
    7886     - Fragmentation and regression test Fragmentation/FragmentMolecule:
    7887       FragmentationAction now needs SubgraphDissectionAction beforehand.
    7888     - shifted id (down by one) due to non-copying (before: one big molecule,
    7889       copied and split up system started at 1, now it starts at 0):
    7890      - (Un)Selection/Atoms/AllAtomsOfMolecule
    7891      - Analysis/SurfaceCorrelation
    7892      - (Un)Selection/Molecules/MoleculeById (also renamed post-files accordingly)
    7893      - (Un)Selection/Molecules/MoleculeByName
    7894 
    7895 commit 1a4d4fe643276ccfaf48040266dbe8e6b192ced2
    7896 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7897 Date:   Fri Feb 25 22:26:03 2011 +0100
    7898 
    7899     FIX: bond::~bond() checks whether the bond is a ring circle, leftatom == rightatom.
    7900    
    7901     - Unregistering the same atom again leads to seg'fault.
    7902 
    7903 commit e73ad9a5d1596d6e9a9f9c6a17bf256479595404
    7904 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7905 Date:   Fri Feb 25 21:52:50 2011 +0100
    7906 
    7907     Moved CyclicStructureAnalysis from molecule_graph.cpp into own functor in Graph/.
    7908    
    7909     - libMolecuilderGraph needed by libMolecuilderAction and libMolecuilder now.
    7910     - replacing call to CyclicStructureAnalysis in molecule::FragmentMolecule()
    7911       required removing MinimumRingSize from ::FragmentBOSSANOVA() and
    7912       ::CheckOrderAtSite().
    7913     - replaced call in DepthFirstSearchAction.
    7914 
    7915 commit 2e4105630d51f1e775d9d45b32869bce5c038470
    7916 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7917 Date:   Fri Feb 25 21:44:07 2011 +0100
    7918 
    7919     molecule::erase() is only used by atom::removeFromMolecule().
    7920    
    7921     - everywhere else -- even within molecule -- we call
    7922       atom::removeFromMolecule().
    7923     - molecule::erase() is private, atom is friend to underline this.
    7924 
    7925 commit 0d9546d9326121813c893132980c5ec73e25ec7f
    7926 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7927 Date:   Fri Feb 25 21:35:47 2011 +0100
    7928 
    7929     new function atom::unsetMolecule().
    7930    
    7931     - is meant along with setMolecule() to be used by molecule only to allow for
    7932       (un)setting mol reference.
    7933     - atom::(un)setMolecule() is private.
    7934     - AtomicInfo added also as friend to atom::setMolecule().
    7935 
    7936 commit 1363de855fb482f9b1722a9ca5ef1aa1bde95a88
    7937 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7938 Date:   Fri Feb 25 21:35:17 2011 +0100
    7939 
    7940     DOCUFIX: atom - Moved all doxygen documentation to header file.
    7941 
    7942 commit 09ac12a511805f41520d52c772d21c17d8247458
    7943 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7944 Date:   Fri Feb 25 21:04:45 2011 +0100
    7945 
    7946     Added new class ConnectedSubgraph.
    7947    
    7948     - inherits list<atom *>.
    7949     - will be later used by DepthFirstSearchAnalysis.
    7950     - mostly contains a function to generate a molecule from the contained atom list.
    7951 
    7952 commit 111387aec9ad3d775c5a8463dc8ce9dafad22cd6
    7953 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7954 Date:   Fri Feb 25 22:01:16 2011 +0100
    7955 
    7956     FIX: BreadthFirstSearchAdd header only includes GraphEdge, not bond anymore.
    7957 
    7958 commit 12920404e7a45c1ac4fe563b7c5a29891f5e662a
    7959 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7960 Date:   Fri Feb 25 20:58:54 2011 +0100
    7961 
    7962     Moved bond.* to Bond/, new class GraphEdge which contains graph parts of bond.
    7963    
    7964     - enums Shading and EdgeType are now part of GraphEdge, hence bigger change in
    7965       the code where these are used.
    7966 
    7967 commit 766ba546abe583269feb13496ad21d0857081c89
    7968 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7969 Date:   Fri Feb 25 16:54:48 2011 +0100
    7970 
    7971     bond::GetColor() is now static function bond::getColorName().
    7972 
    7973 commit 53d6b265421d71dfd6355f93fe27b0b06473194f
    7974 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7975 Date:   Fri Feb 25 16:44:44 2011 +0100
    7976 
    7977     Moved unused function BreadthFirstSearchAdd and subfunctions into functor in Graph/
    7978    
    7979     - new commodity library libMolecuilderGraph and new subfolder Graph with own
    7980       Makefile.am.
    7981 
    7982 commit 99752ac32a6b5b4b90ea6288654d966ac4421175
    7983 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7984 Date:   Fri Feb 25 16:40:39 2011 +0100
    7985 
    7986     Moved FillBondStructureFromReference from MoleculeLeafClass to molecule.
    7987 
    7988 commit c6123b29bfd4ed1187d08572debda704f114b2c4
    7989 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7990 Date:   Fri Feb 25 16:22:51 2011 +0100
    7991 
    7992     Moved FillListOfLocalAtoms() from MoleculeLeafClass to molecule.
    7993 
    7994 commit 341f2216a805ad9df99fc2dabe474ac6089179ff
    7995 Author: Frederik Heber <heber@ins.uni-bonn.de>
    7996 Date:   Fri Feb 25 14:32:43 2011 +0100
    7997 
    7998     Removed molecule_dynamics.cpp
    7999 
    8000 commit 435065d3d9c23062fca0bb67ff882fade26acced
    8001 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8002 Date:   Wed Mar 2 22:48:20 2011 +0100
    8003 
    8004     Rewrote VerletForceIntegration into a functor in Dynamics/.
    8005    
    8006     - we now have the regression test working with checking against an integrated
    8007       file which has not been checked though (just by eye and logged output to make
    8008       sense, not against other code).
    8009 
    8010 commit eb33c4a913ab83436dbf30ab934797ec2d623036
    8011 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8012 Date:   Wed Mar 2 22:40:51 2011 +0100
    8013 
    8014     LinearInterpolationofTrajectoriesAction only interpolates, does not save.
    8015    
    8016     - This should make the action more versatile.
    8017     - Saving generated paths can easily be done (and is done so for regression
    8018       test) by a specific SaveSelected..Action.
    8019 
    8020 commit e355762f9447acb9c234eadd3df6adc314e5dee7
    8021 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8022 Date:   Fri Feb 25 12:41:34 2011 +0100
    8023 
    8024     Rewrote MinimiseConstrainedPotential to just use std::map instead of arrays.
    8025    
    8026     - MinimiseConstrainedPotential::operator() needs std::Map<atom*,atom*> as
    8027       parameter for PermutationMap.
    8028 
    8029 commit fe6f202b08255305d13ec735eddd6dc5bc8cdcf4
    8030 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8031 Date:   Fri Feb 25 12:20:54 2011 +0100
    8032 
    8033     New Action SaveSelectedAtoms and renamed SaveAction -> SaveSelectedMoleculesAction.
    8034    
    8035     - for molecules we have short cut "s", for atoms "S".
    8036     - added regression tests for both: Atoms/SaveSelectedAtoms,
    8037       Molecules/SaveSelectedMolecules.
    8038 
    8039 commit 8009ce8388c713891077297db7c3f7b0aa88b397
    8040 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8041 Date:   Fri Feb 25 10:57:50 2011 +0100
    8042 
    8043     Rewrote OutputTemperature into a functor in Dynamics/
    8044    
    8045     - formerly called molecule::OutputTemperatureFromTrajectories().
    8046     - removed shortform of SaveTemperatureAction.
    8047 
    8048 commit 20943bae7a201e8b438123cacbc942e875e959a9
    8049 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8050 Date:   Fri Feb 25 10:39:10 2011 +0100
    8051 
    8052     Rewrote LinearInterpolationBetweenSteps into a functor in Dynamics/
    8053    
    8054     - formerly called molecule::LinearInterpolationBetweenConfigurations().
    8055 
    8056 commit 9e23a3785b6bdd916d370ba9157e9b76a1905c53
    8057 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8058 Date:   Fri Feb 25 00:49:26 2011 +0100
    8059 
    8060     Rewrote MinimiseConstrainedPotential into a functor in Dynamics/.
    8061    
    8062     - most of the stand-alone functions in molecule_dynamics.cpp have been moved to
    8063       this functor as wel.
    8064     - is used by both molecule::LinearInterpolationBetweenConfiguration() and
    8065       molecule::VerletForceIntegration() for constrained dynamics.
    8066     - MinimiseConstrainedPotential() works on molecule::atomSet for now.
    8067 
    8068 commit 632508ffb01a2e25577835bce4302a652209e479
    8069 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8070 Date:   Mon Feb 28 17:11:28 2011 +0100
    8071 
    8072     Moved files bondgraph.?pp -> Graph/BondGraph.?pp.
    8073 
    8074 commit 607eab6774ab70357425ace73b68c00a831b78da
    8075 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8076 Date:   Mon Feb 28 17:06:03 2011 +0100
    8077 
    8078     BondGraph::...MinMaxDistance() now return range<double> instead of ref as parameter.
    8079 
    8080 commit cff66ce85fbde649305dc9b561722a14ecc7a26c
    8081 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8082 Date:   Mon Feb 28 16:16:58 2011 +0100
    8083 
    8084     Removed bool is Angstroem from all BondGraph::...() member functions.
    8085    
    8086     - we set IsAngstroem in constructor, and that's it.
    8087 
    8088 commit 111f4abc5bb4e30485671304b58753988cb819bf
    8089 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8090 Date:   Mon Feb 28 16:14:28 2011 +0100
    8091 
    8092     Const-ness and cosmetic fixes to class BondGraph.
    8093    
    8094     - made CreateAdjacency and connected functions const members.
    8095 
    8096 commit 0ec7fe4ea1bdaeb2d3d9ac09962de0ea7fc2bdcd
    8097 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8098 Date:   Mon Feb 28 16:11:16 2011 +0100
    8099 
    8100     Removed BondGraph::max_distance along with getter and setter.
    8101    
    8102     - SetMaxDistanceFromCovalentDistance() was nonsense and prone to faults and
    8103       misunderstandings.
    8104     - instead getMaxPossibleBondDistance() returns upper cutoff limit based on a
    8105       given atomset.
    8106 
    8107 commit 300220077f0507b7ef3d400de839792167c20b51
    8108 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8109 Date:   Mon Feb 28 16:00:34 2011 +0100
    8110 
    8111     BondGraph::..MinMaxDistance() changed to use range<double>.
    8112    
    8113     - requires CodePatterns 1.0.13 due to operator<< (range<T>)
    8114     - all ...BondGraph::..MinMaxDistance() work on range, not two doubles.
    8115     - only getMinMaxDistance(BondedParticle, BondedParticle, ...) available from
    8116       outside.
    8117     - new function getMinMaxDistanceSquared( <see above> ) for squared interval
    8118       boundaries.
    8119     - internal use element pointer:
    8120      - getMinMaxDistance()
    8121      - BondLengthMatrixMinMaxDistance()
    8122      - CovalentMinMaxDistance()
    8123     - getBondLength is now private and only unit tests are friends.
    8124 
    8125 commit 0cbad258eb8c0251e3a78b10e2b68fdd0a5d2791
    8126 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8127 Date:   Sat Feb 19 00:39:44 2011 +0100
    8128 
    8129     Moved molecule::CreateAdjacencyListFromDbondFile() over to BondGraph and made more flexible.
    8130    
    8131     - extended molecule::CreateAdjacencyListFromDbondFile() to also parse TREMOLO's dbond files.
    8132     - BondFileAction now has two more options: skiplines and offset to control
    8133       parsing, default values assure behavior as has been.
    8134     - same way CreateAdjacencyListFromDbondFile() has these two options added also.
    8135     - extended regression test Molecule/BondFile with unconnected PDB and dbond
    8136       file.
    8137 
    8138 commit 3738f09a1261e51cc253cbaa8f4766bb8f945d68
    8139 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8140 Date:   Sat Feb 26 01:10:05 2011 +0100
    8141 
    8142     Moved molecule::CreateAdjacencyList over to class BondGraph.
    8143    
    8144     to make this possible we had to:
    8145     - enhance AtomSet such that individual const_ and iterator are templated.
    8146     - FIX: FragmentationCreateAdjacencyAction needs to call
    8147       BondGraph::SetMaxDistanceToMaxOfCovalentRadii() before getMaxDistance() is
    8148       valid.
    8149     - new function molecule::getAtomSet() which copies the internal atomSet to a
    8150       vector AtomSetMixin and delivers. This is needed as PointCloudAdaptor
    8151       needs a reference to a AtomSetMixin and we don't want to expose the internal
    8152       set.
    8153    
    8154     other changes:
    8155     - the following Actions do not create adjacency beforehand anymore:
    8156      - DepthFirstSearchAction
    8157      - MoleculeSaveAdjacencyAction
    8158      - MoleculeSaveBondsAction
    8159     - changes to BondGraph:
    8160      - removed CreateAdjacencyForMolecule()
    8161      - removed SetMaxDistanceToMaxOfCovalentRadii()
    8162      - new function CreateAdjacency on LinkedCell reference
    8163     - new BondGraph functions that work on AtomSetMixin reference:
    8164       CreateAdjacency(), cleanAdjacencyList(), CorrectBondDegree(),
    8165       resetBondDegree(), calculateBondDegree()
    8166    
    8167     TESTFIXES:
    8168     - the regression test for all Actions mentioned above that don't create
    8169       adjacency themselves anymore needed to be prepended with --select-all-atoms
    8170       --create-adjacency.
    8171 
    8172 commit ce5f05ae4a35676c52abcb1eeb3e6e41b8849333
    8173 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8174 Date:   Fri Feb 18 17:24:28 2011 +0100
    8175 
    8176     Moved Shading and EdgeType from defs.hpp to bond.hpp, getColor from molecule to class bond.
    8177 
    8178 commit 4092c5c78798e52e100ca3ce7dfd3bfd5abc6ebb
    8179 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8180 Date:   Mon Feb 21 18:54:26 2011 +0100
    8181 
    8182     Changed BondGraph::...MinMaxDistance()'s parameters to const BondedParticle * const.
    8183    
    8184     - this is preparatory for upcoming PointCloudAdaptor change.
    8185 
    8186 commit b9772ac7019d5e8e80610d7bb4890ee0d7b80b2b
    8187 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8188 Date:   Thu Feb 24 15:10:59 2011 +0100
    8189 
    8190     Renamed function pointer in molecule::CreateAdjacencyList to minmaxdistance.
    8191 
    8192 commit 4b5cf883862ad96db12b381ddaf008aad10edbe4
    8193 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8194 Date:   Mon Feb 21 14:13:04 2011 +0100
    8195 
    8196     BondedParticle::OutputBondOfAtom() now takes stream to print to.
    8197 
    8198 commit 458c3163eb1df36b974240aa85d9aa341ad4408a
    8199 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8200 Date:   Mon Feb 21 14:02:57 2011 +0100
    8201 
    8202     molecule::BondCount is now Cachable and private.
    8203    
    8204     - renamed CountBonds() -> doCountBonds in analogy to AtomCount.
    8205 
    8206 commit d4a44c33452f58b4160eb88383f4287dfc249470
    8207 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8208 Date:   Mon Feb 21 15:04:46 2011 +0100
    8209 
    8210     Renamed ConstructBondGraphAction -> CreateAdjacencyAction.
    8211 
    8212 commit 715b678cb8ad05a00a33a86ee0b1583591a34ff1
    8213 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8214 Date:   Fri Feb 18 15:43:09 2011 +0100
    8215 
    8216     Renamed BondGraph::ConstructBondGraph -> CreateAdjacencyForMolecule.
    8217    
    8218     - first step in moving CreateAdjacencyList over to class BondGraph.
    8219 
    8220 commit 7adf0f0365b80d1ba77645d14621706d522f8573
    8221 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8222 Date:   Fri Feb 18 15:28:52 2011 +0100
    8223 
    8224     Removed molecule::BondDistance, replaced by BondGraph::getMinMaxDistance().
    8225    
    8226     - changed in:
    8227      - molecule::AddHydrogenReplacementAtom()
    8228      - StoreFragmentFromKeySet_Init()
    8229      - molecule::DeterminePeriodicCenter()
    8230      - molecule::CreateAdjacencyList()
    8231 
    8232 commit e7350d47f72235f2bf1666ed2a77b529c06832a4
    8233 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8234 Date:   Fri Feb 18 15:27:56 2011 +0100
    8235 
    8236     DOCUFIX: BondGraph - moved doxygen comments from cpp to header.
    8237 
    8238 commit 72d90ed8a430eeb713d9ac53bb337fd6e8d4b404
    8239 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8240 Date:   Fri Feb 18 15:24:43 2011 +0100
    8241 
    8242     New function BondGraph::getMinMaxDistance().
    8243    
    8244     - Covalent and BondLengthMatrix criteria are hidden behind that depending on
    8245       whether the bond length matrix is set or not.
    8246     - now private:
    8247      - BondGraph::CovalentMinMaxDistance()
    8248      - BondGraph::BondLengthMatrixMinMaxDistance()
    8249     - adapted:
    8250      - FragmentationConstructBondGraphAction
    8251      - FragmentationDepthFirstSearchAction
    8252      - FragmentationFragmentationAction
    8253 
    8254 commit f71bafdd0857cf18158866b8a7878c1b33d586b6
    8255 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8256 Date:   Fri Feb 18 11:42:01 2011 +0100
    8257 
    8258     Made BondGraph an instance of World, removed from config.
    8259    
    8260     - BondGraph is instantiated from start of World and destroyed therein.
    8261     - new getter and setter for BondGraph in World.
    8262     - rewritten BondLengthTableAction.
    8263 
    8264 commit 5309ba2259d81aba279e4520a5ebc51c898d8b75
    8265 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8266 Date:   Tue Feb 22 10:59:11 2011 +0100
    8267 
    8268     Renamed ParticleInfo_nr back to Nr.
    8269    
    8270     - Note that this mostly affected comments.
    8271 
    8272 commit 735b1c1514f0f9ac27c1a3ef683b9fa6ea2cf010
    8273 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8274 Date:   Tue Feb 22 01:15:33 2011 +0100
    8275 
    8276     ParticleInfo::ParticleInfo_nr is protected and accessed via getter/setter.
    8277    
    8278     - many changes (~400) in molecule- and tesselation-related functions.
    8279 
    8280 commit a479fa6f7cb1bddf84d6c12af3c09dc810b66580
    8281 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8282 Date:   Tue Feb 22 00:50:41 2011 +0100
    8283 
    8284     Renamed ParticleInfo::nr to ParticleInfo::ParticleInfo_nr for easier privatization.
    8285 
    8286 commit 5702cdb754fb52d78cf83a79c432e91bd88f4d4c
    8287 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8288 Date:   Thu Feb 24 23:07:45 2011 +0100
    8289 
    8290     Removed molecule_pointcloud.cpp.
    8291 
    8292 commit caa06ef709f013cc367466c6e351f0a834a0fc0d
    8293 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8294 Date:   Tue Feb 22 00:49:30 2011 +0100
    8295 
    8296     Added name to PointCloudAdaptor, set by constructor.
    8297    
    8298     - name is used in Tesselation to store in file and difficult to obtain via the
    8299       PointCloud (e.g. std::list have not name, need to be wrapped again, ...)
    8300     - removed expected-to-fail again from Tesselation/Convex,
    8301       Tesselation/NonConvex, and Tesselation/BigNonConvex tests.
    8302 
    8303 commit 34c43ab2d4d21658cd8b9c3134bf2f845cacdcfc
    8304 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8305 Date:   Mon Feb 21 19:02:41 2011 +0100
    8306 
    8307     Bigger change: Replaced PointCloud by PointCloudAdaptor.
    8308    
    8309     - PointCloud is no more inherited by classes molecule and Tesselation but an
    8310       interface to an (templated) adaptor called PointCloudAdaptor.
    8311     - As BoundaryPointSet only wraps TesselPoint member, we needed
    8312     - use CodePatterns/IteratorAdaptors.hpp to access the value (TesselPoint*) in
    8313       the map Tesselation::BoundaryPointSet, requiring now v1.0.11.
    8314     - lots of places in Actions, Tesselation, and boundary had to be adapted to the
    8315       new PointCloudAdaptor.
    8316     - LinkedCell also now only has constructor requesting a IPointCloud structure.
    8317     - this all will make BondGraph construction a lot easier (note that World has map
    8318       containing atoms, where molecule has list. Hence, we need this
    8319       IteratorAdaptor).
    8320     - TESTFIX: Marked Tesselation/Convex, Tesselation/NonConvex, and
    8321       Tesselation/BigNonConvex as expected to fail due to wrong name in teecplot
    8322       file. This is gonna be fixed in next issue.
    8323 
    8324 commit ba5215d3dbc9e6ab23c70d0fda53db52f4cd8547
    8325 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8326 Date:   Mon Feb 21 19:00:37 2011 +0100
    8327 
    8328     Extended BoundaryPointSet by functions to directly access TesselPoint member.
    8329    
    8330     - new functions: GetTesselPoint(), getPosition(), getNr().
    8331     - TesselPoint extended by getTesselPoint(), returning this reference, is only
    8332       required due to BoundaryPointSet only having member and we need to access
    8333       the TesselPoint via a iterator concept in upcoming PointCloudAdaptor
    8334       directly.
    8335 
    8336 commit fa60dd6ab972774fb82fd1f2c954d36536b47b41
    8337 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8338 Date:   Mon Feb 21 18:55:39 2011 +0100
    8339 
    8340     Removed molecule::GetName() usage in QtMoleculeView.
    8341    
    8342     - in QTMoleculePage::update() and QtMoleculeView::moleculeSelected().
    8343     - this is prepatory for upcoming PointCloudAdaptor and PointCloud removal from
    8344       molecule.
    8345 
    8346 commit fff733ba0da4911da79885991c417b12b441b071
    8347 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8348 Date:   Fri Feb 18 22:47:30 2011 +0100
    8349 
    8350     Fixed PointCloud implementation in class Tesselation.
    8351    
    8352     - removed virtual keywords in class Tesselation definition.
    8353     - implemented GetMaxId().
    8354     - GetCenter() different to interface PointCloud had parameter ostream, removed.
    8355 
    8356 commit e34254f6f44a0fc809b9be46216b2b2b7751e710
    8357 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8358 Date:   Tue Mar 1 10:57:21 2011 +0100
    8359 
    8360     Changed operator<< (AtomInfo), less verbose for single time step.
    8361 
    8362 commit 4d5553190df6b00219ae526683b5f0c395269db2
    8363 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8364 Date:   Tue Mar 1 10:56:05 2011 +0100
    8365 
    8366     Changed verbosity for LoadMolecule().
    8367 
    8368 commit b23e2638588a1ce300fdbc376e3b3e42c6fd02b0
    8369 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8370 Date:   Wed Feb 23 18:50:29 2011 +0100
    8371 
    8372     Added operator<< for MatrixContainer class.
    8373 
    8374 commit 1bfc8edf28ec4138bd64215de19458a5fb6de8ab
    8375 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8376 Date:   Fri Feb 18 11:41:00 2011 +0100
    8377 
    8378     Removed ThermostatContainer instance from config, instance from World is used.
    8379    
    8380     - config functions obtain instance Thermostats from World.
    8381 
    8382 commit 9b8387bbe8a066a5a05ebfc59629199ffa203cb1
    8383 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8384 Date:   Wed Feb 16 11:18:51 2011 +0100
    8385 
    8386     DOCUFIX: enhanced description of RotateAroundSelfByAngleAction's parameters.
    8387 
    8388 commit 9d37ac94df87f79ff09b0742de1324c7e04ddf56
    8389 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8390 Date:   Thu Feb 24 15:39:14 2011 +0100
    8391 
    8392     DOCUFIX: Removed *out as parameter from waaay back ...
    8393 
    8394 commit 4afa469aea6b6b679ff56ab7e5839c913cb3c602
    8395 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8396 Date:   Sat Feb 26 01:06:01 2011 +0100
    8397 
    8398     Added call to molecule::getAtomCount() to end of each parser's ::load().
    8399    
    8400     - this ensures that atom::nr and name is up-to-date.
    8401 
    8402 commit 63735800b9b9f1a62b08bbaad51b2f7a1bec8c00
    8403 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8404 Date:   Sat Feb 19 00:38:44 2011 +0100
    8405 
    8406     Changed slightly XyzParser::load().
    8407    
    8408     - AddedAtoms is now a vector.
    8409 
    8410 commit 0180d65014cd485abba4217d46346ac7065712ed
    8411 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8412 Date:   Fri Feb 18 19:50:08 2011 +0100
    8413 
    8414     Enhanced XyzParser to load and save multiple time steps.
    8415    
    8416     - Extended regression test Parser/Xyz.
    8417     - Extended unit test ParserXyzUnitTest.
    8418 
    8419 commit c6aeb18b62d4b842084aa91283b2e0fb0461c6b1
    8420 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8421 Date:   Wed Feb 16 13:43:40 2011 +0100
    8422 
    8423     Added regression test for Parser/Pdb for PDB files with CONECT entries.
    8424 
    8425 commit 48801adac3e7e09310f1b6015d415ba05afd6d61
    8426 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8427 Date:   Thu Feb 24 15:42:38 2011 +0100
    8428 
    8429     Decreased verbosity of PdbParser for multiple time steps.
    8430    
    8431     - using AtomInfo's adapted operator<< that prints start and end only.
    8432 
    8433 commit 3e383d399707efe3ee0cb56bc0d78abc3af2ca70
    8434 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8435 Date:   Thu Feb 24 15:34:43 2011 +0100
    8436 
    8437     Removed PdbKey::timestep from PdbAtomInfoContainer as readNeighbors,readAtomDataLine are with step now.
    8438 
    8439 commit b0a2e3bef0fc1ae84db5824e8cd3fa72d2a5bf21
    8440 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8441 Date:   Thu Feb 24 21:18:39 2011 +0100
    8442 
    8443     Removed use of PdbKey::timestep, steps are parsed sequentially.
    8444    
    8445     - PdbParser::readAtomDataLine() and PdbParser::readNeighbors() have additional
    8446       parameter steps.
    8447 
    8448 commit 09c7a9f369617114ccfc84cd12692ecd98a2c615
    8449 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8450 Date:   Thu Feb 24 15:17:12 2011 +0100
    8451 
    8452     VERBOSE: PdbParser::save() print parsed trajectories.
    8453 
    8454 commit 873037b34219cd2ee7dadacca5869547533b1f56
    8455 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8456 Date:   Fri Feb 11 10:11:32 2011 +0100
    8457 
    8458     Refined static filling of PdbAtomInfoContainer::knownDataKeys.
    8459    
    8460     - have static bool which says whether map is filled or not.
    8461     - static clearknownDataKeys() called by PdbParser's dstor.
    8462 
    8463 commit 9dba5f7e07c3f2a1265a0dfae56599d0c6a08e26
    8464 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8465 Date:   Thu Feb 10 23:01:26 2011 +0100
    8466 
    8467     PdbParser can now load and save multiple time steps.
    8468    
    8469     - WARNING: Molecules are not yet updated, it only works on simple test.
    8470     - TEST: Parser/Pdb regression test on loading/storing multiple steps added.
    8471     - PdbAtomInfoContainer:
    8472      - private static knownDataKeys map from enum to strings, filled in cstor when
    8473        empty by fillknownDataKeys() and cleared by befriended PdbParser's dstor.
    8474      - operator << to easily print container.
    8475      - getter function getDataKey.
    8476     - PdbKey:
    8477      - EndOfFile -> EndOfTimestep.
    8478      - new DataKey timestep to allow storing of timestep.
    8479     - Pdbparser:
    8480      - extended load() and added verbosity.
    8481      - readAtomDataLine() can parse trajectories into present atoms.
    8482      - extended save() and added verbosity.
    8483      - new helper functions getAtomToParse() and readPdbAtomInfoContainer().
    8484 
    8485 commit fcac720d9b6b26c107f65986d20e213556f266e5
    8486 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8487 Date:   Thu Feb 24 13:48:45 2011 +0100
    8488 
    8489     Added multiple time steps to PcpParser::OutputAtoms().
    8490    
    8491     - removed Fastparsing part in comments in LoadMolecule().
    8492 
    8493 commit 6a465e4248cc6569f489730a4176224357fc5126
    8494 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8495 Date:   Thu Feb 24 12:20:52 2011 +0100
    8496 
    8497     Rewrote LoadMolecule() for PcpParser.
    8498    
    8499     - LoadMolecule() rewritten as only because of getter/setter introduction the
    8500       PcpParser did not work properly anymore. Used boost::tokenizer for parsing
    8501       all Ion_Type stuff.
    8502     - TESTFIX: Molecules/SaveTemperature - has been buggy since a long time!
    8503       LoadMolecule() did the messed up sequence of Ion_Type right only for the
    8504       first step not for all subsequent steps. Hence, we lacked the velocities
    8505       of all non-hydrogen atoms and obtained a different (wrong) temperature.
    8506     - TESTFIX: ParserPcpUnitTest made first atom at (1,0,0) instead of (0,0,0) as
    8507       this rather shows up parsing errors than zero vector which is default value.
    8508 
    8509 commit 03c77c8433e48594a1c472d7a86b4e799d81c363
    8510 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8511 Date:   Wed Feb 16 15:02:14 2011 +0100
    8512 
    8513     bonds::previous and ::next removed, lists.hpp deleted.
    8514    
    8515     - the last of the concatenated lists has fallen to STL lists and vectors.
    8516     - greatest impact is on fragmentation functions.
    8517     - rewritten UniqueFragments::BondsPerSPList to vector<list<bond*> >.
    8518     - removed include of lists.hpp.
    8519     - removed lists.hpp from Makefile.am.
    8520 
    8521 commit 8aba3cf36e533e8aa7e73d15c6c4a093625770cf
    8522 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8523 Date:   Thu Feb 24 15:33:18 2011 +0100
    8524 
    8525     TEST: Extended ListOfBondsUnitTest for multiple time steps ListOfBonds checking.
    8526 
    8527 commit af897f5c8ae6115ef8c2ea41ec18740adb18eaf0
    8528 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8529 Date:   Thu Feb 24 16:13:41 2011 +0100
    8530 
    8531     Small change to BondedParticle::UnregisterAllBond().
    8532    
    8533     - As ListOfBonds is only protected, BondedParticle::UnregisterAllBond() may
    8534       access list at step directly.
    8535 
    8536 commit 58308193c86ef72a50785b82954ae67c62555f30
    8537 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8538 Date:   Thu Feb 24 16:13:07 2011 +0100
    8539 
    8540     New function BondedParticle::ClearBondsAtStep(), used by MoleculeLeafClass::FillBondStructureFromReference().
    8541 
    8542 commit 38c44b50db18b128b1f79878f0bfc914bd7228fe
    8543 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8544 Date:   Thu Feb 24 16:26:11 2011 +0100
    8545 
    8546     Added verbosity to AppendTrajectoryStep() of BondedParticle.
    8547 
    8548 commit 1e6249eb2248ee72299523a569acc77b83efcb60
    8549 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8550 Date:   Thu Feb 24 15:50:47 2011 +0100
    8551 
    8552     BondedParticle has virtual UpdateSteps() to allow consistent extending of trajectories.
    8553    
    8554     - atom::UpdateSteps() calls now not only UpdateSteps of AtomInfo but also of
    8555       BondedParticle.
    8556 
    8557 commit 073a9e455fb766186d4ee793eade170e51db2c0c
    8558 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8559 Date:   Thu Feb 24 15:32:36 2011 +0100
    8560 
    8561     BondedParticle::(Un)RegisterBond,AddBond,IsBondedTo with step.
    8562    
    8563     - adding, removing and checking of bonds at a desired time step.
    8564 
    8565 commit d557374f0c843b5f8e4d8eeb8756784840b4ab07
    8566 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8567 Date:   Thu Feb 24 15:56:28 2011 +0100
    8568 
    8569     Cosmetic changes to class bond::~bond and BondedParticle::UnregisterBond.
    8570 
    8571 commit 93c6e95d641c6236fc420db0e7100f7b9cbef2fb
    8572 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8573 Date:   Thu Feb 24 15:13:00 2011 +0100
    8574 
    8575     BondedParticle::UnregisterBond() uses BondedParticle::ContainsBondAtStep() with step.
    8576    
    8577     - ContainsBondAtStep() is used to find the right bond and remove it.
    8578 
    8579 commit 9a3a53e116a51e3bfb00959b2168c8888ced7191
    8580 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8581 Date:   Thu Feb 24 19:59:11 2011 +0100
    8582 
    8583     BondedParticleInfo::ListOfBonds is (just) protected to allow inheriting classes access.
    8584 
    8585 commit a2bdbe5a31d9df8092c716db0d9ec503f5ad04cb
    8586 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8587 Date:   Thu Feb 24 15:09:27 2011 +0100
    8588 
    8589     BondedParticle::UnregisterAllBond with new parameter step.
    8590    
    8591     - cleans ListOfBonds at desired step.
    8592 
    8593 commit 9d83b69ef70cf27f82b8fcaaf764866bcda9a143
    8594 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8595 Date:   Thu Feb 24 15:41:13 2011 +0100
    8596 
    8597     BondedParticleInfo now has vector<BondList>
    8598    
    8599     - vector<BondList> ListOfBonds is private, getter for (non-)const access.
    8600     - Access everywhere to ListOfBonds replaced by respective getter.
    8601     - Access is as of now always to time step zero.
    8602     - greatest impact is on molecule... files, and ListOfBondsUnitTest.
    8603 
    8604 commit c0d9ebc6c65d3d9cc5fc8234ff04f147c042c124
    8605 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8606 Date:   Thu Feb 24 15:06:53 2011 +0100
    8607 
    8608     FIX: Moved BondedParticle::CountBonds() from atom.cpp to atom_bondedparticle.cpp.
    8609 
    8610 commit fb9eba56a801211c0f27284432416dfa281858d2
    8611 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8612 Date:   Thu Feb 24 16:25:56 2011 +0100
    8613 
    8614     Added verbosity to AppendTrajectoryStep() of AtomInfo.
    8615 
    8616 commit e2373df507fb916476ab8df9646079e2551e04f2
    8617 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8618 Date:   Thu Feb 24 15:48:51 2011 +0100
    8619 
    8620     TesselPoint, Atom and AtomInfo have virtual UpdateSteps() to allow consistent extending of trajectories.
    8621    
    8622     - TesselPoint and Atom just implement it virtually.
    8623     - AtomInfo implements it by new function AppendTrajectoryStep() that adds
    8624       steps.
    8625 
    8626 commit fb0b62770f84f722e7a844612b7cf575bb534f0e
    8627 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8628 Date:   Thu Feb 24 15:49:35 2011 +0100
    8629 
    8630     AtomInfo: Commented-out operator* and *= with double.
    8631    
    8632     - this is preparatory for virtual AtomInfo::UpdateSteps().
    8633 
    8634 commit 443547ef85f9f10bd39602b49607dcb0e763fc55
    8635 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8636 Date:   Sat Feb 12 19:29:48 2011 +0100
    8637 
    8638     AtomInfo: AtomicPosition, ..Velocity, ..Force are protected to allow inheriting classes access.
    8639    
    8640     - This is necessary for atom::clone() have access to full trajectory.
    8641 
    8642 commit b1a5d9e1f506282abb82d0dc29746c490b4f3522
    8643 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8644 Date:   Thu Feb 24 15:43:21 2011 +0100
    8645 
    8646     operator<< for AtomInfo now prints just start and end of timestep.
    8647 
    8648 commit 1b558c94a455c9a61f4f1954f9b8d7b149b1532f
    8649 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8650 Date:   Fri Feb 11 10:25:16 2011 +0100
    8651 
    8652     All Accessor to position, velocity or force use WorldTime::CurrentTime.
    8653 
    8654 commit 6b020f24f85828b35cb7d1e2cb4137d9b9ad39e1
    8655 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8656 Date:   Thu Feb 24 14:24:46 2011 +0100
    8657 
    8658     AtomInfo::getter and setter's step is now unsigned int.
    8659 
    8660 commit 056e70f8db18805ec5c34898e22ee461a1e6ceb7
    8661 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8662 Date:   Thu Feb 24 18:56:03 2011 +0100
    8663 
    8664     Suffixed getters and setters for AtomInfo trajecories with AtStep.
    8665    
    8666     - AtomInfo:: getters are now const members
    8667     - added lots of ASSERTS to getters with time step to assure no out-of-bounds
    8668       access.
    8669 
    8670 commit 6625c3d80c1d7b0bad97e9d543982f10829d358b
    8671 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8672 Date:   Thu Feb 24 12:18:59 2011 +0100
    8673 
    8674     Removed atom_trajectoryparticle*, replaced by AtomInfo class now having std::vector<> for trajectories.
    8675    
    8676     AtomInfo:
    8677     - AtomInfo stores position, velocity, and force in vectors.
    8678     - getter and setter implemented for velocity and force.
    8679     - all functions from TrajectoryParticle put into AtomInfo.
    8680     - Direct access to velocity and force exchanged by getter/setter everywhere.
    8681     - FIX: molecule::LinearInterpolationBetweenConfiguration() extends trajectory
    8682       to MaxSteps+1 (for endstep).
    8683    
    8684     Other changes:
    8685     - gsl_rng_gaussian() exchanged by boost::random specific type.
    8686 
    8687 commit 54b42e9e210027bb6e47d8594317475629bdb453
    8688 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8689 Date:   Mon Feb 7 19:56:11 2011 +0100
    8690 
    8691     AtomInfo::AtomicPosition, ::AtomicVelocity, ::AtomicForce are now a std:vector.
    8692    
    8693     - This is preparatory for trajectories.
    8694 
    8695 commit bce72cbbc8d98307d21f1b4cd8f174336341e927
    8696 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8697 Date:   Mon Feb 7 19:35:30 2011 +0100
    8698 
    8699     AtomicInfo::AtomicVelocity and ::AtomicForce are now private.
    8700    
    8701     - Access is granted via getters and setters.
    8702 
    8703 commit c864a86df7c305c97952030b2f51ac5148ffcce3
    8704 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8705 Date:   Mon Feb 7 18:58:50 2011 +0100
    8706 
    8707     Moved TrajectoryParticle::EvaluateConstrainedForce() into molecule::EvaluateConstrainedForces().
    8708 
    8709 commit 76163d6467c1ce116865eff7bd937b783a980bc7
    8710 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8711 Date:   Wed Feb 16 11:19:36 2011 +0100
    8712 
    8713     World::setTime() now checks whether CurrentTime changes at all.
    8714    
    8715     - this prepares calling FragmentSubgraphDissection call there.
    8716 
    8717 commit d297a3ade933149a1d5ada1c3db8b483e89fb3ca
    8718 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8719 Date:   Fri Feb 11 23:28:17 2011 +0100
    8720 
    8721     World::setTime() is single access point to modifying WorldTime::CurrentTime.
    8722 
    8723 commit 6bb6057aa21db4fa1c6005eaa7f932cd8e2c9875
    8724 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8725 Date:   Fri Feb 11 10:12:36 2011 +0100
    8726 
    8727     Worldtime now has static CurrentTime and static (inline) getter/setter.
    8728    
    8729     - setter is private such that time is not globally modifiable.
    8730     - WorldTime::CurrentTime is now _unsigned_ int.
    8731     - TESTFIX: WorldTimeUnitTest also against unsigned ints.
    8732 
    8733 commit aa04aec0a6f98bba03446ef81b876c0dee5f6db8
    8734 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8735 Date:   Mon Feb 7 14:23:52 2011 +0100
    8736 
    8737     Implemented SetWorldTimeAction and regression test on that.
    8738    
    8739     - SetWorldTimeAction currently only allows to change current time, not step
    8740       width.
    8741 
    8742 commit f649ded43f091c7788ac076fc2e73fb8fee4bd35
    8743 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8744 Date:   Mon Feb 7 14:12:01 2011 +0100
    8745 
    8746     Implemented class WorldTime.
    8747    
    8748     - WorldTime contains the current, globally valid time step, e.g. to show within
    8749       the gui ...
    8750 
    8751 commit 7a51bed0ac43de73ef69542c07ec8d25a2b6d4cc
    8752 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8753 Date:   Fri Feb 11 22:37:26 2011 +0100
    8754 
    8755     new function FormatParserStorage::get to obtain specialized FormatParser instance.
    8756    
    8757     - used in FillVoidWithMoleculeAction and FillWithMoleculeAction.
    8758     - both Actions also now use MoleculeByOrder descriptor to obtain last molecule.
    8759     - FillBoxWithMolecule() now returns void.
    8760     - implemented FillVoidWithMoleculeAction::performUndo().
    8761     - TEST: Filling/FillWithMolecule - added undo test.
    8762     - TESTFIX: Filling/FillVoidWithMolecule - due to loading of filler molecule
    8763       with parser, water.data had to be adapted in its ATOMDATA line to match
    8764       test.data. Otherwise, resulting file will have non-matching ATOMDATA
    8765       although being otherwise consistent. (This is a workaround to ticket #141).
    8766 
    8767 commit 170ba6e440672fc3912107325618abdd35c6437e
    8768 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8769 Date:   Fri Feb 11 21:55:44 2011 +0100
    8770 
    8771     BUGFIX: MoleculeOrderDescription was not working in reverse because of bug in ObservedContainer.
    8772    
    8773     - we now require v1.0.9 of Codepatterns where bug in ObservedContainer is
    8774       fixed.
    8775     - TEST: added regression test Selection/Molecules/MoleculeByOrder with separate
    8776       forward and backward test.
    8777     - TEST: split up Selection/testsuite file into one on atoms, the other on
    8778       molecules.
    8779 
    8780 commit 69948e5f49ca5ca15fa7f148e0e7d53f7f814866
    8781 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8782 Date:   Fri Feb 11 18:55:25 2011 +0100
    8783 
    8784     BUGFIX: FillVoidWithMolecule() crashed when filling molecule is wholly outside of domain.
    8785    
    8786     - Filling molecule might have gotten completely removed and hence, we have to
    8787       check for NULL pointer.
    8788     - bug reported by Daniel Dueck.
    8789 
    8790 commit 844b2e3be80de8690beefc6f7dcd4b178159cf8c
    8791 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8792 Date:   Thu Feb 10 19:40:18 2011 +0100
    8793 
    8794     We now require CodePatterns v1.0.8 for LOG() shorthand to logger and asserts aborting by default.
    8795 
    8796 commit 23d7fff4124bc4e1f444a780def098bb6b68e508
    8797 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8798 Date:   Thu Feb 10 19:35:12 2011 +0100
    8799 
    8800     Added default rotation angles to (Not)AllAtomsInsideCuboidAction.
    8801    
    8802     - also added check to Action cstor such that options for different Actions
    8803       still have type, same short form, and default value.
    8804     - TEST: Selection/Atoms/AllAtomsInsideCuboid - new regression test with
    8805       defaults.
    8806 
    8807 commit 528b3e649ba6df7f9bb48df7750426f110ae4f92
    8808 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8809 Date:   Thu Feb 10 19:31:41 2011 +0100
    8810 
    8811     Added conversion functions to VectorValue and BoxValue and changed internals.
    8812    
    8813     - VectorValue now has array vector instead of x,y,z.
    8814     - BoxValue now has array matrix instead of xx,yx,yy,zx,zy,zz.
    8815     - adapted validate()'s, Vector(s)CommandLineQuery, and BoxCommandLineQuery.
    8816     - new cstor Box(RealSpaceMatrix *).
    8817     - restructured Box' cstor code a bit.
    8818     - new operator<< for Box.
    8819 
    8820 commit b6b3b2db19444a7431f85964bdb2550a87243367
    8821 Merge: 0bfe731 311da7b
    8822 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8823 Date:   Thu Feb 10 20:08:22 2011 +0100
    8824 
    8825     Merge branch 'MpqcParser_fixes' into stable
    8826 
    8827 commit 0bfe73198acf0b25ec0a7bb4d1fbea55f5b248d1
    8828 Merge: acd6384 c14c78b
    8829 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8830 Date:   Thu Feb 10 20:07:17 2011 +0100
    8831 
    8832     Merge branch 'RandomNumber_fixes' into stable
    8833 
    8834 commit 311da7bdf02dce8825b29e60fbe79e0688c15ca6
    8835 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8836 Date:   Thu Feb 10 19:36:56 2011 +0100
    8837 
    8838     FIX: Changed MpqcParser.
    8839    
    8840     - some ASSERTs were missing and showed up failure in parsings.
    8841     - in MpqcSection keywords molecule and basis are now ignored.
    8842     - BUGFIX: due to missing whitespacefilter most of the keys were actually not
    8843       really parsed which lead to strange "A'" and ""A'"" behavior, because
    8844       in unit test key was without whitespace, hence recognized (and there
    8845       we switch theories from CLHF parsed file only), whereas in regression test
    8846       key was not recognized.
    8847     - TESTFIX: ParserMpqcUnitTest - now checks whether MpqcParser_Parameters::
    8848       getInt() throws and also if ::operator>> throws in case of debugging.
    8849 
    8850 commit c14c78b2ee8b6b53c94294861301c8b2cdcc1161
    8851 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8852 Date:   Thu Feb 10 16:25:59 2011 +0100
    8853 
    8854     Some bugfixes for RandomNumber... stuff.
    8855    
    8856     - BUGFIX: Asserts contained wrong variable name: params -> paramtokens.
    8857     - BUGFIX: replaced forward declarations in respective Factory's to ...Engine
    8858       and ..Distribution by includes. Note that they are need in other files due to
    8859       inclusion of ManipulatePrototypeFactory and alikes of CodePatterns.
    8860     - Added some additional ASSERTs to ...Engine... and ...Distribution_Parameters.
    8861     - TESTFIX: RandomNumberEngineFactoryUnitTest - Setting seed to 0 was not
    8862       allowed for this engine.
    8863     - LEAKFIX: SetRandomNumbersDistributionAction::performCall() leaked a parameter
    8864       set from prototype.
    8865 
    8866 commit acd6384437ea7f3b26a729204e334bc1069b111a
    8867 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8868 Date:   Wed Feb 9 21:03:34 2011 +0100
    8869 
    8870     BUGFIX: copied atoms were not correctly stored with respect to Type, reported by Daniel Dueck.
    8871    
    8872     - TremoloParser::saveLine() Father-check has been missing so far.
    8873     - TEST: Molecules/Copy - added test for copying from tremolo config.
    8874 
    8875 commit 4d4d3346f69d10a12e419ef86b730fdd6a4ec2a1
    8876 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8877 Date:   Wed Feb 9 17:18:50 2011 +0100
    8878 
    8879     Added tremolo's potential file parsing, reported by Daniel Dueck.
    8880    
    8881     TremoloParser cannot interpret Type with HLA2 because it lacks mapping of the
    8882     value to an element. Hence, ...
    8883     - new Action ParseTremoloPotentialsAction.
    8884     - TremoloParser::knownTypes new map to contain: HLA2 -> H, ... map.
    8885     - TremoloParser::createKnownTypesByIdentity() creates identity mapping.
    8886     - TremoloParser::parseKnownTypes() parses potentials file.
    8887 
    8888 commit 1a6bda5f924ebd715e1f7b6b804f62142360552f
    8889 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8890 Date:   Fri Feb 4 15:04:23 2011 +0100
    8891 
    8892     Removed basis from config, which now resides in MpqcParser_Parameters.
    8893 
    8894 commit 4cbca0e8710efb136e5936feefe9dd2e7a865873
    8895 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8896 Date:   Fri Feb 4 15:03:06 2011 +0100
    8897 
    8898     Implemented full MpqcParser::load().
    8899    
    8900     - regression tests for four theories: CLHF, CLKS, MBPT2, MBPT2_R12.
    8901     - extended regression test on set-mpqc-parameters by checking changed value
    8902       against a written file.
    8903 
    8904 commit 963321a9c39219a067721dc5f8f1bf433d2e0e92
    8905 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8906 Date:   Fri Feb 4 14:23:20 2011 +0100
    8907 
    8908     Converted SetGaussianBasisAction into SetMpqcParametersAction.
    8909    
    8910     - new actions does not only allow to set basis, but most of the other
    8911       parameters, too.
    8912     - regression test Parser/Mpqc-SetBasis -> Mpqc-SetParameters and extended.
    8913     - operator<< needed an ugly const hack to avoid doubling the function.
    8914 
    8915 commit 44fce5cb3fdeb1556c1c02a020dfa99136e835d7
    8916 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8917 Date:   Fri Feb 4 13:43:30 2011 +0100
    8918 
    8919     Extended MpqcParser_Parameters, can set and get all values.
    8920    
    8921     - new test case in ParserMpqcUnitTest: ParameterSetterTest.
    8922 
    8923 commit 61d69a4cb73f0b86aacc2d6ca57bf28462918da9
    8924 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8925 Date:   Thu Feb 3 12:56:26 2011 +0100
    8926 
    8927     Added MpqcParser_Parameter class to MpqcParser.
    8928    
    8929     - contains all extra info for the mpqc style config file.
    8930     - so far not prepared for setting details via action.
    8931 
    8932 commit 9cff8b40dbce0e08a022e7778ac2e12db6f6b9b2
    8933 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8934 Date:   Thu Feb 3 10:39:54 2011 +0100
    8935 
    8936     Moved SetGaussianBasisAction and SetOutputFormatsAction from World to Parser.
    8937 
    8938 commit aa8ef2ac2cb67b09185d5a3df58db2a29f253ed6
    8939 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8940 Date:   Wed Feb 2 21:39:54 2011 +0100
    8941 
    8942     Implemented MpqcParser::load().
    8943    
    8944     - extended ParserMpqcUnitTest to check minimal functionality of load.
    8945 
    8946 commit f31edc7590b4e5829926599185285edb1412d62d
    8947 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8948 Date:   Tue Feb 1 17:39:55 2011 +0100
    8949 
    8950     Extended MpqcParser to write config files for all possible theory levels: CLHF, CLKS, MBPT2, MBPT2_R12.
    8951    
    8952     - ParserMpqcUnitTest tests all four cases now and each contained string with
    8953       the config file has been tested to work with mpqc-3.0.0-alpha.
    8954 
    8955 commit bb74ba726668aa113942901b3b4e73e8786149c0
    8956 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8957 Date:   Tue Feb 1 16:23:51 2011 +0100
    8958 
    8959     MpqcParser now writes correct MP2 configuration.
    8960    
    8961     - while the construct has been working, maxiter was inside the wrong group.
    8962     - ParserMpqcUnitTest and Parser/Mpqc and Atoms/Add, Atoms/Remove had to be
    8963       changed due to literal diffs present there.
    8964 
    8965 commit 9e4fd1ddec881550116572abf3d4c0dedb07b1b8
    8966 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8967 Date:   Wed Feb 2 20:38:08 2011 +0100
    8968 
    8969     Split up ParserCommonUnitTest into a UnitTest for each Parser.
    8970 
    8971 commit 881c0591436d2892dfe4f605d06902bb7a21e338
    8972 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8973 Date:   Wed Feb 2 19:41:47 2011 +0100
    8974 
    8975     Changed regression testsuite structure of Tesselation.
    8976    
    8977     - all numbered test cases now have meaningful names.
    8978     - re-activated big convex test and marked as expectedly fail.
    8979 
    8980 commit b5ad3937b230f3d9f5d14f9e793a837b44de0486
    8981 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8982 Date:   Wed Feb 2 18:45:44 2011 +0100
    8983 
    8984     Removed Simple_configuration testsuite.
    8985    
    8986     - removed test on creation of xyz file, is present in Parser/Xyz.
    8987 
    8988 commit 2700983eab89463c26130cc0d2c853f1d4d13c02
    8989 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8990 Date:   Wed Feb 2 18:35:28 2011 +0100
    8991 
    8992     Extended regression testsuite structure of Options from standard_options.
    8993    
    8994     - most of the stuff is from standard_options, placed each into own folder
    8995       and each test into its own module.
    8996 
    8997 commit d445e4bcef716346dd1b3a5d6c4fe27dd4b70f74
    8998 Author: Frederik Heber <heber@ins.uni-bonn.de>
    8999 Date:   Wed Feb 2 18:19:04 2011 +0100
    9000 
    9001     Changed regression testsuite structure of Atoms.
    9002    
    9003     - All atom-related stuff from Simple_configuration has been moved over to new
    9004       subfolder Atoms.
    9005 
    9006 commit f2230ed4cddad16052b0be557fd8f58130a361a2
    9007 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9008 Date:   Wed Feb 2 15:21:29 2011 +0100
    9009 
    9010     Changed regression testsuite structure of Parser.
    9011    
    9012     - specifics placed in Parser subfolder.
    9013     - Moved Simple_configuration/2 over to Parser and splitted each Parser off into
    9014       its own subfolder.
    9015     - added test for Tremolo parser.
    9016 
    9017 commit 0a2b3405b30a5c56bc3bf3a9c26ef22143e4a683
    9018 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9019 Date:   Wed Feb 2 15:19:19 2011 +0100
    9020 
    9021     Changed regression testsuite structure of Options.
    9022    
    9023     - standard_options placed in Options subfolder.
    9024 
    9025 commit b9bfa63421aae8bda04dea61800ff9fe25d337b5
    9026 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9027 Date:   Wed Feb 2 15:09:44 2011 +0100
    9028 
    9029     Changed regression testsuite structure of Selection/Atoms and ../Molecules.
    9030    
    9031     - all numbered test cases now have meaningful names.
    9032     - (Un)Selection/Molecule action renames: by-formula and by-name have plural
    9033       molecules (they can select multiple ones), by-id is singular.
    9034     - renamed token of AtomAction/RotateAroundOriginByAngleAction:
    9035       rotate-origin -> rotate-around-origin.
    9036     - TESTFIX: Analysis/AngularDipoleCorrelation-Empty due to renaming of
    9037       molecule_s_-by-formula
    9038     - TESTFIX: Analysis/SurfaceCorrelation due to renaming of
    9039       molecule_s_-by_formula
    9040 
    9041 commit 967b3cc1d5bcc09f04bc4e2f99bb7620de669545
    9042 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9043 Date:   Wed Feb 2 14:39:15 2011 +0100
    9044 
    9045     Changed regression testsuite structure of Molecules.
    9046    
    9047     - all numbered test cases now have meaningful names.
    9048     - renamed token of AtomAction/RotateAroundOriginByAngleAction:
    9049       rotate-origin -> rotate-around-origin.
    9050     - renamed token of LinearInterpolationofTrajectoriesAction: linear-interpolate
    9051       -> linear-interpolation-of-trajectories.
    9052     - renamed token of RotateAroundSelfByAngleAction: rotate-self ->
    9053       rotate-around-self.
    9054     - renamed token of RotateToPrincipalAxisSystemAction: rotate-to-pas ->
    9055       rotate-to-principal-axis-system.
    9056     - renamed token of VerletIntegrationAction: verlet-integrate ->
    9057       verlet-integration.
    9058     - re-added test for periodic translation (was Molecules/7 but unused).
    9059     - TESTFIX: Analysis/AngularDipoleCorrelation-DiscreteAngles due to renaming of
    9060       rotate-around-self.
    9061 
    9062 commit 70269a5925ba82007a722de93f0b9207048e59be
    9063 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9064 Date:   Wed Feb 2 14:00:36 2011 +0100
    9065 
    9066     Changed regression testsuite structure of Graph.
    9067    
    9068     - all numbered test cases now have meaningful names.
    9069     - renamed token of SubgraphDissectionAction: subgraph-dissect ->
    9070       subgraph-dissection.
    9071 
    9072 commit 7811bfbefd39871560750cd667c077688c37af6e
    9073 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9074 Date:   Wed Feb 2 13:53:11 2011 +0100
    9075 
    9076     Changed regression testsuite structure of Fragmentation.
    9077    
    9078     - all numbered test cases now have meaningful names.
    9079     - renamed token of FragmentMoleculeAction: fragment-mol -> fragment-molecule.
    9080     - removed test case 1 where test.conf is checked, this is made sure elswhere.
    9081 
    9082 commit 08e6c8afef22dd16b9fe558118d4f67b0618a650
    9083 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9084 Date:   Wed Feb 2 13:41:45 2011 +0100
    9085 
    9086     Changed regression testsuite structure of Filling.
    9087    
    9088     - all numbered test cases now have meaningful names.
    9089     - TESTFIX: Suspend in water is now marked to expectedly fail instead of as
    9090       BROKEN.
    9091 
    9092 commit 8a957e8b6a87527326d7123e0d60c7848a69a814
    9093 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9094 Date:   Wed Feb 2 13:35:23 2011 +0100
    9095 
    9096     Changed regression testsuite structure of Domain.
    9097    
    9098     - all numbered test cases now have meaningful names.
    9099     - renamed TOKEN of AddEmptyBoundaryAction: boundary -> add-empty-boundary.
    9100 
    9101 commit ad28ef1b99395d16be5653d1e9ae8d6d66d16083
    9102 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9103 Date:   Wed Feb 2 13:01:01 2011 +0100
    9104 
    9105     Changed regression testsuite structure of Analysis.
    9106    
    9107     - all numbered test cases now have meaningful names.
    9108     - PairCorrelation range test split off (needs its own directory anyway).
    9109 
    9110 commit f0d1f071d10979518f405b8b6b011c4a03c4b6a3
    9111 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9112 Date:   Tue Feb 1 16:24:57 2011 +0100
    9113 
    9114     Inserted manner how to avoid warning about muplitply included CheckCommand.sh, but commented out.
    9115    
    9116     - thx Ralf, but is yet not working due to autotest bug.
    9117 
    9118 commit a947e9a19899361083696b2380e242777199a425
    9119 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9120 Date:   Wed Feb 2 10:41:35 2011 +0100
    9121 
    9122     Verbosity added to Load- and InputAction.
    9123 
    9124 commit 48d43fef6fd364948bcdc9509ae49364f5edc942
    9125 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9126 Date:   Wed Feb 2 10:51:29 2011 +0100
    9127 
    9128     molecule::FragmentMolecule() - Bond degree is now re-calculated by default.
    9129    
    9130     - if we load bond graph from file (e.g. pdb), bond degree is not given and set
    9131       to 1 by default which may not be correct. As bond degree is very important
    9132       to the fragmentation, we rather re-calculate it before fragmenting.
    9133 
    9134 commit 4c264326bd61e1ea4f3234937aa02b05c6bcf21e
    9135 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9136 Date:   Wed Feb 2 10:50:02 2011 +0100
    9137 
    9138     Fix: MoleculeListClass::OutputConfigForListOfFragments with zero edge length of domain.
    9139    
    9140     - when molecule contains only two atoms and is aligned along an axis, one edge
    9141       length of the domain will be calculated as being of zero length. This is
    9142       fixed by adding a minimum of 1A.
    9143 
    9144 commit 3c58f8fb4e50513505ccd15a7e9c36b34f276129
    9145 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9146 Date:   Wed Feb 2 10:43:01 2011 +0100
    9147 
    9148     Changed molecule::ScanForPeriodicCorrection().
    9149    
    9150     - it still used templated link stuff for the bonds which is deprecated and
    9151       hence not usable.
    9152     - now simply bool is returned, whether periodic fixing _would_ be necessary.
    9153     - the number of of periodic fixings is counted and printed in
    9154       MoleculeListClass::OutputConfigForListOfFragments().
    9155 
    9156 commit 72d108d078550736c603bab52caa5d7586985f44
    9157 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9158 Date:   Tue Feb 1 16:23:06 2011 +0100
    9159 
    9160     Rewrote TremoloParser::readAtomDataLine() to use boost::tokenizer.
    9161    
    9162     - The problem was that while the previous construct worked fine, it made it
    9163       very hard to know what is wrong about a file because it did not operate
    9164       on single tokens but on lines.
    9165 
    9166 commit 266875d4d7ac759da8b913a7815cb5e3e6ced275
    9167 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9168 Date:   Tue Feb 1 12:09:17 2011 +0100
    9169 
    9170     FIX: ParserError did not adhere to naming convention.
    9171    
    9172     - excepetions are suffixed with ...Exception.
    9173     - also, ParseError does not suggest that it is a _formula_ parser error.
    9174     - renamed to FormulaStringParseException.
    9175 
    9176 commit 15f6e9c4484a9b8097f8c48695fb81dfd93e4911
    9177 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9178 Date:   Mon Jan 17 19:58:49 2011 +0100
    9179 
    9180     Extended Fragmentations tests by check for number of fragments per order.
    9181    
    9182     - Numbers are taken directly from one year old calculations (and still match).
    9183 
    9184 commit 03871391ca6c9494c227476e9ffca5d4ad581339
    9185 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9186 Date:   Mon Jan 17 17:05:15 2011 +0100
    9187 
    9188     Added Fragmentations test in the spirit of the Tesselations test.
    9189    
    9190     - configuration were taken over from Tesselations.
    9191     - defs.in has been adapted to a new function called Fragmentation_run
    9192     - the test files call this function along with order and distance argument.
    9193     - so far we just check that exitcode of molecuilder is 0.
    9194     - all tests are working.
    9195 
    9196 commit 00b59d53958fb689993d2537537ba47012ef9eaa
    9197 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9198 Date:   Mon Jan 17 15:05:30 2011 +0100
    9199 
    9200     FIX: molecule::FragmentMolecule() did not remove copied atoms and molecules.
    9201    
    9202     - Subgraph copies molecules, are now removed in MoleculeLeafClass dstor.
    9203     - BondFragments's molecules, i.e. the created fragments, are not removed,
    9204       hence the output file got a lot bigger ...
    9205 
    9206 commit 1d5afa54793ab68a5248839eebb3f4a806cc460c
    9207 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9208 Date:   Mon Jan 17 12:21:17 2011 +0100
    9209 
    9210     BUGFIX: CheckAdjacencyFileAgainstMolecule() hiccup'ed on parsed files.
    9211    
    9212     - we checked for iostream::eof() which seemed not to work in all cases. Now
    9213       we use while (line << tmp) directly and this works.
    9214     - maximum number of bonds is now (at least) a define MAXBONDS.
    9215     - ASSERT that we parse not more than MAXBONDS bonds.
    9216 
    9217 commit 17f3cdb7d5c7b935f4e518c4cdbe4503d48542b9
    9218 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9219 Date:   Mon Jan 17 11:41:29 2011 +0100
    9220 
    9221     Placed regression tests Fragmentation into own folder and one file each test case.
    9222 
    9223 commit febef3def9964a3995a74f80fea41b3d7b1f3cf5
    9224 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9225 Date:   Fri Feb 4 18:16:05 2011 +0100
    9226 
    9227     Removed verbosity of LoadElectronegativityDb.
    9228 
    9229 commit 4e855e867fa84e16d3c418b917eb36c8f1b45f90
    9230 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9231 Date:   Fri Feb 4 19:54:12 2011 +0100
    9232 
    9233     BondGraph::LoadBondLengthTable() now accepts istream instead of const char *.
    9234    
    9235     - This has been quite a lot of work because the matrix parsing is involved.
    9236     - Hence, the fix is not really clean, this should get fixed as soon as we deal
    9237       with the BondGraph implementation.
    9238     - This fixes ticket #130.
    9239 
    9240 commit fd378853756ce2d629fc774e7c82d6739ae1be78
    9241 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9242 Date:   Mon Jan 17 18:35:34 2011 +0100
    9243 
    9244     Corrected CLEANUP use for Tesselations tests.
    9245    
    9246     - CLEANUP wrongly contained cd ..
    9247     - trap is now evaluating CLEANUP variable on call not before.
    9248     - This allows for clearing of CLEANUP in case of execution failure of the test.
    9249 
    9250 commit 89c953d85256f5bffcf12e7a0539f4afd28d633b
    9251 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9252 Date:   Mon Jan 17 15:45:13 2011 +0100
    9253 
    9254     Removed config.guess and config.sub that are created by autconf.
    9255 
    9256 commit 5817efa0e8e615d6c84a733fd6f933a293aed46d
    9257 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9258 Date:   Sun Jan 16 20:00:39 2011 +0100
    9259 
    9260     FIX: regression test Selections/Atoms/6 did not use /bin/cp.
    9261    
    9262     - if cp is an alias to 'cp -i' this causes trouble.
    9263 
    9264 commit a5028f9fe5de8314faeb80f8192d465807b8d3f0
    9265 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9266 Date:   Fri Jan 7 16:38:52 2011 +0100
    9267 
    9268     RandomNumberGeneratorFactory is now used instead of rand() throughout the code.
    9269    
    9270     - FillVoidWithMolecule(): this is not sensible for all distributions. Maybe so,
    9271       for now this is just to test the dipole angular correlation implementation.
    9272       Here, one should rather hard-code one.
    9273 
    9274 commit 63839fc79e8c290c3140390c805105bc4563c078
    9275 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9276 Date:   Sat Jan 15 15:38:57 2011 +0100
    9277 
    9278     RandomNumberGeneratorFactory does not clone anymore.
    9279    
    9280     - cloning of the generator was nonsense, as (because of same seed), we always
    9281       start at same random number sequence. I.e. if we often obtain new random
    9282       number generator we hardly get random numbers.
    9283     - RandomNumberGeneratorFactory::makeRandomNumberGenerator() returns now
    9284       reference to avoid accidental free'ing of the instance (that is still
    9285       contained in the prototype table of the factory).
    9286     - unit test of RandomNumberGenerator now checks for non-copy received.
    9287     - RandomNumberGenerator()::get...Name() are now const members.
    9288     - in many cases where pointer *rng was received and ref &random obtained from
    9289       it, we now receive ref directly (and then don't accidentally forget to delete
    9290       the clone anymore. Which is good in any case!).
    9291 
    9292 commit 5347cd4e514abf1b1aa9c7c234f7ba2c0622c8fd
    9293 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9294 Date:   Sat Jan 15 15:37:27 2011 +0100
    9295 
    9296     Added mt19937 to list of possible engines.
    9297 
    9298 commit ecb6c5d6da5d51fee9c1327a6586913c65696e7d
    9299 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9300 Date:   Fri Jan 7 16:36:14 2011 +0100
    9301 
    9302     min(), max() now implemented for all remaining random number distributions.
    9303    
    9304     - min and max are essential to re-adjust the range. Have been hard-coded from
    9305       the properties of the distribution if not min(), max() not available.
    9306 
    9307 commit 9964ff08ae3e4aef63704e318e818e8e0f0430af
    9308 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9309 Date:   Fri Jan 7 16:35:13 2011 +0100
    9310 
    9311     RandomNumberGeneratorFactory now uses Engine and DistributionFactory defaults directly.
    9312    
    9313     - added unit test were these factory defaults are set and a composed Generator
    9314       is made and its contained types tested.
    9315 
    9316 commit 0275ad195a931bec57fdd26321f927b08c267597
    9317 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9318 Date:   Fri Jan 7 01:15:49 2011 +0100
    9319 
    9320     Final step in Random numbers is done ...
    9321    
    9322     - requires CodePatterns 1.0.7.
    9323     - RandomNumberDistributionFactory and RandomNumberEngineFactory are now
    9324       ManipulablePrototypeFactory's (and ...Engine and ..Distribution_Encapsulation
    9325       are ManipulableClone's).
    9326     - new sets of manipulation parameters RandomNumberDistribution_Parameters and
    9327       RandomNumberEngine_Parameters.
    9328     - added Query for RandomNumberDistribution_Parameters because GUI will need to
    9329       change for specific parameters depending on selected distribution. ...
    9330       actually, this happened accidentally and was an enormous amount of work ...
    9331     - added string parser for distribution parameters from CommandLine, TextUI and
    9332       QtUI with boost::tokenizer.
    9333     - ValueStorage uses this parser for query and setting of CurrentValue.
    9334     - unit tests are working and are doing their job very well (found a bug with
    9335       clone not using the distriubtion to clone's parameters).
    9336     - added PrototypeManipulationTest to engine and distribution factory unit test.
    9337     - regression tests with Undo/Redo are done.
    9338     - what's missing is an extension of the test of RandomNumberGeneratorFactory.
    9339 
    9340 commit 1ee3b8d85bc3b82115508a188e0b73f52d7404db
    9341 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9342 Date:   Thu Jan 6 13:30:08 2011 +0100
    9343 
    9344     Made RandomNumbers sources into its own library libMolecuilderRandomNumbers.
    9345    
    9346     - this makes the unit test stuff fast, they use the new lib and not recompiled
    9347       modules.
    9348     - lib is included in Actions, Descriptors, Parser and general unittests, also
    9349       as a dependency for LinearAlgebra lib.
    9350 
    9351 commit 6ff0c86cbaac5717bf62b0ad078300179e43e3e1
    9352 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9353 Date:   Thu Jan 6 13:28:31 2011 +0100
    9354 
    9355     SetRandomNumbersEngineAction now only requires RandomNumberEngineFactory and uses seed.
    9356    
    9357     - requires CodePatterns 1.0.7.
    9358     - prototype is manipulated for new seed via ugly const_cast.
    9359     - FIX: forgot to undefine engine_seq[_a] in RandomNumberEngineFactory.undef.
    9360 
    9361 commit 081e5d776b34e30d39d3d2bd6b9706066bba6950
    9362 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9363 Date:   Wed Jan 5 18:30:01 2011 +0100
    9364 
    9365     Implemented all possible parameter functions for engine and distribution in interface.
    9366    
    9367     - template member function has an ASSERT.
    9368     - and then for each actually present parameter function of a specific engine or
    9369       distribution there is a function specialization that passes on the request.
    9370     - minimal use is made in the engine and distribution factory unit tests and
    9371       everything is fine so far.
    9372 
    9373 commit 15911c97898d09d69931fb955bf4db5cea2b7dc1
    9374 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9375 Date:   Wed Jan 5 17:09:12 2011 +0100
    9376 
    9377     Made some cstor of RandomNumber... protected.
    9378    
    9379     - RandomNumberGenerator now contains refs to engine and distribution instead
    9380       of encapsulation as it can be made friend of these classes to allow acccess
    9381       to dstor.
    9382 
    9383 commit 9b3476e89c8176ecacfb1a4825157fcc620108b1
    9384 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9385 Date:   Wed Jan 5 15:18:11 2011 +0100
    9386 
    9387     RandomNumberDistribution and RandomNumberEngine inherit Clone instead of Creator, ...Factory are Prototype Factory.
    9388    
    9389     - requires CodePatterns 1.0.5.
    9390     - RandomNumberDistribution inherits Clone<> and implements a clone() function.
    9391     - RandomNumberEngine inherits Clone<> and implements a clone() function.
    9392     - that is RandomNumberGenerator clones can from now on be directly manipulated
    9393       via prototypes in RandomNumberEngineFactory and
    9394       RandomNumberDistributionFactory.
    9395     - Removed PrototypeManipulationTest() from Engine and DistributionFactoryUnitTest.
    9396 
    9397 commit 076a7747f6149944af692526338b96c2659d9e53
    9398 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9399 Date:   Wed Jan 5 12:13:54 2011 +0100
    9400 
    9401     RandomNumberGeneratorFactory nows uses Clone instead of Creator pattern.
    9402    
    9403     - requires CodePatterns 1.0.4.
    9404     - RandomNumberGenerator_Encapsulation implements clone() with calls the
    9405       constructor ...
    9406     - ... who in turn (sadly) needs some evil dynamic_cast to get the complex type
    9407       from the simple interface, because we need access to true engine and
    9408       distribution. The instances themselves are obtained properly from the
    9409       respective factories. However, the constructor is protected now.
    9410     - FIX: friend classes can actually be forward declared.
    9411 
    9412 commit 1d5a8713812642e80f03e59bcd85a3ffedbe20b5
    9413 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9414 Date:   Tue Jan 4 13:09:44 2011 +0100
    9415 
    9416     Factored out Factory pattern (no pun intended).
    9417    
    9418     - the Factory pattern half-way residing already in RandomNumberDistribution-
    9419       and -EngineFactory has been extracted, outsourced into CodePatterns
    9420       project and is used here.
    9421     - same for Creator pattern.
    9422     - the prototype problem has not yet been solved.
    9423     - FIX: forgot to clean up RandomNumberDistribution- and -EngineFactory
    9424       instances in cleanUp().
    9425     - we now require 1.0.2 of CodePatterns.
    9426 
    9427 commit c9bc2b7e55bf61ed1abfd0a5314ce53adea45fa9
    9428 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9429 Date:   Mon Jan 3 15:01:22 2011 +0100
    9430 
    9431     Bigger rewrite of RandomNumbers ... due to cloning of prototypes.
    9432    
    9433     - in order to copy the prototypes and not use the original instance, we have
    9434       implemented a new pattern called "Creator" that wraps a templated class in a
    9435       creation interface class such that this abstract class can instaniate the
    9436       particular types (see here http://stackoverflow.com/questions/3506026/c-clone-abstract-base-class-without-meddling-with-derived).
    9437       This is also wrapped up in ..._Creator.hpp files.
    9438     - meanwhile we also tried to have factories for Engine and Distribution but
    9439       this failed due to boost::variate_operator<> having to know the particular
    9440       types of engine and distribution. One could go forth with some cast's but
    9441       this is very unclean and not what we want. ... Downside is that we can't
    9442       set global options for engines or distributions as of now.
    9443     - For the moment Engine- and DistributionFactory both have a prototype table,
    9444       i.e. the same wrapped ones as above, but they are not used for the
    9445       GeneratorFactory.
    9446    
    9447     - For all we have written unit tests:
    9448       - RandomNumberDistributionFactory
    9449       - RandomNumberEngineFactory
    9450       - RandomNumberGeneratorFactory
    9451       - RandomNumberGenerator
    9452       The last one especially checks that two given generators are independent,
    9453       i.e. first call produce the same number from the pseudo-random number
    9454       sequence.
    9455 
    9456 commit 3f9eba726fa6ba97ad9f47ad397aa83f8f1fc923
    9457 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9458 Date:   Sat Jan 1 23:27:54 2011 +0100
    9459 
    9460     New classes for random number generation.
    9461    
    9462     - we use boost::random as a basis. It implements a lot of pseudo-random engines
    9463       and various distributions. However, everything is templated and there are no
    9464       base classes to store prototypes of the instances in a map. We need these
    9465       such that we are able to offer the user at run-time every choice possible.
    9466     - Hence, we need to encapsulate all engines, distributions and (engine,
    9467       distribution) tuples: RandomNumber..._Encapsulation classes.
    9468     - each with an abstract base class as the interface: RandomNumber... classes.
    9469     - RandomNumberGeneratorFactory is then a singleton that contains all the
    9470       Maps and tables:
    9471       - from string (user input is string) to enum (storing enum is more efficient
    9472         that a lengthy string)
    9473       - from enum to instance (of the abstract class).
    9474     - RandomNumberGeneratorFactory is a singleton to allow for global control of
    9475       what kind of numbers are generated, hence there are also two new Actions:
    9476       - SetRandomNumbersDistributionAction
    9477       - SetRandomNumbersEngineAction
    9478       to specify which (engine,distribution) tuple to use. There are two new
    9479       regression tests for these Actions.
    9480     - The user in the end only uses two classes: RandomNumberGeneratorFactory
    9481       and RandomNumberGenerator. The first only for obtaining a specific variant
    9482       of the latter and the latter to generate the numbers (operator() is passed
    9483       on to boost::variate_generator::operator()).
    9484     - There is a unit test on the RandomNumberGeneratorFactory that checks some
    9485       of the table entries and whether one of the RandomNumberGenerator is
    9486       working (uniform_smallint so far).
    9487    
    9488     Details:
    9489     - As there are ~25 engines and ~15 distributions this makes an enormous amount
    9490       of possible combinations. To automatically construct these, we use some
    9491       stuff from boost::preprocessor in order to generate enums, tables and maps
    9492       automatically just from a sequence of the typenames.
    9493     - we have be-friended the unit test a lot to allow for easier testing, e.g.
    9494       we need access to internal ..._type to test whether their type is correct.
    9495     - cleanUp() purges the instance of RandomNumberGeneratorFactory.
    9496     - in RandomNumber..._Encapsulation::name() functions are only used for the
    9497       unit tests.
    9498     - this all resides in its own subfolder RandomNumbers. So far, it is completely
    9499       independent of everything else.
    9500 
    9501 commit 1f91f4d142b3890c0ea0c60d27ff628498b897f0
    9502 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9503 Date:   Mon Jan 10 23:31:40 2011 +0100
    9504 
    9505     factored functionality in PrincipalAxisSystemAction() and RotateToPrincipalAxisSystemAction() into class molecule:
    9506    
    9507     - new functions in molecule
    9508       - getInertiaTensor()
    9509       - RotateToPrincipalAxisSystem()
    9510     - PrepareClustersinWater() then does not need to call an Action anymore.
    9511 
    9512 commit 4782599cc2cedbb40da7b38c15b2bf5c0d183589
    9513 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9514 Date:   Mon Jan 3 09:58:54 2011 +0100
    9515 
    9516     FIX: new regression test for PrincipalAxisSystemAction is prone to numerical instability.
    9517    
    9518     - if we test for 0, 1e-17 is not a match ...
    9519     - renamed former subfolder 5 to PrincipalAxisSystem according to new naming
    9520       scheme.
    9521     - Action also now solves for the eigen system of the 3x3 inertia tensor and
    9522       prints eigenvalues.
    9523 
    9524 commit b25fa374bf59ffcdade5ca861bcb1d97d99159cc
    9525 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9526 Date:   Thu Dec 30 14:38:46 2010 +0100
    9527 
    9528     Added Angular Dipole Correlation - Discrete angles test suite part.
    9529    
    9530     - Analysis/7: Due to different centers, one plane of water molecules looses a
    9531       hydrogen, being rendered outside domain. Then, dipole is not practical
    9532       anymore.
    9533       Instead we use the option distance-to-boundary with "1." but have to give a
    9534       new waterbox(-mirrored) and new histograms (as there are now only 216
    9535       molecules filled into domain).
    9536 
    9537 commit 92e5cbdb87cf8cd20127f2dff627b843dfad5ae2
    9538 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9539 Date:   Thu Dec 30 12:10:50 2010 +0100
    9540 
    9541     Refactored Output..Correlation...() code into a single templated one.
    9542    
    9543     - template function OutputCorrelationMap() that accepts two function pointers
    9544       for header and value to print the map's specifics.
    9545     - all other function have been refactored into these two output functions per
    9546       CorrelationMap type.
    9547    
    9548     TESTFIXES:
    9549     - Analysis/1-4,6: as the output files changed due to different header and
    9550       extended contents, we had to replace them. However, each single one was
    9551       checked by eye whether it differed in the old places (and they did not).
    9552     - AnalysisCorrelationToPointUnitTest: OutputCorrelation -> OutputCorrelationMap
    9553     - AnalysisCorrelationToSurfaceUnitTest: OutputCorrelation ->
    9554       OutputCorrelationMap
    9555 
    9556 commit cd7a874697981628f16debf304ae5c1ff4d0f0ce
    9557 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9558 Date:   Thu Dec 30 10:41:56 2010 +0100
    9559 
    9560     Refactored Analysis regression tests, added angular dipole correlation - empty test.
    9561    
    9562     - structure is now same as for Selection tests.
    9563     - Principal Axis System is now implemented (commented-out before).
    9564     - new Angular Dipole Correlation - empty test group created.
    9565     - templates for discrete angles and random distribution that are skipped for
    9566       the moment.
    9567    
    9568     TESTFIXES:
    9569     - Analysis/6-7: lengths was dropped (default value of "0." is sufficient).
    9570 
    9571 commit caa30bb728eba9087798caddea7ae014d9ba4f4f
    9572 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9573 Date:   Wed Dec 29 12:02:55 2010 +0100
    9574 
    9575     BUGFIX: Correlation functions return NULL outputmap when something is wrong.
    9576    
    9577     - we return allocated empty map instead.
    9578 
    9579 commit be945c354a323c7dfc428278d0959f40f791b566
    9580 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9581 Date:   Fri Dec 17 19:52:44 2010 +0100
    9582 
    9583     New DipoleAngularCorrelationAction that calculates angular correlation between dipoles.
    9584 
    9585 commit 67c92bc74e63aa32a5591cb97787b1ac983f9ee0
    9586 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9587 Date:   Fri Dec 17 19:51:30 2010 +0100
    9588 
    9589     Added Electronegativity database and member value to class element.
    9590    
    9591     - periodentafel contains new loading functions.
    9592     - also all periodentafel::load...() now accept reference of istream, not
    9593       pointer. This causes changes in PeriodentafelUnitTest.
    9594 
    9595 commit ea430a82140f37b1e0e63e084a2bff60d5685366
    9596 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9597 Date:   Wed Dec 15 18:23:34 2010 +0100
    9598 
    9599     Initial versions of DipoleAngularCorrelation().
    9600    
    9601     - no implementation yet, just function signatures.
    9602 
    9603 commit 9df680e1ca4592968b96c9d82a4e85fee43ab4c5
    9604 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9605 Date:   Sat Jan 15 16:04:18 2011 +0100
    9606 
    9607     FIX: FillVoidWithMolecule() now centers filler molecule at its center of gravity.
    9608    
    9609     - this is the only sensible option if we later rotate the molecule.
    9610     - atom::clone() reduced a lot, as copy constructors contains it all.
    9611     - FillVoidWithMolecule() - filler is now selected to reside entirely within
    9612       the domain. Otherwise, we seg'fault on save on exit, as one of the father
    9613       atoms for all copied atoms is missing and hence, we cannot look at its
    9614       additional...Data for various parsers.
    9615     - new function molecule::removeAtomsInMolecule() which destroys all the
    9616       molecule's atoms.
    9617    
    9618     TESTFIXES:
    9619     - Filling/3: filled water box has changed due to different center of water
    9620       molecules.
    9621 
    9622 commit d6f8869464bd2208482a0f62cc438db4939fc16d
    9623 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9624 Date:   Mon Jan 10 11:55:48 2011 +0100
    9625 
    9626     changed stupid --lengths parameter of fill...-with-molecule into three distinct ones.
    9627    
    9628     - in this Vector length three distinct things had been mixed, with --distance
    9629       it made sense, with lengths this's been just nonsense.
    9630     - new parameters are --distance-to-molecule --random-atom-displacement and
    9631       --random-molecule-displacement and all default to zero.
    9632     - moved files into regression/Filling and three files, one for each test case
    9633       according to new scheme.
    9634    
    9635     TESTFIXES:
    9636     - Filling/1-3: lengths mostly replaced by --distance-to-molecule
    9637 
    9638 commit 66fd499538327fa9d63d45ec481787c8650b9509
    9639 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9640 Date:   Thu Dec 30 21:52:17 2010 +0100
    9641 
    9642     Rewrite of FillVoidWithMoleculeAction.
    9643    
    9644     FillVoidWithMoleculeAction:
    9645     - new parameter MinDistance and default value of 0.
    9646     - BUGFIX: filler is already created when parsing file, removed useless creation
    9647       of it initially (also caused lots of confusion due to an "extra" molecule).
    9648     - Undo implemented, regression test inserted.
    9649     - Redo is somewhat hard to implement, as one would use performCall() if it only
    9650       it would not retrieve its values from ValueStorage ...
    9651    
    9652     FillVoidWithMolecule():
    9653     - filler is now the zeroth not the last molecule, marked by firstInsertion and
    9654       firstInserter. Filler is removed if no molecules are filled.
    9655     - outsourced stuff into smaller functions
    9656      - RandomizeMoleculePositions()
    9657      - RemoveAtomsOutsideDomain()
    9658      - isSpaceAroundPointVoid()
    9659     - removed FillIt to through every atom despite only
    9660       CurrentPosition, indepedent of atom position, is checked.
    9661    
    9662     TESTFIXES:
    9663     - Analysis/3: test.xyz changed because boundary is now 1.5 instead of 2.1 as
    9664       2.1 is not enough of molecules get filled in (and the filler already is).
    9665     - Analysis/3: tensid.data was actually lacking water at (0,0,0) which is after
    9666       the rewrite present.
    9667 
    9668 commit 0b15bbf617ce267e166ff4e7e1454ca420c1488f
    9669 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9670 Date:   Fri Dec 17 19:50:12 2010 +0100
    9671 
    9672     BUGFIX: fill-molecule was rotating randomly per atom, not per molecule.
    9673 
    9674 commit c00d359f173d2e16a9424a03c781f723da85fa93
    9675 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9676 Date:   Wed Dec 29 17:30:04 2010 +0100
    9677 
    9678     RotateAroundSelfByAngle now acts on all selected molecules.
    9679 
    9680 commit cb9de4fed6a381fa6220088cb1a1b919167e8e82
    9681 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9682 Date:   Wed Dec 29 15:40:08 2010 +0100
    9683 
    9684     Parameter for rotate-around-self axis is now called 'axis' not 'position' anymore.
    9685    
    9686     - this is only needed due to multiple tokens not yet possible.
    9687    
    9688     TESTFIX: Molecules/Rotate around self parameter adapted.
    9689 
    9690 commit aa4b2d50a6822ca41e873badba032107ce6d6d6d
    9691 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9692 Date:   Wed Dec 29 17:53:52 2010 +0100
    9693 
    9694     All (Un)SelectionActions now state how many atoms or molecules (remain) selected.
    9695 
    9696 commit d1115de89a5962b3b03f159e145f3860d6a3b410
    9697 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9698 Date:   Thu Dec 30 20:43:58 2010 +0100
    9699 
    9700     FIX: paramdefaults values have to be in "", now enforced by constructing std::string from it.
    9701    
    9702     - before we could say (0) as a paramdefault which did not give any clear
    9703       indication why compilation failed. Now, it states that std::string cstor for
    9704       this type is missing, which should point to writing ("0") instead.
    9705     - Action.hpp: NODEFAULT changed to "" instead of std::string("").
    9706 
    9707 commit e5bf2b22c0042a67710fb901a98aa2af11f93f72
    9708 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9709 Date:   Mon Jan 10 23:34:20 2011 +0100
    9710 
    9711     removed CPPUNIT_LIBS/FLAGS from most Makefile.am and LIBS/libs -> LIBADD.
    9712    
    9713     - CPPUNIT_LIBS/FLAGS is only needed for unit tests.
    9714     - LIBS/libs should actually be LIBDADD, see also ticket #133.
    9715 
    9716 commit b2ae3bbc113d5260710b637dd098d36ee28dc655
    9717 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9718 Date:   Tue Jan 4 13:14:59 2011 +0100
    9719 
    9720     Removed smaller warning, mostly due to NDEBUG.
    9721    
    9722     - ASSERTs are not compiled in with NDEBUG but some stuff is assigned before and
    9723       then checked within the ASSERT. If NDEBUG, the compiler will issue a warning
    9724       because of unused variable. These have been excluded by a
    9725       #ifndef NDEBUG,#endif
    9726       block.
    9727 
    9728 commit dd88cb86f41b3bd7928c6029b08d07f211ecb31f
    9729 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9730 Date:   Thu Dec 23 19:14:41 2010 +0100
    9731 
    9732     Set current version to 1.0.8.
    9733 
    9734 commit 6d2207705fa65aba62ae39144897529bc80eb3a3
    9735 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9736 Date:   Thu Dec 23 17:45:39 2010 +0100
    9737 
    9738     FIX: Forgot Shapes/unittests and made Shapes into own library.
    9739    
    9740     - Shapes only depend on LinearAlgebra and Exceptions, hence own lib module.
    9741 
    9742 commit acbe1b77b823d2bb1821c128fc01df591be27828
    9743 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9744 Date:   Thu Dec 23 17:35:16 2010 +0100
    9745 
    9746     All libraries don't have version in name anymore.
    9747    
    9748     - we used gained knowledge from CodePatterns library for .pc file and
    9749       and the generated libs to finalize their use (for SubspaceFactorizer
    9750       soon the factored out into independent project).
    9751     - .pc now contains all libs and named correctly.
    9752    
    9753     Makefile.am's
    9754     - include_HEADERs corrected
    9755     - pkgconfig_.. thrown out except in src/, it's always the same file
    9756       - at a later point we might have specialized .pc files for specific
    9757         libraries such as Shapes,LinearAlgebra and Exceptions, ...
    9758     - no more version attached, only via -version-info, as .pc file checks
    9759       for version anyway.
    9760 
    9761 commit dc031cb33b9d55462239994b557d00d9554e07f7
    9762 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9763 Date:   Wed Dec 22 18:16:07 2010 +0100
    9764 
    9765     Added enable-debug and enable-cache switches to configure.
    9766    
    9767     - These set NDEBUG or MEMDEBUG.
    9768     - The user does not need to have to know about this stuff, configure should
    9769       tell him his options in a easy to understand manner.
    9770     - also, we use CodePatterns-debug library if debug is specified and we need
    9771       v1.0.1 from CodePatterns.
    9772     - updated ax_codepatterns.m4.
    9773 
    9774 commit 56f73b5512dfb946d0cfe382fc8564d60e182c52
    9775 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9776 Date:   Wed Dec 22 18:10:02 2010 +0100
    9777 
    9778     Added config.h also to all header files, code check test ascertain this in the future.
    9779    
    9780     - as we want to use config.h to pass stuff such as MEMDEBUG, NDEBUG,
    9781       LOG_OBSERVER, we have to make sure that it is present in each and every
    9782       file.
    9783     - split up CodeChecks/testsuite.at: each test has its own .at file.
    9784 
    9785 commit ad011c5ac0c9bfcf699f41ee11dd4a8aa0abb89a
    9786 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9787 Date:   Wed Dec 22 11:33:36 2010 +0100
    9788 
    9789     CodePatterns places all includes now in subfolder CodePatterns/.
    9790    
    9791     - change all includes accordingly.
    9792     - this was necessary as Helpers and Patterns are not very distinctive names
    9793       for include folders. Already now, we had a conflict between Helpers from
    9794       CodePatterns and Helpers from this project.
    9795     - changed compilation test in ax_codepatterns.m4 when changing CodePatterns includes.
    9796 
    9797 commit a0064eed42643b1cce8b62a957d12e2bdfc5e696
    9798 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9799 Date:   Wed Dec 22 10:18:48 2010 +0100
    9800 
    9801     Moved stuff in src/Helpers and src/Patterns out to stand-alone project CodePatterns.
    9802    
    9803     Makefile.am's:
    9804     - CodePatterns added to AM_LDFLAGS and AM_CFLAGS
    9805     - libMoleCuilderHelpers removed
    9806    
    9807     Helpers/...
    9808     - defs.hpp include prefixed with Helpers/
    9809     - helpers.?pp removed lots of old, unused functions: bound, ask_value, ...
    9810     - fast_functions.hpp has lots of functions removed as well.
    9811     - all other files and unit tests moved to project CodePatterns.
    9812    
    9813     Patterns/...
    9814     - all files mnd unit tests oved to project CodePatterns.
    9815    
    9816     - added ax_codepatterns.m4 containing AM_PATH_CODEPATTERNS to configure.ac
    9817 
    9818 commit f28a26ae355bb241ae04316dbd135e284fbb92a6
    9819 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9820 Date:   Mon Dec 20 22:18:34 2010 +0100
    9821 
    9822     Added ChangeLog file and config dir creation to bootstrap.
    9823 
    9824 commit 78bb14109cfdffd92df5a209d6c6f435f90b1369
    9825 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9826 Date:   Fri Dec 17 16:57:59 2010 +0100
    9827 
    9828     BUGFIX: SetOutputFormatsAction seemed to add last format twice. Thanks Daniel!
    9829    
    9830     - this was a bug in ValueStorage: while-loop checked for stream.fail(), but
    9831       the stream might also fail within and nonetheless we pushed the (then
    9832       unaltered from last iteration) temp value. Hence, doubly occuring last
    9833       item.
    9834     - to prevent this, we test within for stream.fail() and for all others we
    9835       placed ASSERT's everywhere (as internally strings are used for conversion
    9836       and for a vector, we have to parse (at least) three strings).
    9837     - if std::vector<>'s are parsed, we ASSERT only that at least one value was
    9838       parsed.
    9839     - FormatParserStorage now just gives a warning, when an already presen Parser
    9840       is added again, but gives a not that input type is not needed to be specified
    9841       as output type as well.
    9842    
    9843     thanks Daniel for pointing this out!
    9844 
    9845 commit ff3c4002a716034c90ecc45a2447e144ee900ffe
    9846 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9847 Date:   Fri Dec 17 16:26:30 2010 +0100
    9848 
    9849     BUGFIX: TremoloParser would store "noKey" if other format given as input.
    9850    
    9851     - If not originating from a tremolo type file, i.e. when TremoloParser has to
    9852       fall back to its default value, it wrongly output also the noKey.
    9853     - also we placed setter and getter for noKey, getter gives "noKey" string.
    9854 
    9855 commit e6f9c5924a09731d92bcf9977f544c3c06f0099d
    9856 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9857 Date:   Fri Dec 17 15:46:13 2010 +0100
    9858 
    9859     Removed all -e ${abs_top_srcdir} from regression tests.
    9860    
    9861     - Now only the test on external element database uses still "-e" switch.
    9862     - Note that this was utter nonsense before anyway. Molecuilder writes the
    9863       database in the end, i.e. make check would change elements.db in the
    9864       source folder ... Evil!
    9865     - This closes ticket #78.
    9866 
    9867 commit 5d6f38416b4c5e08382366362df9df4bac7f185a
    9868 Merge: d0a7193 dd97a92
    9869 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9870 Date:   Fri Dec 17 15:20:26 2010 +0100
    9871 
    9872     Merge branch 'Fix_TremoloAtomInfoContainer_MemDebug' into stable
    9873 
    9874 commit dd97a92224a10b645572d2e62e316c7cf76175e6
    9875 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9876 Date:   Fri Dec 17 15:20:07 2010 +0100
    9877 
    9878     Added missing MemDebug.hpp to TremoloAtomInfoContainer.cpp.
    9879 
    9880 commit d0a719337605ff092ec30a9628eacac47018187c
    9881 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9882 Date:   Fri Dec 17 15:17:44 2010 +0100
    9883 
    9884     Added new testsuite called CodeChecks.
    9885    
    9886     - this testsuite is meant to capture coding pardigms and ascertain that they
    9887       are adhered to.
    9888     - the first test is on whether MemDebug.hpp is included in every source file
    9889       which is quite necessary since we have set all unknown mem source to be
    9890       ignored in counting and admonishing.
    9891 
    9892 commit f844ef1d2617f49c942d373969b847f7fc5ae831
    9893 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9894 Date:   Thu Dec 16 22:40:03 2010 +0100
    9895 
    9896     Renamed all remaining unit tests in src/unittests to Capitalized naming scheme.
    9897    
    9898     - some includes had to be changed.
    9899     - some other files too due to befriended member functions of unit tests.
    9900 
    9901 commit dfafe75c0a321601e7c5213a34a8e595a074c4f4
    9902 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9903 Date:   Thu Dec 16 22:07:59 2010 +0100
    9904 
    9905     Moved VectorContentUnittest and vectorunittest to LinearAlgebra/unittests/VectorContentUnitTest and ../VectorUnitTest.
    9906 
    9907 commit 0b3cbdf61fac3c20da86e10708e1eb6f38434f9e
    9908 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9909 Date:   Thu Dec 16 22:02:50 2010 +0100
    9910 
    9911     Moved ShapeUnittest to Shapes/unittests/ShapeUnitTest.
    9912 
    9913 commit 57d976e0915dfd9310443b244dfde9c7d398ab8e
    9914 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9915 Date:   Thu Dec 16 21:56:56 2010 +0100
    9916 
    9917     Moved RegistryUnitTest to Patterns/unittests/RegistryUnitTest.
    9918    
    9919     - renamed unit test exe Registry -> RegistryUnitTest.
    9920 
    9921 commit 5bc8229c9ad8aacd95f80f0270ccd72aad8fb4a8
    9922 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9923 Date:   Thu Dec 16 21:52:09 2010 +0100
    9924 
    9925     Moved PlaneUnittest to LinearAlgebra/unittests/PlaneUnitTest.
    9926 
    9927 commit f890244320184388b550201562b2a865b1b496ee
    9928 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9929 Date:   Thu Dec 16 21:47:33 2010 +0100
    9930 
    9931     Moved LineUnittest to LinearAlgebra/unittests/LineUnitTest.
    9932 
    9933 commit 41396af72cb96bbfe713a3fdf03c9101ef077da5
    9934 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9935 Date:   Thu Dec 16 15:59:07 2010 +0100
    9936 
    9937     Moved Parser...UnitTest to  Parser/unittests/Parser...UnitTest.
    9938 
    9939 commit a2c4f3a25768bdc125e4bb1a2d1a55d910d0b53b
    9940 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9941 Date:   Thu Dec 16 15:54:02 2010 +0100
    9942 
    9943     Moved ObserverTest to Patterns/unittests/ObserverUnitTest.
    9944 
    9945 commit 6c9adcb840c14f7f035c42223e0c8e915c72fde5
    9946 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9947 Date:   Thu Dec 16 15:47:29 2010 +0100
    9948 
    9949     Moved MoleculeDescriptorTest to Descriptors/unittests/MoleculeDescriptorUnitTest.
    9950 
    9951 commit 0e20316989ca2bc429f9b3d052d7b3e9ba3d26cc
    9952 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9953 Date:   Thu Dec 16 15:44:27 2010 +0100
    9954 
    9955     Moved MenuDescriptionUnitTest to UIElements/Menu/unittests.
    9956 
    9957 commit efd61bd3e7212dbd914dab44397fc2a2e40bff21
    9958 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9959 Date:   Thu Dec 16 15:32:21 2010 +0100
    9960 
    9961     Moved manipulateAtomsTest to Actions/unittests/ManipulateAtomsUnitTest.
    9962 
    9963 commit 4076fcc9b9d836715dfe1bba1c9247bfdd385a93
    9964 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9965 Date:   Thu Dec 16 15:28:25 2010 +0100
    9966 
    9967     Moved logunittest to Helpers/unittests/LogUnitTest.
    9968 
    9969 commit 78b59342efdef84002909010c97948f27e3de0dd
    9970 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9971 Date:   Thu Dec 16 15:19:18 2010 +0100
    9972 
    9973     Moved linearsystemofequations to LinearAlgebra/unittests/LinearSystemOfEquationsUnitTest.
    9974    
    9975     - also renamed linearsystemofequations.?pp to LinearSystemOfEquations.?pp.
    9976 
    9977 commit fff54fc0db0a4acc85e41914d8ef5c4e74bd0e7f
    9978 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9979 Date:   Wed Dec 15 20:12:13 2010 +0100
    9980 
    9981     Moved all Matrix...Unittest to LinearAlgebra/unittests/Matrix...UnitTest.
    9982 
    9983 commit 3c8e8bb4ac545196f3097a1517f779726212885b
    9984 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9985 Date:   Thu Dec 16 21:29:04 2010 +0100
    9986 
    9987     Moved atomsCalculationTest to Actions/unittests/AtomsCalculationUnitTest.
    9988 
    9989 commit e7da1f59b247209d90468802fd9412179ff04717
    9990 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9991 Date:   Thu Dec 16 21:23:58 2010 +0100
    9992 
    9993     Moved CacheableTest to Patterns/unittests/CacheableUnitTest.
    9994 
    9995 commit d766b57dc12ce7778425d65155b7159612ed7211
    9996 Author: Frederik Heber <heber@ins.uni-bonn.de>
    9997 Date:   Wed Dec 15 19:40:21 2010 +0100
    9998 
    9999     Moved AtomDescriptorTest to Descriptors/unittests/AtomDescriptorUnitTest.
    10000 
    10001 commit 456e78e35fb62976d5ccc14000867cdfdf3da8bc
    10002 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10003 Date:   Wed Dec 15 19:32:19 2010 +0100
    10004 
    10005     Removed ActOnAllUnitTest.
    10006    
    10007     - Till had replaced all ActOnAll by for_each() with boost::bind. Hence,
    10008       ActOnAll is not used anymore.
    10009 
    10010 commit f7c0c4875e5eed9b9b820e4cd989c0203179be0b
    10011 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10012 Date:   Wed Dec 15 19:18:36 2010 +0100
    10013 
    10014     Moved ActionSequenceTest to Actions/unittests, renamed to ActionSequenceUnitTest.
    10015 
    10016 commit deddf60dcef024b8000d9a49d0357ae4601a46de
    10017 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10018 Date:   Thu Dec 16 23:13:41 2010 +0100
    10019 
    10020     New unit test for ActionRegistry.
    10021    
    10022     - checks whether a short form has been used by more than once Action.
    10023     - unit test is placed in Actions/unittests but called from
    10024       unittests/Makefile.am via SUBDIRS to ensure that all libs are compiled.
    10025 
    10026 commit c0bccbecd01c28def7f751995f67ff1a54f4c1c4
    10027 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10028 Date:   Thu Dec 16 23:12:19 2010 +0100
    10029 
    10030     Moved SingletonTest to Patterns/unittests/SingletonUnitTest.
    10031 
    10032 commit 85949a638ffde393b44b0671e40b3ccedb46ce2f
    10033 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10034 Date:   Wed Dec 15 18:53:45 2010 +0100
    10035 
    10036     Split off unittests Makefile.am's in configure.ac into own AC_CONFIG_FILES.
    10037 
    10038 commit 2a0a9e3fc16c166da2f43bcf25a079b018b47785
    10039 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10040 Date:   Wed Dec 15 18:17:48 2010 +0100
    10041 
    10042     FIX: CommandLineParser::getShortFormToActionMap() const member function now.
    10043 
    10044 commit ad727091ea334c1a264e49463c1dfd9494856a64
    10045 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10046 Date:   Wed Dec 15 17:26:52 2010 +0100
    10047 
    10048     Reduced initial verbosity of code.
    10049    
    10050     FIX:
    10051     - initUI() - no more admonishing of missing bond length table.
    10052    
    10053     The following messages have been placed in comments:
    10054     - Registering of Action/Options.
    10055     - Looking for KnownTypes.
    10056     - Stating MenuNames, Separators and submenu creations.
    10057     - No more listing of parsed elements.
    10058     - No more listing of thermostats.
    10059    
    10060     The following messages have been added:
    10061     - prepended scanning arguments in CommandLineParser::scan...().
    10062     - prepended running arguments in CommandLineWindow::display().
    10063     - additional new line after ProgamHeader().
    10064     - correct CommandLine UI setting to occur before arguments are parsed.
    10065     - changed verbosity levels of CommandLineParser::scanforSequenceOfArguments(),
    10066       also all use DoLog(), i.e. global verbosity makes them be listed again.
    10067    
    10068     NOTE:
    10069     - MemDebug: as delete NULL is safe, we do not warn when this occurs. Also, in
    10070       Qt this happens a lot.
    10071    
    10072     TESTFIX:
    10073     - setting global verbosity to 1, messed with Standard_Options/1. There
    10074       we set verbosity to 9 to avoid this in the future.
    10075 
    10076 commit f4d06356f58f97d60e79eab5f19874cf6cd3d55c
    10077 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10078 Date:   Wed Dec 15 16:54:40 2010 +0100
    10079 
    10080     MEMFIX: MemDebug ignores all unknown sources. Removed all dependencies around main(), moved to builder_init.?pp.
    10081    
    10082     - this has been an attempt to fix the warning of a memory leak that
    10083       actually results into the libboost_filesystem.so over which we have no
    10084       control. As of now, i I do not quite look through the whole affair.
    10085       That is, I have a now idea why Till's new memory allocator is used
    10086       during the initialization of some external library already, but
    10087       apparently it must have to do with lookup tables present in the
    10088       exectuable already. Hence, we can not do much about.
    10089     - Nonetheless, we split up main() into some initializating functions
    10090       which have been outsourced to builder_init.cpp.
    10091     - The only fix then is that we ignore all values of unknown source
    10092       in MemDebug.
    10093     - Note: We only do accouting of stuff allocated on the heap (e.g.
    10094       int *test = new int;) and not on stack (int test;)! However, stack
    10095       space is limited anyway.
    10096 
    10097 commit c77ac834b1961f9274456206890fd358c78dcd5b
    10098 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10099 Date:   Sat Dec 11 23:02:50 2010 +0100
    10100 
    10101     Added regression test for each SelectionAction on molecules.
    10102    
    10103     - new subfolder Selection/Molecules.
    10104     - contains a testsuite-selection-....at per selection present.
    10105     - extensive and very well checked tests.
    10106 
    10107 commit ff237cac90abf3bb5724922b22e18dfefccb8028
    10108 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10109 Date:   Sat Dec 11 23:01:10 2010 +0100
    10110 
    10111     FIX: Simplified SelectionNotMoleculeByFormulaAction::performCall() with descriptor.
    10112 
    10113 commit 1a0987486025bfa5a57b606108e288ec7f8fe19f
    10114 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10115 Date:   Sat Dec 11 22:10:26 2010 +0100
    10116 
    10117     BUGFIX: SelectionMoleculeByIdAction::performRedo() uses wrong (_)state.
    10118    
    10119     - thanks new regression tests for noting this one, causes segfault.
    10120 
    10121 commit c42e60ed725925e7ac0c237a354103f0a7089314
    10122 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10123 Date:   Sat Dec 11 22:05:11 2010 +0100
    10124 
    10125     Two new descriptors: AtomOfMoleculeSelection, MoleculeOfAtomSelection. Rewrote associated SelectionActions.
    10126    
    10127     - AtomOfMoleculeSelectionDescriptor: represents all atoms of currently selected
    10128       molecules
    10129     - MoleculeOfAtomSelectionDescriptor: represents all molecules of currently
    10130       selected atoms
    10131     - rewrote Selection(Not)AllAtomsOfMoleculeAction: simply uses selectAllAtoms() and
    10132       descriptor, no parameter anymore
    10133     - rewrote Selection(Not)MoleculeOfAtomAction: simply uses
    10134       selectedAllMolecules() and descriptor, no parameter anymore
    10135     - renamed (un)select-molecule-of-atom to (un)select-atoms-molecules.
    10136    
    10137     That is, the SelectionActions are meant to use one selection and turn the
    10138     other accordingly. It is a sort of exchange between the two. I can convert
    10139     a selection of atoms to molecules and vica versa, but this "mapping" is NOT
    10140     injective but always surjective.
    10141    
    10142     Testchange:
    10143     - Selection/Atoms/testsuite-selection-atoms-of-molecule.at: Due to the absent
    10144       parameter now, we first select the molecule by id and then ...
    10145 
    10146 commit fc5c3aecf61bf757b27c7c4f9060569db2b116c7
    10147 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10148 Date:   Sat Dec 11 17:30:38 2010 +0100
    10149 
    10150     Molecule's SaveAction saves selected molecules, World's OutputAction saves World.
    10151    
    10152     - we make use of the extended FormatParserStorage::save...() functions.
    10153     - OutputAction now has a single parameter, the file name. Before it was quite
    10154       useless anyway as the World is stored on program exit anyway, overwriting
    10155       anything that would have been stored by the Action in between.
    10156    
    10157     Testchanges:
    10158     - SimpleConfiguration/2 are now called "--output" and not "-s" due to other
    10159       Action being called.
    10160 
    10161 commit 73916fa693ce5fb3da8ee860f66532d555f21bca
    10162 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10163 Date:   Sat Dec 11 16:57:00 2010 +0100
    10164 
    10165     Extended FormatParser::save() to use vector<atom *> to save.
    10166    
    10167     - This is needed to make the save functions also work on selected atoms or
    10168       molecules only.
    10169     - Within ParserCommonUnitTest, ParserTremoloUnitTest we create the vector by
    10170       calling World's getAllAtoms() (which would have been done before in the
    10171       specialized save() functions).
    10172     - new functions in FormatParserStorage:
    10173       - saveSelectedAtoms().
    10174       - saveSelectedMolecules().
    10175       - saveWorld().
    10176     - renamed ::get() and ::put() to ::load() and ::save() to have it more
    10177       consistent with underlying FormatParser functions and also to avoid
    10178       misinterpretation with all ::get...() functions.
    10179 
    10180 commit 512f85d322a6e9f33d30dd5c0407a7abb6513ce2
    10181 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10182 Date:   Fri Dec 10 19:07:09 2010 +0100
    10183 
    10184     Added regression test for each SelectionAction on atoms.
    10185    
    10186     - Moved testsuite-selection.at to subfolder Selection.
    10187     - testsuite-selection.at just contains includes for each Action.
    10188     - Therein subfolder Atoms contains:
    10189       - testsuite-selection-....at: one for each Action.
    10190       - all folders with pre and post files.
    10191     - all tests include Undo/Redo and select/unselect
    10192     - each regression file has been tested thoroughly, especially for cuboid and
    10193       sphere selection.
    10194 
    10195 commit 17c1a8e8744f0689e0dfd763a4ba3027a68fe52a
    10196 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10197 Date:   Wed Dec 8 00:55:21 2010 +0100
    10198 
    10199     Added regression test for SelectionAction to testsuite.
    10200    
    10201     - so far only for AllAtomsAction.
    10202 
    10203 commit 125002e81c98512135b35e1b6d522def2717dad7
    10204 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10205 Date:   Tue Dec 7 23:23:03 2010 +0100
    10206 
    10207     Splitted SelectionAction modules into two groups - atoms, molecules - and each into a subfolder.
    10208    
    10209     - had to adapt includes in all .cpp files as they contained some stupid
    10210       relative path.
    10211     - This is sensible as there are quite a large amount of SelectionActions and
    10212       it is hard to discern the ones which select atoms and which select molecules.
    10213 
    10214 commit 92d756fffdac8a3b844d1d562292a4c99a853093
    10215 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10216 Date:   Tue Dec 7 23:05:18 2010 +0100
    10217 
    10218     Larger update of selections.
    10219    
    10220     - new selections:
    10221       - NotMoleculeByOrderAction
    10222       - MoleculeByNameAction
    10223       - NotMoleculeByNameAction
    10224     - exchanged all loops in present selections by BOOST_FOREACHs
    10225     - used AtomsBySelection() and MoleculesBySelection() to more cleverly store
    10226       stuff for undo state.
    10227    
    10228     - new MoleculeOrderDescriptor (outsource from SearchMoleculeByOrder).
    10229 
    10230 commit 0bbfa1f442f20bde96b5119e3b620b99bc8c62d9
    10231 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10232 Date:   Wed Dec 8 02:10:03 2010 +0100
    10233 
    10234     BUGFIX: Parsing a second .data file failed.
    10235    
    10236     - atomIdMap was not cleared in TremoloParser::load().
    10237     - neighbors of first parsing get processed again after second parsing, hence
    10238       bonds are added twice.
    10239 
    10240 commit 93fd43e59ae1cd1a2ca84e03e23e808197ff8076
    10241 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10242 Date:   Tue Dec 7 15:00:19 2010 +0100
    10243 
    10244     new function PdbParser::getadditionalAtomData() that also adds new entries.
    10245    
    10246     - either we get the present one, or create from next father, topmost father
    10247       or from defaultValues a new entry.
    10248 
    10249 commit 1d02fe3308df262c745ee1939a67abc233e2f804
    10250 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10251 Date:   Tue Dec 7 14:18:46 2010 +0100
    10252 
    10253     MEMFIX: PdbParser::readAtomDataLine() additionalAtomData entries leaked.
    10254    
    10255     - entries were created by *(new PdbAtomInfoContainer) instead of
    10256       PdbAtomInfoContainer() which copies default values from temp instances.
    10257 
    10258 commit 16462f8c5b097f56fd1c2c03e31b5cd9daef6a0f
    10259 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10260 Date:   Tue Dec 7 13:54:42 2010 +0100
    10261 
    10262     PdbParser is now complete with respect to additionalAtomData.
    10263    
    10264     - serial, name, resName, resSeq, element, and charge are updated if changed,
    10265       otherwise we use values from PdbAtomInfoContainer.
    10266     - PdbParser::saveLine() completely uses information from PdbAtomInfoContainer.
    10267    
    10268     Testchanges:
    10269     - Simple_configuration/2/post/test.pdb updated as we are now closer to real
    10270       PDB format also concerning alignment and the resName changed again.
    10271 
    10272 commit 031e2c6660707d072a402cb12517f617d42c8d3c
    10273 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10274 Date:   Tue Dec 7 14:09:39 2010 +0100
    10275 
    10276     Splitted off classes TremoloKey and TremoloAtomInfoContainer into own modules.
    10277 
    10278 commit 24f1282e1df2c72138841c78643facb494f0b9ed
    10279 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10280 Date:   Tue Dec 7 14:16:13 2010 +0100
    10281 
    10282     MEMFIX: TremoloParser::readAtomDataLine() additionalAtomData entries.
    10283    
    10284     - entries have been filled with *(new TremoloAtomInfoContainer) instead of
    10285       TremoloAtomInfoContainer() which copies default values from temp instance.
    10286 
    10287 commit 4c12306495978f073faf37a21b00f168b04041bf
    10288 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10289 Date:   Mon Dec 6 21:47:33 2010 +0100
    10290 
    10291     FIX: PdbParser::writeNeighbors() uses getAtomId not getSerial.
    10292    
    10293     - additionalAtomData is as of now not used for storing. Hence, we first fix
    10294       this. Now, the set id in PdbParser::save is also used for the neighbor
    10295       connectivity.
    10296 
    10297 commit a564be038aa43b68337fb7e9294c7feed0300ab0
    10298 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10299 Date:   Mon Dec 6 20:15:03 2010 +0100
    10300 
    10301     Removed ancient StackClass, replaced by std::deque.
    10302    
    10303     - all PopLast replaced by pop_front.
    10304     - all PopFirst replaced by pop_front.
    10305     - and we have two remove items in two steps, first get item, then pop.
    10306 
    10307 commit fd19ffcfb7e86ca4783fbcedf0584c4608df7c1c
    10308 Merge: 001f8a9 ca03c73
    10309 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10310 Date:   Sun Dec 5 01:21:11 2010 +0100
    10311 
    10312     Merge branch 'SelectMoleculesByOrderAction' into stable
    10313 
    10314 commit 001f8a9151f2367cc32119fef0f83b2bfdaf9222
    10315 Merge: f03705f cabb467
    10316 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10317 Date:   Sun Dec 5 01:21:03 2010 +0100
    10318 
    10319     Merge branch 'ExtendLoadSaveXyztoAnyFormatParser' into stable
    10320 
    10321 commit ca03c737b18c4f2c7a74bb5afa10aef73a7369e8
    10322 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10323 Date:   Sat Dec 4 23:22:31 2010 +0100
    10324 
    10325     Added select-molecule-by-order Action.
    10326 
    10327 commit cabb4679cb9a88d3965bf3c046c49ed900a21865
    10328 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10329 Date:   Sat Dec 4 22:23:07 2010 +0100
    10330 
    10331     Extended LoadXyz and SaveXyz to any format.
    10332    
    10333     - renamed ParserAction/LoadXyz -> MoleculeAction/Load (same with Save).
    10334     - also changed .def for both.
    10335     - LoadAction then uses stuff from InputAction but without output name setting.
    10336     - new function FormatParserStorage::put() which is opposite to get and stores
    10337       world to a given ofstream with type from suffix.
    10338     - SaveAction uses new FormatParserStorage::put().
    10339     - short form of LodAction is "l" not "p"
    10340     - short form of SaveAction is "s", ScaleBox has no short form anymore
    10341    
    10342     Testchanges:
    10343     - copied all from Simple_configuration/2/pre to ./post.
    10344     - changes to test.conf:
    10345        MaxPsiStep (if 0 given, then 3 is set).
    10346        MaxMinGapStopStep (if 0 given, then 1 is set).
    10347        InitMaxMinGapStopStep (if 0 given, then 1 is set).
    10348     - changes to test.pdb:
    10349        segName is tes (from _tes_t.pdb) not non.
    10350        Obtaining molecule names from pdb file's segName is not implemented yet.
    10351     - ParserCommonUnitTest::rewriteAnXyzTest(), we don't check for string equality
    10352       but parse the output stream again and check whether first and second half
    10353       of all atoms are equal with respect to position and element.
    10354     - all regression test that diff an xyz file now use -I '.*Created by....*'
    10355     - changed regression tests with respect to changed short forms.
    10356 
    10357 commit f03705f696ab4a9d6c37935af9a29048f199bdf9
    10358 Merge: 6e06bd5 e828c07
    10359 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10360 Date:   Sun Dec 5 01:19:33 2010 +0100
    10361 
    10362     Merge branch 'SubspaceFactorizer' into stable
    10363 
    10364 commit 6e06bd5894042aa085863fea17cf566f42e7a31b
    10365 Merge: 589112b bbf1bd9
    10366 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10367 Date:   Sun Dec 5 01:19:19 2010 +0100
    10368 
    10369     Merge branch 'MatrixVectorContentRefactoring' into stable
    10370 
    10371 commit 589112be6795a12a7a887ba4005dda978bda9870
    10372 Merge: 5d4b731 a01144e
    10373 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10374 Date:   Sun Dec 5 01:18:31 2010 +0100
    10375 
    10376     Merge branch 'FixingMemDebugChunks' into stable
    10377 
    10378 commit 5d4b731ab716069a5f604dfb95a1db006dfeaba1
    10379 Merge: 41e15b8 d754bbb
    10380 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10381 Date:   Sun Dec 5 01:17:34 2010 +0100
    10382 
    10383     Merge branch 'MenuStructureChange' into stable
    10384 
    10385 commit 41e15b8d296401abbd6d9901e3ad1a9692986df2
    10386 Merge: 0af7ef3 b295ca6
    10387 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10388 Date:   Sun Dec 5 01:16:53 2010 +0100
    10389 
    10390     Merge branch 'FixLexicalCastTextDialog_QtQueryListPipe' into stable
    10391 
    10392 commit 4fbca9c2b6785a7839394eeab5fe9c6dad6c28cd
    10393 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10394 Date:   Sat Dec 4 19:05:33 2010 +0100
    10395 
    10396     PdbParser::save() fully working.
    10397    
    10398     - added UnitTest for PdbParser.
    10399     - split ParserUnitTest into Common and Tremolo.
    10400     - split off classes PdbAtomInfoContainer and PdbKey into own modules.
    10401     - PdbParser can now load ATOM and CONECT entries.
    10402 
    10403 commit e828c07cc83828399b494f75295e73daf5ad0852
    10404 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10405 Date:   Sat Dec 4 19:10:56 2010 +0100
    10406 
    10407     SubspaceFactorizer is now hierarchical.
    10408    
    10409     - higher order subspace matrices are only corrections to lower order ones.
    10410     - i.e. eigenvectors obtained from there have all lower ones projected and
    10411       substracted.
    10412 
    10413 commit 1fb318e13ebc1029d5ba1a68d3b01c62237ab05b
    10414 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10415 Date:   Sat Dec 4 19:11:17 2010 +0100
    10416 
    10417     Added helper template function: ConvertTo() that converts a string to a desired value.
    10418 
    10419 commit 286af5fb9ad803eaed15af491597fbf6b924d817
    10420 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10421 Date:   Mon Nov 22 19:00:17 2010 +0100
    10422 
    10423     SubspaceFactorizerUnittest::SubspaceTest() - fully working compared to EigenvectorTest().
    10424    
    10425     - we also have an iteration and the results are exactly the same for a 3x3
    10426       matrix at run 2 and 9.
    10427     - classes Eigenspace and Subspace are thus for now fully working.
    10428 
    10429 commit 7d059dd842ec69d4f92d90a9d682739b6028ab89
    10430 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10431 Date:   Mon Nov 22 18:59:56 2010 +0100
    10432 
    10433     SMALLFIX: MatrixContent::setIdentity() - made cast from bool to double explicit.
    10434 
    10435 commit 9f9b5a8050ebe660ec28f9e48b98cdc192c90821
    10436 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10437 Date:   Mon Nov 22 18:27:26 2010 +0100
    10438 
    10439     Added some template operator<<() functions for std::list,map,multimap,set,vector.
    10440 
    10441 commit a06042e843c266378c28a07d857634215eb6f8b9
    10442 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10443 Date:   Mon Nov 22 17:23:18 2010 +0100
    10444 
    10445     SubspaceFactorizerUnittest::SubspaceTest() enhanced.
    10446    
    10447     - Now projection matrices and therefrom eigenspace matrices are constructed
    10448       correctly.
    10449 
    10450 commit 58605562acab64d92776eafdb01c18caf23d7b60
    10451 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10452 Date:   Mon Nov 22 17:22:59 2010 +0100
    10453 
    10454     Made VectorContent::operator=() ASSERT more verbose.
    10455 
    10456 commit 9c529645733d09290760e9ebeff51081f40223b8
    10457 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10458 Date:   Mon Nov 22 15:57:20 2010 +0100
    10459 
    10460     New classes Eigenspace and Subspace that contain eigen(sub)spaces.
    10461    
    10462     - also added new test to SubspaceFactorizerUnitTest::Subspacetext().
    10463      - so far only constructs the full and nested sub spaces.
    10464 
    10465 commit f5bca22b78eaf9625472526767aee30ef21eac07
    10466 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10467 Date:   Mon Nov 22 12:10:57 2010 +0100
    10468 
    10469     SubspaceFactorizer now has the matrix dimension as an enum.
    10470 
    10471 commit 74237190563beadc942e60dbd56f5fd7b388031b
    10472 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10473 Date:   Thu Nov 18 19:24:28 2010 +0100
    10474 
    10475     Subspace Factorizer is almost working.
    10476    
    10477     - for the testing (4x4) matrix, the middle eigenvectors are good, but the
    10478       smallest and biggest are off by a few percent, yet converged ...
    10479 
    10480 commit a062e1a2664e207eac45146412e88672ce76b9c9
    10481 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10482 Date:   Thu Nov 18 19:22:14 2010 +0100
    10483 
    10484     BUGFIX: MatrixContent::operator*=(MatrixContent&)'ASSIGNS were wrong.
    10485    
    10486     - for a product with another matrix, not lhs.row==rhs.row, but rhs squared and
    10487       lhs.columns == rhs.rows.
    10488 
    10489 commit 14cce656977d7ff643161db58293c9cca7ab5f3b
    10490 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10491 Date:   Thu Nov 18 19:21:41 2010 +0100
    10492 
    10493     New getter for VectorContent::dimension.
    10494 
    10495 commit aab177d98e690f1248a0b4baa792a2038f929536
    10496 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10497 Date:   Thu Nov 18 19:20:51 2010 +0100
    10498 
    10499     BUGFIX: MatrixContent::getColumnVector() and MatrixContent::getRowVector() had calls to gsl_... swapped.
    10500 
    10501 commit 35fbef23b9da4ffe3159ed9a4a1fd9672698a932
    10502 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10503 Date:   Thu Nov 18 19:20:11 2010 +0100
    10504 
    10505     BUGFIX: MatrixContent::get...() not const member functions as should be.
    10506 
    10507 commit 3da2fb469f9384e940eef17ba9935099f76b7967
    10508 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10509 Date:   Thu Nov 18 15:55:04 2010 +0100
    10510 
    10511     New module MatrixVector_ops that contains matrix vector products.
    10512    
    10513     - all functions are made friend of Vector, VectorContent and MatrixContent as
    10514       needed. Hence, has to be in distinct header file from these.
    10515 
    10516 commit 694eaeaa8cfed90f0d1a6fcce33a04b118565314
    10517 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10518 Date:   Thu Nov 18 15:53:46 2010 +0100
    10519 
    10520     Implemenation of Vector::Norm(), ... now depend on VectorContent.
    10521    
    10522     - made operator*[=](double) into member functions.
    10523 
    10524 commit 3dd9c7ca1b89a4b30a84806b5db5b0fa21e6fcca
    10525 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10526 Date:   Thu Nov 18 15:50:54 2010 +0100
    10527 
    10528     New functions for VectorContent, partially copied from Vector.
    10529    
    10530     - new: Norm(), NormSquared(), Normalize(), getNormalized().
    10531     - implemented: DistanceSquared(), ScalarProduct(), Angle().
    10532     - FIX: operator*(VectorContent) is const member now.
    10533 
    10534 commit 40be553e468c5432cecad628aa323b3b2a23cf28
    10535 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10536 Date:   Tue Nov 16 16:43:58 2010 +0100
    10537 
    10538     Current stable version of SubspaceFactorizer.
    10539    
    10540     can:
    10541     - functions embedSubspaceMatrix() and getSubspaceMatrix() to embed and to
    10542       obtain the small block matrix from/in a big one
    10543     - we construct the index set
    10544     - we construct the block matrices
    10545     - we solve the eigensystems
    10546     - we transfer the eigenvalues back
    10547     - we associate to original eigenvectors by parallelness, uniquely within a
    10548       subset of indices.
    10549     - we construct the new set of eigenvectors by averaging.
    10550    
    10551     can't:
    10552     - resulting ev are not orthonormalized or checked to be
    10553     - no iteration yet
    10554 
    10555 commit 0fd3f24772a3babab73bf386ab1328777738a36e
    10556 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10557 Date:   Tue Nov 16 16:43:30 2010 +0100
    10558 
    10559     Scalar product operator implemented, taken from Vector.
    10560 
    10561 commit f453d2ed88e83b50d828778afe4b41f3afb313a3
    10562 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10563 Date:   Tue Nov 16 16:43:17 2010 +0100
    10564 
    10565     New VectorContent copy constructor for gsl_vector.
    10566 
    10567 commit 60dada681c8d81d228c315a78be44fcee3bdc6f4
    10568 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10569 Date:   Tue Nov 16 16:41:53 2010 +0100
    10570 
    10571     Added getter for MatrixContent:rows and ::columns, and for Row/Column/DiagonalVector.
    10572    
    10573     - RealSpaceMatrix::createViews() uses these get functions now.
    10574 
    10575 commit 4c57fbfc2c8aed284634ebccfde4fc6d01292498
    10576 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10577 Date:   Tue Nov 16 14:20:29 2010 +0100
    10578 
    10579     FIX: _object for toString() can and has to be const without any loss.
    10580 
    10581 commit d85c28d0a60ffc7686e3aab064475dce354a5cbb
    10582 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10583 Date:   Tue Nov 16 13:33:51 2010 +0100
    10584 
    10585     Added Hadamard product by overloading MatrixContent::operator&(..) and operator&=(..).
    10586    
    10587     - the Hadamard product is a component-wise product which we need for
    10588       subspace factorization.
    10589 
    10590 commit 04146220b0862ff96425b73f0ee9076a31b357ce
    10591 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10592 Date:   Tue Nov 16 13:22:39 2010 +0100
    10593 
    10594     BUGFIX: operator<< for VectorContent placed "," at wrong position.
    10595 
    10596 commit 17fa816510f6b950b8a5edbeacf4f3cd95693f08
    10597 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10598 Date:   Tue Nov 16 12:42:47 2010 +0100
    10599 
    10600     MatrixContent::transformToEigenbasis() also working for non-symmetric real matrices.
    10601    
    10602     - we don't have to look for zero columns OR rows, as eigenvectors are stored
    10603       column-wise and eigenvalues give clear identification of the right/non-zero
    10604       ones.
    10605     - also added ASSERT to MatrixContent::operator*().
    10606 
    10607 commit 5eec98fc74e20ebf464cd1f75c19e0d45b825c07
    10608 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10609 Date:   Tue Nov 16 12:22:30 2010 +0100
    10610 
    10611     Subspacefactorizer can now be linked with just GSLLIBS.
    10612    
    10613     - i.e. we don't need ALLLIBS anymore.
    10614 
    10615 commit 13d1504cb6c549a18c96fb24463172b5f411e4c2
    10616 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10617 Date:   Tue Nov 16 12:21:40 2010 +0100
    10618 
    10619     Moved leastsquaremin.?pp to LinearAlgebra.
    10620    
    10621     - changed Makefile.am and LinearAlgebra/Makefile.am.
    10622     - changed include in molecule.cpp, molecule_geometry.cpp and vector_ops.cpp.
    10623 
    10624 commit 6d5a104a348d8b5b9e69f59a022509811fb750cc
    10625 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10626 Date:   Tue Nov 16 12:17:37 2010 +0100
    10627 
    10628     Added/Sorted some includes in LinearAlgebra and Exceptions.
    10629 
    10630 commit e4fe8d6bab9cf4dd5525442cf6174806c453318a
    10631 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10632 Date:   Tue Nov 16 12:16:06 2010 +0100
    10633 
    10634     Moved defs.?pp to subdir (and library) Helpers.
    10635    
    10636     - hence, include had to be changed to Helpers/defs.hpp
    10637     - and Makefile.am and Helpers/Makefile.am adapted
    10638     - also in LinearAlgebra where MYEPSILON appears we have added the above include
    10639 
    10640 commit ef0c6bec93c0171ad946293a423b49bee2708b58
    10641 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10642 Date:   Tue Nov 16 12:08:02 2010 +0100
    10643 
    10644     Deleted gslvector.?pp from repository.
    10645 
    10646 commit 8e9ce1f9895161c968ecfcdfd3228bebdd711671
    10647 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10648 Date:   Tue Nov 16 11:42:35 2010 +0100
    10649 
    10650     Added MatrixViewContent to allow views on blocks of a gsl_matrix.
    10651    
    10652     - dummy struct BaseCase is now Matrix/VectorBaseCase.
    10653 
    10654 commit b4cf2b752620d3a300d2fa3fef55de302a2b7065
    10655 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10656 Date:   Tue Nov 16 10:45:32 2010 +0100
    10657 
    10658     First commit of SubspaceFactorizerUnitTest.
    10659 
    10660 commit bbf1bd95420fd2556318900509aeb2a2b49865e8
    10661 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10662 Date:   Mon Nov 15 21:00:30 2010 +0100
    10663 
    10664     Extended VectorContent class.
    10665    
    10666     - VectorContent formerly has been just a structure to contain the gsl_vector
    10667       due to forward declaration reasons.
    10668     - now VectorContent is a true wrapper to gsl_vector, i.e. all functionality
    10669       that is now specific to 3 dimensions has been shifted from GSLVector over to
    10670       VectorContent.
    10671     - VectorContentView is preserved to allow for VectorContent as a view on a
    10672       row or column of a matrix.
    10673     - changed and renamed unit test gslvectorunittest -> VectorContentUnitTest
    10674     - GSLVector is not used anymore anywhere
    10675     - one long-sough error was a missing assignment operator filled-in in a wrong
    10676       manner by the compiler for VectorContent.
    10677    
    10678     Note that:
    10679     - gsl_vector is still used at many places
    10680 
    10681 commit 5ada941f20587a943dbda6033b6e4d8c01b3ce67
    10682 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10683 Date:   Mon Nov 15 15:06:20 2010 +0100
    10684 
    10685     Removed files gslmatrix.?pp.
    10686    
    10687     - also removed last include in vector_ops.cpp.
    10688 
    10689 commit 6c1cd12eee33413bbb6cb70f425ff114bacb2e5b
    10690 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10691 Date:   Mon Nov 15 15:04:49 2010 +0100
    10692 
    10693     tempfix: typo in MatrixContent::...pointer contained ref to GSLMatrix.
    10694 
    10695 commit c134d91b31b1473ed8101493c441a723f670152a
    10696 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10697 Date:   Mon Nov 15 15:04:02 2010 +0100
    10698 
    10699     tempfix: removed transpose ... messages.
    10700 
    10701 commit 0d4424de796ea0eb6de8098859070b5acdb6edae
    10702 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10703 Date:   Mon Nov 15 15:02:38 2010 +0100
    10704 
    10705     Made gslmatrix obsolete.
    10706    
    10707     - Transfered property and swap...() functions from GSLMatrix to MatrixContent.
    10708     - Line::getIntersection() uses now MatrixContent.
    10709     - made unit tests for gslmatrix into unit test for MatrixContent.
    10710 
    10711 commit cca9efb7bf18583f35d0380acb97e9034c42bbe7
    10712 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10713 Date:   Mon Nov 15 13:58:27 2010 +0100
    10714 
    10715     Renamed Matrix to RealSpaceMatrix.
    10716    
    10717     - class Matrix only represents 3x3 matrices, whereas we are now going to
    10718       extend the class MatrixContent to contain arbritrary dimensions.
    10719     - renamed class and file
    10720 
    10721 commit 3bc9264606122a0c59b0d7bf20669cc353efbbec
    10722 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10723 Date:   Mon Nov 15 13:36:18 2010 +0100
    10724 
    10725     Extended MatrixContent class.
    10726    
    10727     - MatrixContent formerly has been just a structure to contain the gsl_matrix
    10728       due to forward declaration reasons.
    10729     - now MatrixContent is a true wrapper to gsl_matrix, i.e. all functionality
    10730       that is now specific to 3 dimensions has been shifted from Matrix over to
    10731       MatrixContent.
    10732 
    10733 commit 9eb7580cd9f1b192263dddcbef45a27b39fc5eca
    10734 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10735 Date:   Mon Nov 15 11:29:25 2010 +0100
    10736 
    10737     Renamed Matrix setter functions to unify naming.
    10738    
    10739     - Matrix::one -> Matrix::setIdentity
    10740     - Matrix::zero -> Matrix::setZero
    10741     - Matrix::rotation -> Matrix::setRotation
    10742 
    10743 commit cfc53b40fcd322688790ea68e3e591670d3880ae
    10744 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10745 Date:   Mon Nov 15 11:24:24 2010 +0100
    10746 
    10747     Added template function toString(), is included in Assert.hpp.
    10748    
    10749     - std::string() only works on char* not e.g. int. There we have to use
    10750       stringstream. This function encapsulates this conversion.
    10751 
    10752 commit a01144ecd22d2dc72de922a73d53eb3e8a06c02b
    10753 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10754 Date:   Thu Nov 11 19:49:23 2010 +0100
    10755 
    10756     MEMFIX: quitAction is not free'd anymore.
    10757    
    10758     - this is done by ActionRegistry, as it is registered.
    10759     - also we empty returnFromActions list properly.
    10760 
    10761 commit 0e08d58b5b181aaa9bc39669605f110092dab17f
    10762 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10763 Date:   Thu Nov 11 19:48:45 2010 +0100
    10764 
    10765     MEMFIX: Submenus were not free'd.
    10766    
    10767     - introduced list of submenus to class TextMenu.
    10768     - Submenu TextMenus are deleted in destructor of TextMenu.
    10769     - also ShortcutMap is cleared there.
    10770     - in TxMenu list of MenuItems is properly erased now.
    10771 
    10772 commit b2151f5f3c6feafd6bdc52bcb8ae01e32953dec6
    10773 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10774 Date:   Thu Nov 11 19:45:09 2010 +0100
    10775 
    10776     Removed some virtual keywords in front of classes that are not base classes, but only derived ones.
    10777 
    10778 commit c82d0c82d4b642535ea65dae019a045eb40cf376
    10779 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10780 Date:   Thu Nov 11 19:43:28 2010 +0100
    10781 
    10782     MenuDescription is now a singleton.
    10783    
    10784     - also all Maps are static objects, allocated and filled dynamically in the
    10785       constructor, removed in the destructor.
    10786 
    10787 commit d5240d74405d4ff10e28079491467650d6a36d25
    10788 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10789 Date:   Thu Nov 11 15:39:10 2010 +0100
    10790 
    10791     FIX: Linking to non-system boost is working now.
    10792    
    10793     - FIX: BOOST_CPPFLAGS was not present in AM_CPPFLAGS in all Makefile.am
    10794     - Hence, not the correct includes were used and linking occured with undefined
    10795       reference errors (because of version conflict between system-wide installed
    10796       and non-system boost)
    10797     - validate()s now make version check of boost as signature of
    10798       validation_error)_ changed in boost 1.42
    10799     - added AX_BOOST_SYSTEM to configure.ac and BOOST_SYSTEM_LIB to src/Makefile.am
    10800       and src/unittests/Makefile.am. Otherwise we have to set an rpath to let
    10801       it find the lib needed by other boost libs in non-system boost configs.
    10802 
    10803 commit ae21cbd6997bd376bb6a338f21a97f19796d175b
    10804 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10805 Date:   Wed Nov 10 15:21:55 2010 +0100
    10806 
    10807     MEMFIX: new function AddStaticEntitiestoIgnoreList() for putting static variables on ignore list.
    10808    
    10809     - static classes still may have dynamically allocated contents in their
    10810       constructors. Hence, we have to put their contents - which will get
    10811       deleted - into the Memory::ignore map to avoid their admonishing.
    10812 
    10813 commit 41449c171ea776d7dcc91a7b1eaaa12893873edd
    10814 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10815 Date:   Tue Nov 9 22:56:18 2010 +0100
    10816 
    10817     MEMFIX: Action::success and Action::failure are not recognized by MemDebug.
    10818    
    10819     - Although these are placed into boost::share_ptr with Memory::ignore, this
    10820       does not work out of the same reasons we have given in the last commit:
    10821       boost::shared_ptr makes same dynamic allocation which is not ignored.
    10822     - Hence, we have a new (static) function removeStaticStateEntities() that
    10823       calls reset() on these shared_ptrs and which is called in cleanUp().
    10824 
    10825 commit 052afe13bdc0d95e03536a565fb005e73ef89520
    10826 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10827 Date:   Tue Nov 9 17:16:58 2010 +0100
    10828 
    10829     MEMFIX: ofstreams in ...logger.hpp as static objects were not recognized by MemDebug.
    10830    
    10831     - now they are allocated via new in the constructor of the ...logger's.
    10832     - Calling new ofstream(..) globally would cause segfaults in some unit tests.
    10833     - Constructor is private (due to logger's being singletons), hence this is safe.
    10834    
    10835     NOTE: the problem is not the static object itself, but what is allocated
    10836     dynamically inside the object's constructor (this also concerns previous
    10837     fixes)
    10838 
    10839 commit 694d841455d8fa728517b6d9113d7a59531897be
    10840 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10841 Date:   Tue Nov 9 16:42:30 2010 +0100
    10842 
    10843     MEMFIX: static factories map of UIFactory was not clear()'ed in destructor.
    10844    
    10845     - hence, boost::shared_ptr still had a user and have not been deleted.
    10846     - TESTFIX: ActionSequenceTest and manipulateAtomsTest segfault.
    10847      - the problem was the static hasDescriptor boolean. It made the dummy factory
    10848        getting registered only once, despite its being removed during UIFactory::
    10849        purgeInstance() in tearDown().
    10850      - hasDescriptor is now a member variable and set to false in tearDown().
    10851 
    10852 commit 95c0abf00cb1dbccd2cda17e2e09fc0f295e2ffd
    10853 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10854 Date:   Tue Nov 9 16:16:40 2010 +0100
    10855 
    10856     MEMFIX: MemDebug was confused by const Action objects, changed to dynamically allocated.
    10857    
    10858     - before we used: const ACTION INSTANCE, now we allocate via new.
    10859 
    10860 commit d2b28f15457da25888fab2bdd7e87cf6216948e4
    10861 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10862 Date:   Tue Nov 9 16:13:12 2010 +0100
    10863 
    10864     Added missing MemDebug include to various implementation files.
    10865 
    10866 commit d754bbb30af7537ab3706f0b5cec46f0acb27940
    10867 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10868 Date:   Tue Nov 9 16:03:10 2010 +0100
    10869 
    10870     All TextQuery now show getDescription()+": " on handle() call.
    10871    
    10872     - getTitle() is only a token ... not a description
    10873 
    10874 commit 5eebbc78b9dba5f107dc6b3f23314d94c91f7469
    10875 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10876 Date:   Tue Nov 9 16:02:27 2010 +0100
    10877 
    10878     FIX: FileTextQuery was not working properly.
    10879    
    10880     - somehow getline from std::cin does not work ... but std::cin >> ... does
    10881 
    10882 commit 670cd1cb385612d421aad5ee421eab45bc65f878
    10883 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10884 Date:   Mon Nov 8 18:19:07 2010 +0100
    10885 
    10886     FIX: Missing MemDebug.hpp before TextMenu template declaration.
    10887 
    10888 commit 1e086111afdb5ad88cee32c659e63cfd0cef4a02
    10889 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10890 Date:   Mon Nov 8 17:48:38 2010 +0100
    10891 
    10892     Qt stuff is not compiled into libMolecuilder but libMolecuilderQtUI.
    10893 
    10894 commit 87db7aecda4c8363f0b67c5eab5d571842b9c9a0
    10895 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10896 Date:   Mon Nov 8 15:19:35 2010 +0100
    10897 
    10898     Moved declaration for all CommandLineQuery.. into own header file.
    10899    
    10900     - Query module just need this header file.
    10901     - CommandLineDialog declaration just has forward declarations.
    10902 
    10903 commit a5ddf04694c4e27ef6c7c442361c2092c16af622
    10904 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10905 Date:   Mon Nov 8 15:06:23 2010 +0100
    10906 
    10907     All Qt...QueryPipe now have their own header file.
    10908    
    10909     - Query just include the QueryPipe they need.
    10910     - old declarations moved out of QtDialog.hpp which became a lot slimmer in the
    10911       process.
    10912 
    10913 commit 308aa43f3e30fb9a88d9923d90ff3940289ce5a3
    10914 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10915 Date:   Mon Nov 8 14:22:05 2010 +0100
    10916 
    10917     Moved declaration for all QtQuery.. into own header file.
    10918    
    10919     - Query module just need this header file.
    10920     - QtDialog declaration just has forward declarations.
    10921 
    10922 commit 738ae1e8b6d1be253565c15e50c3cb7b0cdfabba
    10923 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10924 Date:   Mon Nov 8 14:05:32 2010 +0100
    10925 
    10926     Moved declaration for all TextQuery.. into own header file.
    10927    
    10928     - Query module just need this header file.
    10929     - TextDialog declaration just has forward declarations.
    10930 
    10931 commit 3a21a725fe8654c46053fbab3d721519872c4fa0
    10932 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10933 Date:   Mon Nov 8 14:04:37 2010 +0100
    10934 
    10935     Moved validate() functions for boost::program_options into own module.
    10936    
    10937     - removed from CommandLineParser.cpp.
    10938 
    10939 commit e9be39efd3548091ce2ee01c2e279982afc4c11d
    10940 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10941 Date:   Mon Nov 8 13:32:45 2010 +0100
    10942 
    10943     Renamed SeperatorItem -> SeparatorMenuItem.
    10944    
    10945     - in files and declarations.
    10946 
    10947 commit f0f9a60bdc0af971268af45d96cd8b8a9875cb05
    10948 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10949 Date:   Mon Nov 8 13:15:08 2010 +0100
    10950 
    10951     Placed TxMenu::LeaveAction implementation and declaration into its own module.
    10952    
    10953     - TxMenu now only contains forward declaration
    10954 
    10955 commit 8f3f407211aab85d7d899e17a7d633813f02ad83
    10956 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10957 Date:   Mon Nov 8 11:31:40 2010 +0100
    10958 
    10959     Added documentation on the new menu structure.
    10960 
    10961 commit 0af7ef3b3ed30f65ad3059fd8a14ef773be0e070
    10962 Author: heber <heber@ins.uni-bonn.de>
    10963 Date:   Wed Nov 10 15:11:13 2010 +0100
    10964 
    10965     MEMFIX: quitAction is still deleted in TextWindow's destructor.
    10966    
    10967     - deletion is done by ActionRegistry, where is is registered.
    10968 
    10969 commit b59da6e8dbaa0c9c1ed4e190d2b7cd4ccec6152a
    10970 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10971 Date:   Mon Nov 8 10:36:45 2010 +0100
    10972 
    10973     Refactoring of Menu structure for Qt and Text UI done.
    10974    
    10975     - Menu is now the initialising class for the menu structure.
    10976     - MenuInterface contains virtual declarations of all functions that Menu needs
    10977       to call.
    10978     - TextMenu and QtMenu are templated classes which contain both Menu and
    10979       MenuInterface and implement the virtual functions.
    10980     - class TxMenu and its ...MenuItems contain most of the old Menu code for the
    10981       text-based system. Most of the stuff, such as triggers, are now hidden
    10982       internally.
    10983     - in ..MainWindow() we basically just construct the desired Menu and
    10984       call init at the correct time.
    10985 
    10986 commit 5813ac0cc79578b47db146eb94c5be04a9e6ac7b
    10987 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10988 Date:   Sat Dec 4 23:54:22 2010 +0100
    10989 
    10990     FIX: forgot to move using boost::lexical_cast from TextDialog to QtQueryListPipe.
    10991 
    10992 commit b295ca6bd0b38b48a6070c17818c7b8f1ab98686
    10993 Author: Frederik Heber <heber@ins.uni-bonn.de>
    10994 Date:   Sat Dec 4 23:54:22 2010 +0100
    10995 
    10996     FIX: forgot to move using boost::lexical_cast from TextDialog to QtQueryListPipe.
    10997 
    10998 commit ffb9ad3ad26c892a8aa0013c675637237728b887
    10999 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11000 Date:   Mon Nov 1 21:29:58 2010 +0100
    11001 
    11002     FIX: Menu entries are again correctly added to QtGui part.
    11003    
    11004     - also expanded MenuDescriptions to contain position for each menu and submenuing.
    11005     - MenuDescriptions::MenuSet was replaced by MenuPositionMap which is iterable.
    11006 
    11007 commit e262c76e616587e3eb48650a71afa8c79d2eeb09
    11008 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11009 Date:   Mon Nov 1 18:26:54 2010 +0100
    11010 
    11011     Removed conversion scripts for ActionTraits refactoring.
    11012 
    11013 commit 7cb4501e7de75b105a08a21b90edfc17c59e2e9f
    11014 Merge: c38826b 76cec6c
    11015 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11016 Date:   Tue Nov 9 16:37:52 2010 +0100
    11017 
    11018     Merge branch 'FixOptionRegistryMemLeak' into stable
    11019 
    11020 commit 76cec6c27521e13434c84ce3ad89ba64ea437510
    11021 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11022 Date:   Tue Nov 9 16:35:53 2010 +0100
    11023 
    11024     MEMFIX: OptionRegistry has not been purged in cleanUp().
    11025 
    11026 commit c38826b3bf15f17943193456d55be73246628ebd
    11027 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11028 Date:   Mon Nov 1 18:26:25 2010 +0100
    11029 
    11030     Removed debug statements in ..Traits() constructors.
    11031 
    11032 commit e4afb4b989433224538ab4ba0f471e4573bbeaf2
    11033 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11034 Date:   Sat Oct 30 21:55:54 2010 +0200
    11035 
    11036     Huge refactoring: Introduction of Traits to Actions.
    11037    
    11038     This change is really big but the introduction of the Trait concept (at least
    11039     in its current light form) is so fundamental that lots of pieces had to be
    11040     changed in order to get everything working.
    11041    
    11042     The main point why it was necessary to add these traits in the first place was
    11043     to comfortably allow for adding extension of Actions information-wise, i.e.
    11044     with stuff that is only important for the QtUI, such as icons, or tooltips, ...
    11045     This extra information should not be stored with Action itself, as it has
    11046     nothing to do with the workings of the Action. And neither should it get
    11047     stored with some blown-out-of-proportions MapOfActions class ...
    11048    
    11049     The gist of the change is as follows:
    11050     - OptionTrait contains the token, description, shortform and type of an option,
    11051       such as ("position", "position in space, none, typeid(Vector)).
    11052     - ActionTrait is the derived form for actions where additionally MenuPosition
    11053       and MenuName are stored (and probably more to come for the GUI), also
    11054       we have a set of OptionTrait instances, one for each option of the Action.
    11055     - Action then contains this ActionTrait, specialized for each Action.
    11056     - the preprocessor macros have been enhanced to gather all this information
    11057       from the .def files.
    11058     - MapOfActions is gone. Completely. Most of its use was to store this extra
    11059       information and the ValueStorage part now is just in class ValueStorage.
    11060     - ValueStorage is no more an interface to MapOfActions but as the name says
    11061       a (type-safe) ValueStorage.
    11062    
    11063     Listing the (remaining) changes in alphabetical order of the class:
    11064     - Action
    11065       - member value ::name dropped, ::getName() uses ActionTraits::getName()
    11066       - new define NODEFAULT which is used in paramdefaults in .def files
    11067       - all derived actions classes such as Process, Calculations, MakroAction,...
    11068         have been adapated to use the ActionTrait concept as well.
    11069    
    11070     - ActionHistory
    11071       - extraced RedoAction and UndoAction, shifted implementation into their own
    11072         object files and they use .def files as well (i.e. streamlined with method
    11073         used for other actions)
    11074    
    11075     - CommandLineParser
    11076       - CommandLineParser goes through ActionRegistry to get arguments and types to
    11077         add
    11078       - we use TypeEnumContainer which before was present in MapOfActions,
    11079         as CommandLineParser::AddOptionsToParser() needs enums in its switch
    11080         statement, we can't switch on types and types are not known until
    11081         run-time. Hence, templates won't do either.
    11082       - ShortFormMap is created here now (and used here only)
    11083       - File was moved over to UIElements/CommandLineUI.
    11084    
    11085     - MenuDescription
    11086      - contain information on Menus such as name, ...
    11087      - new unit test checks for consistency
    11088    
    11089     - molecule
    11090       - const member functions: Copy(), Output() and OutputBonds()
    11091    
    11092     - OptionRegistry
    11093       - new registry class for options only
    11094       - we want the same type throughout the code for each token, e.g. "position"
    11095       - the registry containts checks for consistency
    11096    
    11097     - OptionTrait
    11098       - default values are specified in paramdefaults, none are given by NODEFAULT
    11099       - introduced default for translate-atoms, point-correlation, pair-correlation
    11100    
    11101     - Registry pattern
    11102      - new unit test, but only sceleton code so far
    11103    
    11104     - ...Query, also ...Pipe
    11105      - atoms, molecule and elements are now all const
    11106      - also ValueStorage's signatures all have const therein
    11107    
    11108     - ValueStorage
    11109       - set/queryCurrentValue from MapOfActions
    11110       - at times VectorValue has been in .def files where Vector was in the
    11111         signature. This is cleared. Such stuff is only present for e.g. BoxVector
    11112         being queried as a Vector. But this is a feature and intended.
    11113    
    11114     - World
    11115      - most of the (un)selection functions now work on const atoms and molecules
    11116      - in one case we need a const_cast to remove this, but this is intentional,
    11117        as the vector of selected atoms stores non-const pointers and this is ok.
    11118    
    11119     There is only one test which had to be changed slightly because a specific
    11120     option token as "position" must now have the same type everywhere, e.g. always
    11121     Vector.
    11122     - TESTFIX: Simple_configuration/2: --position -> --domain-position (and
    11123       associated to BoxVector)
    11124 
    11125 commit 23359f078466fee0fe57f86bed6e93885acb877e
    11126 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11127 Date:   Sat Oct 30 21:53:44 2010 +0200
    11128 
    11129     Assert's internal check now uses std::string instead of const char *.
    11130    
    11131     - This allows for stuff like: "i = "+std::string(i)+" is too big"
    11132     - no changes are necessary elsewhere
    11133 
    11134 commit c1012b535514cd90386af7e9511caed69adfc649
    11135 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11136 Date:   Tue Oct 26 16:14:41 2010 +0200
    11137 
    11138     Constructor of TextMenu now takes const string as 2nd argument.
    11139 
    11140 commit 20d46cdad72d15ed708a6d07cac8d9a32eacb773
    11141 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11142 Date:   Tue Oct 26 16:14:20 2010 +0200
    11143 
    11144     FIX: Removed unnecessary MapOfActions include.
    11145 
    11146 commit 53be342642ecc5d8c92481d78bf7924d629aad3f
    11147 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11148 Date:   Tue Oct 26 16:04:10 2010 +0200
    11149 
    11150     ActionTraits returns also MenuName(), MenuPosition(), and also OptionDescriptions().
    11151    
    11152     - is filled within ../src/Actions/Action_impl_header.hpp from MENUNAME and
    11153       MENUPOSITION.
    11154     - OptionDescriptions taken from paramdescriptions and paramtokens.
    11155     - OptionDescrptions are also iterable.
    11156 
    11157 commit 8bcf3f12b38ffa3e7252dadca491edacb57f7d05
    11158 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11159 Date:   Tue Oct 26 15:57:49 2010 +0200
    11160 
    11161     New class MenuDescription containing information on menu items.
    11162    
    11163     - basically, shifted information away from MapOfActions.
    11164 
    11165 commit d57341daabb0139273e143142890dd48dd9c3dd5
    11166 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11167 Date:   Tue Oct 26 15:56:46 2010 +0200
    11168 
    11169     Replaced ACTION::NAME in .def files by contents DESCRPTION.
    11170    
    11171     - in ActionTrait constructor we cannot access Action (i.e. NAME)
    11172     - also, this is inconsistent and errorprone
    11173       - ACTION::NAME has to be remembered as the shortform for an Action beloning
    11174         to the action
    11175       - ACTION may be spelled out and thus also mis-spelled.
    11176     - conversion script contained in src/Actions/convert4.sh.
    11177 
    11178 commit 052bfd8c4d6d461cd6c8c5091bd84124a8586af1
    11179 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11180 Date:   Tue Oct 26 14:24:03 2010 +0200
    11181 
    11182     Added MENUNAME and MENUPOSITION to each Action's .def.
    11183    
    11184     - MENUNAME is lower case of CATEGORY and within ticks "".
    11185     - MENUPOSITION has been extracted from MapOfActions.
    11186     - conversion script is in src/Actions/convert3.sh.
    11187 
    11188 commit fc192f60e82753a72ba51f024fbbd313fb147f0f
    11189 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11190 Date:   Tue Oct 26 14:16:57 2010 +0200
    11191 
    11192     Added paramdescriptions to the .def of all Actions.
    11193    
    11194     - option descriptions from MapOfActions.
    11195     - action description taken for (...::NAME) parameters.
    11196     - conversion script is in src/Actions/convert2.sh.
    11197 
    11198 commit 24fbf3fd91769be68fa1acf1a82f01ac52df3ca1
    11199 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11200 Date:   Tue Oct 26 12:43:36 2010 +0200
    11201 
    11202     All specialization of ActionTraits now contain specific information.
    11203    
    11204     - new defines in Action_impl_header.hpp: DEFAULTVALUE, DESCRiPTION, SHORTFORM,
    11205       TYPEINFO.
    11206     - i.e. removed the MapOfActions' short-wiring.
    11207     - script used for extraction is in src/Actions/convert.sh.
    11208     - we cause a compilation error if DESCRIPTION or TYPEINFO are missing.
    11209     - FIX: added some typeinfos as void where missing.
    11210 
    11211 commit 2a6a2c7c7d2319e0df9b71e8317ab569311ebbd8
    11212 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11213 Date:   Tue Oct 26 11:44:19 2010 +0200
    11214 
    11215     Removed MapOfActions::populateActions().
    11216    
    11217     - Action prototypes are now instantiated within the object file, as they
    11218       register automatically with the ActionRegistry and can henceforth be used.
    11219       - new define INSTANCE with a sort of unique name.
    11220       - instance is const and hence not to be used directly.
    11221       - MapOfActions::populateActions() removed in CommandLineWindow, QtMainWindow
    11222         and TextWindow classes.
    11223       - NOTE: this hopefully remedies the problem of forgetting to add new Actions.
    11224     - Registry does not cleanup() in its destructor, but function may be called
    11225       from derived class if desired.
    11226       - All Action prototypes are destroyed at end of program and hence cleanup()
    11227         would cause memory corruption.
    11228 
    11229 commit bc2990df0e403a03ab9f9fcaeb6c54b49d50ae81
    11230 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11231 Date:   Tue Oct 26 11:34:45 2010 +0200
    11232 
    11233     Using ActionTraits::getDescrption instead of MapOfActions::...
    11234    
    11235     - i.e. this is the short-wiring
    11236     - note that third UI (CommandLine) uses MapOfActions indirectly (through
    11237       CommandLineParser)
    11238 
    11239 commit 4885f85a66df7b06abe99c32b66b07d82405fc5a
    11240 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11241 Date:   Tue Oct 26 11:27:08 2010 +0200
    11242 
    11243     Introduced new getters to MapOfActions and ValueStorage.
    11244    
    11245     - new functions are getCurrentValue (string not as type!), getDescription,
    11246       getShortForm, getType
    11247     - these are need to short-wire Traits through MapOfActions.
    11248 
    11249 commit a8188deed094aea508332ee44b27c211808bf172
    11250 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11251 Date:   Tue Oct 26 11:20:41 2010 +0200
    11252 
    11253     Renaming MapOfActions::CurrentValue -> CurrentValueMap.
    11254 
    11255 commit df32eec66d050ebe15e7e87b16f4dc75abca8de8
    11256 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11257 Date:   Tue Oct 26 11:06:37 2010 +0200
    11258 
    11259     New class ActionTrait(s).
    11260    
    11261     - ActionTrait is the template class that is specialized for every Action.
    11262     - ActionTraits is the interface that is inherited by every specialization.
    11263     - the interface Action contains AcionTraits itself.
    11264     - each specific Action has a specialized ActionTrait<> contained.
    11265    
    11266     note
    11267     - so far, everything is short-wired through MapOfActions.
    11268     - later the specialization will have specific constructors and get info therein.
    11269 
    11270 commit 6e1e107497aecdfcac9e31ef5756edfec6b550c0
    11271 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11272 Date:   Tue Oct 26 10:44:34 2010 +0200
    11273 
    11274     Put cleaning of Registry out of destructor into cleanup() function.
    11275 
    11276 commit 573ca5fad13d63566ba36dd8f4507d519d51fa15
    11277 Merge: 8df74db 6940bb5
    11278 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11279 Date:   Sat Oct 30 20:43:54 2010 +0200
    11280 
    11281     Merge branch 'FixBoostFilesystem' into stable
    11282 
    11283 commit 6940bb556236165ebf89b8495b117042efebb708
    11284 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11285 Date:   Sat Oct 30 20:43:26 2010 +0200
    11286 
    11287     FIX: Forgot to add m4 scripts for boost::filesystem.
    11288 
    11289 commit 8df74dbef13fb1628a8f98eeaac6b7c477e95818
    11290 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11291 Date:   Mon Oct 25 19:11:33 2010 +0200
    11292 
    11293     Split off all ...Query and ...Pipe boilerplate classes.
    11294    
    11295     - each subclass in the dialog nor resides in its own file in a folder called Query (or Pipe).
    11296     - only submoduled (no header files created, except for templated QtQueryListPipe class)
    11297     - includes have been separated
    11298 
    11299 commit 57a6ea1a91e89f394ecb0bdcf58b45e3ca1587e9
    11300 Merge: 9784cf6 379b7e0
    11301 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11302 Date:   Mon Oct 25 19:14:20 2010 +0200
    11303 
    11304     Merge branch 'FixQtRenamed' into RemainingQtQueries
    11305 
    11306 commit 379b7e0da2e4b8cdad2824a51921e5596c46515c
    11307 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11308 Date:   Mon Oct 25 19:13:30 2010 +0200
    11309 
    11310     BUGFIX: Fixed wrong renaming of USE_GUI_QT to USE_GUI_Qt.
    11311 
    11312 commit 9784cf64a18612bd681f2b6731f193dddc39cc25
    11313 Merge: 4cf323d bd23909
    11314 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11315 Date:   Mon Oct 25 16:36:30 2010 +0200
    11316 
    11317     Merge branch 'FixBoostFilesystemintegration' into RemainingQtQueries
    11318 
    11319 commit bd239098c2f3804d7b8294ca80990baa48c79c2e
    11320 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11321 Date:   Mon Oct 25 16:29:06 2010 +0200
    11322 
    11323     BUGFIX: new boost::filesystem led to non-parsing of files.
    11324    
    11325     - BUGFIX: MapOfActions::TypeMap is not only important for set/queryCurrentValue
    11326       but also for CommandLineParser.
    11327       - CommandLineDialog::FileCommandLineQuery::handle() expects
    11328         boost::filesystem::path
    11329       - new validate for boost::filesystem::path
    11330       - AddOptionsToParser was missing case for enum File
    11331       - no enum File in TypeEnumMap
    11332     - BUGFIX: InputAction
    11333      - now setting prefix for all parsers even if filename nor present
    11334      - now always setting name of last inserted molecule in
    11335        World::getInstance().getMolecules()
    11336      - not returning Action::failure when not present, only when not has_filename()
    11337     - BUGFIX: PdbParser and TremoloParser were not inserting, but only creating a new
    11338       molecule
    11339     - BUGFIX: TremoloParser::load() nad no ASSET(false) as it's not implemented.
    11340     - BUGFIX: as molId of 0 may occur, PdbParser::save() prints -1 for homeless atoms now
    11341     - TESTFIX: Simple_configuration/2/test.pdb has molnr of 0 instead of former 1 (see
    11342       above)
    11343 
    11344 commit 4cf323d81658274e55e522306030678b93d2c779
    11345 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11346 Date:   Mon Oct 25 14:08:39 2010 +0200
    11347 
    11348     Renamed QT -> Qt in files, dirs, and class names.
    11349 
    11350 commit 81126aaa1c532d13341be518be2f6758858a3902
    11351 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11352 Date:   Mon Oct 25 11:13:19 2010 +0200
    11353 
    11354     Added ElementsQTQuery, MoleculesQTQuery, VectorsQTQuery.
    11355    
    11356     - note: implementation was present but queries were not registered.
    11357 
    11358 commit 41167c8739c609a9dafeb48042b2cf1989edf758
    11359 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11360 Date:   Mon Oct 25 11:10:22 2010 +0200
    11361 
    11362     Added BoxQTQuery.
    11363 
    11364 commit c96c66b9929d064bdd99474f03b644e0fa4ea88d
    11365 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11366 Date:   Mon Oct 25 10:32:49 2010 +0200
    11367 
    11368     Added Atom(s)QTQuery.
    11369 
    11370 commit ee62e410040b62b213378576c1c85f0f6526af60
    11371 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11372 Date:   Sun Oct 24 22:24:01 2010 +0200
    11373 
    11374     Added BooleanQTQuery.
    11375 
    11376 commit 9d457dd65f4781fc374f639f526e2d46b36dfbf0
    11377 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11378 Date:   Sat Oct 23 16:36:51 2010 +0200
    11379 
    11380     Added EmptyQTQuery.
    11381 
    11382 commit f001ca4daf524d143bf68c17775ef50b2edf5a8a
    11383 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11384 Date:   Sat Oct 23 16:36:11 2010 +0200
    11385 
    11386     FIX: result variable Dialog::FileQuery::tmp is now set. Label added in front of QLineEdit.
    11387 
    11388 commit db7cb048c490f5b4cabe2c62cd255faa628d2cca
    11389 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11390 Date:   Sat Oct 23 16:32:46 2010 +0200
    11391 
    11392     DOCU: Added howto to add queries.
    11393 
    11394 commit 6f5dfe559a8279d64fa1e293a546f8d74ece2ef3
    11395 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11396 Date:   Fri Oct 22 18:13:36 2010 +0200
    11397 
    11398     Added boost::filesystem usage for input files.
    11399    
    11400     - parameters for Action input now have type boost::filesystem.
    11401     - rewritten Actions to use boost::filesystems
    11402     - in the progress of writing FileQtQuery to present a file dialog.
    11403 
    11404 commit e4decc83cfcf83ef6b15c6d95ce0c741a748f8dd
    11405 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11406 Date:   Fri Oct 22 18:12:42 2010 +0200
    11407 
    11408     Changed a bit the sequence of adding BOOST_LIBs.
    11409 
    11410 commit 94962cafa77b2f6b6b6b08ea294de0af431f5009
    11411 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11412 Date:   Thu Oct 14 14:56:21 2010 +0200
    11413 
    11414     boost::filesystem required in configure.ac
    11415 
    11416 commit 7230be17a3c947931703abdd76da666a44588cf3
    11417 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11418 Date:   Thu Oct 14 11:57:24 2010 +0200
    11419 
    11420     Added WarrantyAction.
    11421    
    11422     This closed ticket #117.
    11423 
    11424 commit ef3640ed17b05e29b1b7c6a1a72ba7e5024af5fc
    11425 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11426 Date:   Sat Aug 28 08:21:48 2010 +0200
    11427 
    11428     TESTFIX: Filling/3 does not need MaxDistance as parameter.
    11429 
    11430 commit eee966fe34197e1773f114db10205f2b7ad6f78e
    11431 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11432 Date:   Sat Aug 28 08:08:52 2010 +0200
    11433 
    11434     New Action FillVoidWithMoleculeAction.
    11435    
    11436     - in contrast to FillWithMoleculeAction we fill all empty space, not just
    11437       outside of surfaces.
    11438     - TEST: new tests in Filling/3 that fill with butane and a tenside micelle.
    11439     - new function FillVoidWithMolecule().
    11440 
    11441 commit a42054a57dce05541025613b38ddca2bfb93603a
    11442 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11443 Date:   Sat Aug 28 08:07:02 2010 +0200
    11444 
    11445     Extended FormatParserStorage.
    11446    
    11447     - renamed ParserSuffix -> ParserSuffixes.
    11448     - new lookup table ParserLookupSuffixes.
    11449     - renamed getType -> getTypeFromName.
    11450     - new function getTypeFromSuffix.
    11451 
    11452 commit 1997630777d65898f53a1899c5ea260a2850aa17
    11453 Merge: a6e6b5c f8982c4
    11454 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11455 Date:   Sat Aug 28 06:13:06 2010 +0200
    11456 
    11457     Merge branch 'FixDoublesinExceptionsMakefile.am' into stable
    11458 
    11459 commit f8982c42eb467c7951ed37f012f50d6066733d46
    11460 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11461 Date:   Sat Aug 28 06:12:50 2010 +0200
    11462 
    11463     FIX: NotInvertibleException.hpp was present twice.
    11464 
    11465 commit a6e6b5ce7c3675b17615ce9fc4f938f0ccc32ef7
    11466 Merge: 6c438f9 45924c1
    11467 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11468 Date:   Sat Aug 28 06:08:45 2010 +0200
    11469 
    11470     Merge branch 'FixExceptionsIncludeDir' into stable
    11471 
    11472 commit 45924c1c4900321275c7d22c75650d2dcff4a2c1
    11473 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11474 Date:   Sat Aug 28 06:08:25 2010 +0200
    11475 
    11476     FIX: include dir for Exceptions headers was wrong.
    11477 
    11478 commit 6c438f95957e5e36d17eaf3a715bb46a41596300
    11479 Merge: 2ad4824 fd49053
    11480 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11481 Date:   Sat Aug 28 05:17:48 2010 +0200
    11482 
    11483     Merge branch 'StructureRefactoring' into Shapes
    11484    
    11485     Conflicts:
    11486         src/Box.cpp
    11487         src/Box.hpp
    11488         src/Descriptors/AtomShapeDescriptor.cpp
    11489         src/Descriptors/AtomShapeDescriptor.hpp
    11490         src/Descriptors/AtomShapeDescriptor_impl.hpp
    11491         src/LinearAlgebra/Line.cpp
    11492         src/LinearAlgebra/Line.hpp
    11493         src/LinearAlgebra/Matrix.cpp
    11494         src/LinearAlgebra/Matrix.hpp
    11495         src/Makefile.am
    11496         src/Shapes/BaseShapes.cpp
    11497         src/Shapes/BaseShapes_impl.hpp
    11498         src/Shapes/Shape.cpp
    11499         src/Shapes/Shape.hpp
    11500         src/Shapes/ShapeOps_impl.hpp
    11501         src/Shapes/Shape_impl.hpp
    11502         src/unittests/ShapeUnittest.cpp
    11503    
    11504     - AtomShapeDescriptor had been implemented doubly.
    11505     - LineSegment* moved to LinearAlgebra/
    11506     - BaseShapes:: Cuboid is from (0,0,0) and not from (-1,-1,-1) to (1,1,1)
    11507       - had to fix ShapeUnittest
    11508     - some overlap in Shapes due to getHomogeneousPointsOnSurface added in stable.
    11509     - BUGFIX: Matrix::transpose() did not allocate MatrixContent::content.
    11510     - merged BaseShapesUnitTest into ShapeUnitTest.
    11511 
    11512 commit fd49053e27109f166b1c159007a0e33103499934
    11513 Merge: 8fd9346 6535429
    11514 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11515 Date:   Sat Aug 28 03:45:13 2010 +0200
    11516 
    11517     Merge branch 'stable' into StructureRefactoring
    11518 
    11519 commit 6535429872e16678107267e6d6209cddb72d7faa
    11520 Merge: 74a444f 701ad64
    11521 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11522 Date:   Sat Aug 28 03:39:35 2010 +0200
    11523 
    11524     Merge branch 'FixSubgraphDissectionMerge' into stable
    11525    
    11526     Conflicts:
    11527         src/Actions/FragmentationAction/SubgraphDissectionAction.cpp
    11528    
    11529     removed merger leftover stuff, conflicted with later updates, but later are
    11530     current.
    11531 
    11532 commit 701ad6436949415e2b3ee7e2aa502fe7180c1859
    11533 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11534 Date:   Sat Aug 28 03:31:44 2010 +0200
    11535 
    11536     FIX: Merge stuff still left inside.
    11537 
    11538 commit 74a444f9266857ac3c0a69758f1ef0a44d0f7ede
    11539 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11540 Date:   Sat Aug 28 02:31:59 2010 +0200
    11541 
    11542     TremoloParser can now deal with copied molecules/atoms.
    11543    
    11544     - as some information of atoms is not stored in the World but in an internal
    11545       struct, we can not easily have this information in place when atoms have
    11546       been copied. Default values would be used instead those of the original
    11547       atoms. Instead, we now use the father to take its values.
    11548 
    11549 commit dc1d9ec000ed76a1da691408cbc5dab357860d82
    11550 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11551 Date:   Sat Aug 28 00:17:27 2010 +0200
    11552 
    11553     Several bugfixes for TremoloParser.
    11554    
    11555     - overloaded readAtomDataLine to also accept molecule*.
    11556     - BUGFIX: TremoloParser::writeNeighbors() and TremoloParser::saveLine() write ...->getId()+1.
    11557     - BUGFIX: TremoloParser::writeNeighbors() forgot to increase currentBond iterator.
    11558 
    11559 commit 1a7fd2c0335923642805cc4cb8ae59ca58748ad8
    11560 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11561 Date:   Fri Aug 27 23:44:59 2010 +0200
    11562 
    11563     New Action MoleculeAction/CopyAction.
    11564 
    11565 commit 76ff552147ff66b9fe10e30958abcb4ef05aa517
    11566 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11567 Date:   Sat Aug 28 00:14:33 2010 +0200
    11568 
    11569     BUGFIX: molecule::CopyMolecule() was broken.
    11570    
    11571     fixes:
    11572     - for loop over Bonds was wrong (copy&paste from one where bonds are removed)
    11573     - leftiter and rightiter were looking wrongly at the original, not the copy molecule.
    11574 
    11575 commit 7d8342bd474d4727096bdd22952cb35fbc6b3e72
    11576 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11577 Date:   Fri Aug 27 23:15:03 2010 +0200
    11578 
    11579     SubgraphDissectionAction does not delete bonds anymore and bugfixes regarding its redo.
    11580    
    11581     - Only creates BondGraph of system when no bonds are present.
    11582    
    11583     - redo was not working correctly due to wrong end state of performCall():
    11584       - ids were wrong.
    11585       - general MoleculeListClass was not filled correctly.
    11586       - fathers were not corrected.
    11587       - NOTE: This is all obsolet when DepthFirstSearchAnalysis does not copy
    11588         anymore.
    11589 
    11590 commit c449d9b8a0ac9cca5b6e85e320c3732e5c61ccee
    11591 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11592 Date:   Fri Aug 27 23:05:18 2010 +0200
    11593 
    11594     Added new Action ConstructBondGraphAction.
    11595 
    11596 commit af2c424c3fdc756190dc3577a68e02c637a3883b
    11597 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11598 Date:   Fri Aug 27 22:58:40 2010 +0200
    11599 
    11600     LinkedCell constructor rewritten.
    11601    
    11602     - had to introduce getValue(iterator) to: molecule, tesselation, LinkedCell::LinkedNodes
    11603     - LinkedCell::LinkedNodes is not a typedef anymore
    11604     - new class LinkedCell::LinkedNodes derived from stl::list<TesselPoint *> to add getValue(iterator).
    11605     - LinkedCell constructors changed:
    11606      - use template for all classes that have begin(), end() and ... sigh ... getValue()
    11607      - Argh! STL containers do all have begin() and end() but no consistent operator* (maps return pair<> ...)
    11608      - specialized version for PointCloud derivatives
    11609      - various functions had to be changed due to changed signature of LinkedCell constructor
    11610 
    11611 commit 21585fa783cda272b17cdf72bc467cda038347a8
    11612 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11613 Date:   Fri Aug 27 14:30:25 2010 +0200
    11614 
    11615     Added getter/setter for PdbParser::atomIdMap().
    11616 
    11617 commit bb6193865ee69d221ba8b130353ded6a0f4eb7e3
    11618 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11619 Date:   Fri Aug 27 12:37:13 2010 +0200
    11620 
    11621     Added PdbParser with save capability.
    11622    
    11623     - load does not yet work.
    11624     - added test part to Simple_configuration/2 (new file test.pdb)
    11625 
    11626 commit 5c6946cfd5f8773c487f84e0b4a983678eec8c83
    11627 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11628 Date:   Fri Aug 27 12:25:55 2010 +0200
    11629 
    11630     FormatParserStorage extended a bit.
    11631    
    11632     - new functions add(type) that accept either parser name or ParserTypes and
    11633       adds the respective class.
    11634     - new function getType(type) that accepts a parser name and returns the type.
    11635 
    11636 commit 3ae731331613c6806f4a83a01d7417d215c6877a
    11637 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11638 Date:   Tue Aug 17 15:44:11 2010 +0200
    11639 
    11640     Added initial PdbParser.
    11641 
    11642 commit fbcd5cbe1065a55330f11fa45b6b125f92124b39
    11643 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11644 Date:   Fri Aug 27 14:29:12 2010 +0200
    11645 
    11646     BUGFIX: FragmentationSubgraphDissectionAction::performCall() did not produce bond structure in disconnected molecules.
    11647    
    11648     - removed FillBondStructureFromReference() call at some point which is
    11649       necessary to re-create the bond structure as long as we copy the atoms.
    11650 
    11651 commit b5cf6c48a6bcd491bcd50d6838adbfd498feae9e
    11652 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11653 Date:   Fri Aug 27 14:08:50 2010 +0200
    11654 
    11655     BUGFIX: BondGraph::max_distance is used for LinkedCell cell length but does not contain BondGraph::BondThreshold.
    11656 
    11657 commit e8926e1b8f716585ac54ff5480a69b8bfa36d526
    11658 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11659 Date:   Fri Aug 27 12:42:08 2010 +0200
    11660 
    11661     BUGFIX: molecule::AddCopyAtom() did not set the copied atom's molecule.
    11662 
    11663 commit f9183b6731150d9efa274b21694d769ecc6183b1
    11664 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11665 Date:   Fri Aug 27 11:44:17 2010 +0200
    11666 
    11667     BUGFIX: graph info per bond is now output nicely.
    11668    
    11669     - added operator<< to GraphNode class.
    11670     - changed GraphNode::OutputComponentNumber to receive ostream as parameter.
    11671     - is used in rewrite of GraphNode::OutputGraphInfo(), molecule::OutputGraphInfoPerBond()
    11672 
    11673 commit 231b5e21a06b3aa8f014d4f11b9c5d5dc1c1ec31
    11674 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11675 Date:   Fri Aug 27 11:32:03 2010 +0200
    11676 
    11677     Added debug* to .gitignore.
    11678 
    11679 commit 73a85720b45b5f7d02bd8e205b45936d58055ed1
    11680 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11681 Date:   Fri Aug 27 11:08:51 2010 +0200
    11682 
    11683     FIX: some getter functions (name, id, formula) in class molecule were not const.
    11684 
    11685 commit c6653745c7e2c1a9d5510ee8ec11e0b97d5951ef
    11686 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11687 Date:   Fri Aug 27 11:30:34 2010 +0200
    11688 
    11689     FIX: changed minimal bondddistance threshold to 0.1, as otherwise molecular hydrogen is not scanned.
    11690    
    11691     - introduced MAX_LINKEDCELLNODES in class LinkedCell as an upper bound for the
    11692       number of cells allocated.
    11693 
    11694 commit 10fa1d73391bc70c0607c7e764f5977ce65ff276
    11695 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11696 Date:   Thu Aug 26 23:36:28 2010 +0200
    11697 
    11698     DOCU: Updated Action Howto to contain the new macro framework.
    11699 
    11700 commit 966e12d8a822176e4558e3229d5f45d6231cc1c0
    11701 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11702 Date:   Thu Aug 26 23:07:17 2010 +0200
    11703 
    11704     Removed the conversion script files again.
    11705    
    11706     They have been added to have them in the repo just in case ...
    11707 
    11708 commit 1fd67574a5cc6c07a5638d5d343eae3b6bbdb9bf
    11709 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11710 Date:   Thu Aug 26 23:05:34 2010 +0200
    11711 
    11712     All Actions are converted to the new macro framework.
    11713    
    11714     - included all three values that have been used to create or convert the files
    11715      - createdef.sh
    11716      - createCpp.sh
    11717      - createHeader.sh
    11718 
    11719 commit 53d01c162db75173725d553f4f149598163822b5
    11720 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11721 Date:   Thu Aug 26 20:59:34 2010 +0200
    11722 
    11723     Renamed dir Actions/CmdAction -> Actions/CommandAction, renamed class CommandLine... -> Command...
    11724    
    11725     - this is necessary to get the naming scheme consistent.
    11726 
    11727 commit 8bb05ec5f3d1431cfd3d423bae88f557686697ef
    11728 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11729 Date:   Thu Aug 26 15:27:09 2010 +0200
    11730 
    11731     AtomAddAction converted to use macro framework.
    11732    
    11733     - State generation is working.
    11734 
    11735 commit 72f6112db6cf5a1c617c8ce97530a68134b38d76
    11736 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11737 Date:   Thu Aug 26 15:26:15 2010 +0200
    11738 
    11739     Added set/queryCurrentValue for BoxVector and Dialog::quer<> specialization.
    11740    
    11741     - uses queryVector but with "true" instead of "false".
    11742 
    11743 commit e3e6e24ee59391a5a3d54edddf8e9a8a6c0e1b3e
    11744 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11745 Date:   Thu Aug 26 15:24:45 2010 +0200
    11746 
    11747     Added BoxVector class.
    11748    
    11749     BoxVector is simply a Vector with a different class name. This is needed to
    11750     discern in a template between (Box)Vectors that adhere to the boundary conditions
    11751     of the box and such (normal) Vectors that don't.
    11752 
    11753 commit b4fa106066497a55bc2e47cdbd46bf7f293eaf34
    11754 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11755 Date:   Thu Aug 26 15:23:21 2010 +0200
    11756 
    11757     Extended action generating macro framework to create specialized ActionState, too.
    11758    
    11759     - types, tokens, references -> param...
    11760     - new statetypes, statereferences that have to be defined for additional variables in the state
    11761 
    11762 commit 9ee38b1c3b23a38c779c8e4ad098fe0677a3a5b7
    11763 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11764 Date:   Wed Aug 25 19:20:37 2010 +0200
    11765 
    11766     Extended macro framework.
    11767    
    11768     Extensions:
    11769     - all central definitions reside in .def files
    11770       - This if file is necessary because we need the definitions at two places:
    11771         hpp and cpp
    11772       - And as we always use the same define names, we have to undefine them at
    11773         the end of both (otherwise we get compiler warnings and are prone to
    11774         dumb mistakes of forgotten defines seeming present)
    11775     - the .hpp is just a very tiny header, that should be possible to batch-
    11776       construct inside Makefile as well
    11777     - .cpp includes some Action_...hpp files and implements the function
    11778    
    11779     For later (i.e. when ActionRegistry becomes prototype copier)
    11780     - instead of waiting for clone(), for now we simply call the prototype.
    11781     - in the action command we must not yet prefix paramreferences with "params."
    11782    
    11783     Changes:
    11784     - Dialog::query<> is a template which is specialized for every present
    11785       query...() function. We need it to automatize fillDialog()
    11786     - all AnalysisAction's are now converted, i.e. framework is functional
    11787       with parameters and queries (MolecularVolume had none).
    11788 
    11789 commit 0b2ce98def2d6ab9548ba5ac25acbb2ab5bc233c
    11790 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11791 Date:   Wed Aug 25 15:22:58 2010 +0200
    11792 
    11793     Implemented macros for automatically generating repetitive stuff around Actions.
    11794    
    11795     The idea is that only the following items have to be provided for by the user
    11796     - parameters (i.e. for each the following tupel: type, token and reference)
    11797     - perform...(), ...Undo(), ...
    11798    
    11799     Therefore, we have three new files:
    11800     - Action_impl_header.hpp: Is for the declarations in the header
    11801     - Action_impl_pre.hpp: Is before definition of functions
    11802     - Action_impl_post.hpp: is after definition of functions (cleanup)
    11803    
    11804     Changes:
    11805     - MolecularVolumeAction() has already been refactored accordingly.
    11806     - new struct ActionParameters, alike to ActionState, to be specialized for each
    11807       Action's parameters
    11808     - new function Action::getParametersfromValueStorage() handles retrieval of
    11809       parameters from ValueStorage.
    11810 
    11811 commit 9c1c89d06cf8e6779213c5c5181524247fd05e85
    11812 Author: Frederik Heber <heber@ins.uni-bonn.de>
    11813 Date:   Thu Aug 26 15:28:45 2010 +0200
    11814 
    11815     FIX: all ...:getHomogeneousPointsOnSurface() now have size_t instead of int parameter.
    11816 
    11817 commit 8fd9346e5c090b879b93dad5c7820919964e4a47
    11818 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11819 Date:   Thu Aug 26 14:46:06 2010 +0200
    11820 
    11821     Removed template structure from molecule class
    11822 
    11823 commit 32ea5695f81eb947c7da924c8808ff91acc4f552
    11824 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11825 Date:   Thu Aug 26 14:44:19 2010 +0200
    11826 
    11827     Removed last occurences of molecule::SetIndexedArrayForEachAtomTo()
    11828 
    11829 commit e8a21f0608f0217a98fd8f5da54cc9e8b703bcc1
    11830 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11831 Date:   Thu Aug 26 14:20:17 2010 +0200
    11832 
    11833     Added an atom::getNr() method to atom class
    11834 
    11835 commit 882a8ac67e05a95dfd3b4c1ee07141dbadd4273d
    11836 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11837 Date:   Thu Aug 26 13:02:41 2010 +0200
    11838 
    11839     made the atom::OutputTrajectories() method use an enumeration of elements instead of lookup table
    11840 
    11841 commit 487ebb366f1058c4cbfa1b8d7c39068ab4217e29
    11842 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11843 Date:   Thu Aug 26 12:46:37 2010 +0200
    11844 
    11845     Removed old debug output from atom.cpp
    11846 
    11847 commit aed5582c7a2b19b1798cf507a34e01d1bf8d4e05
    11848 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11849 Date:   Thu Aug 26 12:37:47 2010 +0200
    11850 
    11851     Removed old debug message from molecule::Output()
    11852 
    11853 commit e5f64de0ed94021d6e3e72fb7d6109348fa75860
    11854 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11855 Date:   Thu Aug 26 12:35:39 2010 +0200
    11856 
    11857     Added a method that allows comparison of atoms by their atomic number
    11858 
    11859 commit 9e78135793860f7ecac4b92852424b3775909010
    11860 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11861 Date:   Thu Aug 26 11:55:05 2010 +0200
    11862 
    11863     Removed ActOnAllAtoms from config.cpp
    11864 
    11865 commit 0dc86e2c7b7adc23848ded2fea283fd7d8386a3a
    11866 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11867 Date:   Thu Aug 26 11:34:49 2010 +0200
    11868 
    11869     Removed unused AtomNo parameter in atom::OutputMPQCLine()
    11870 
    11871 commit 5cd333c61ec493a027760439b5ef6ff498115676
    11872 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11873 Date:   Wed Aug 25 18:12:17 2010 +0200
    11874 
    11875     Replaced call to Vector::Scale() with operator notation
    11876 
    11877 commit 00ef5cd5635babd648ea219db1abf0b5b6f22e03
    11878 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11879 Date:   Wed Aug 25 18:10:54 2010 +0200
    11880 
    11881     Removed several calls to molecule::ActOnEachAtom() from molecule_graph.cpp
    11882    
    11883     - Added a function to initialize the DFS inside the molecule
    11884 
    11885 commit 14b65e7d50e8fe7d7dad07de49e7a29035639c88
    11886 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11887 Date:   Wed Aug 25 18:10:02 2010 +0200
    11888 
    11889     Added a method to reset the graphNr of an atom
    11890 
    11891 commit a3948b7a65055d6d627fa462a6f493b6341f029e
    11892 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11893 Date:   Wed Aug 25 17:32:29 2010 +0200
    11894 
    11895     Removed unused TrajectoryParticle::CorrectVelocity() method
    11896 
    11897 commit 9b355f18d097539505bf3a7f3e18c7a604b51b6f
    11898 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11899 Date:   Wed Aug 25 16:03:45 2010 +0200
    11900 
    11901     Removed unused TrajectoryParticle::SumUpKineticEnergy() method
    11902 
    11903 commit 259b2b69cc967f3848c060bc49cb3cdd604ae961
    11904 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11905 Date:   Wed Aug 25 16:01:19 2010 +0200
    11906 
    11907     Made the molecule::VerletForceIntegration() use the atomSetMixin to correct velocities
    11908 
    11909 commit 5ac6903c7db612b466759cd7646416f2c4289a2d
    11910 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11911 Date:   Wed Aug 25 16:00:33 2010 +0200
    11912 
    11913     Added a method to the AtomSetMixin that allows adding a velocity to all velocity elements of the trajectory of a set of atoms
    11914 
    11915 commit 1f83378713b1bfbb4e64a67186df84e3524e8d19
    11916 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11917 Date:   Wed Aug 25 15:41:56 2010 +0200
    11918 
    11919     Moved AtomInfo::getMass() method to class atom to avoid problems with virtual inheritance
    11920 
    11921 commit 5e99bcb3afe6825d60ef5e1cc3ae6144178d1aa8
    11922 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11923 Date:   Wed Aug 25 15:22:11 2010 +0200
    11924 
    11925     Added a method to the AtomSetMixin that allows calculating the total moment of arbitrary sets of Atoms
    11926 
    11927 commit e95a59cf14c62c478df7c29aa6448bf917ea615d
    11928 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11929 Date:   Wed Aug 25 15:06:42 2010 +0200
    11930 
    11931     Added a method that allows querying the momentum of a particle
    11932 
    11933 commit cddda78467e08dd61afb0ff7c34c05de04e1e19b
    11934 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11935 Date:   Wed Aug 25 15:02:26 2010 +0200
    11936 
    11937     Added a method to the AtomSetMixin that allows calculating the total mass of an arbitrary set of Atoms
    11938 
    11939 commit 9184bdb6dcfab3be594b5b39d67115f0a8522717
    11940 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11941 Date:   Wed Aug 25 14:58:02 2010 +0200
    11942 
    11943     Added a method that allows querying the mass of an atom directly
    11944    
    11945     -  allows replacement of atom->getType()->getMass() with simpler atom->getMass()
    11946 
    11947 commit 2be37bebc2369db6d04a0f65494abf633b1fceea
    11948 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11949 Date:   Wed Aug 25 14:33:00 2010 +0200
    11950 
    11951     Removed some more calls to molecule::ActOnAllAtoms()
    11952 
    11953 commit 51c3e4347f7ed1dc3bd82d6b45eeaf3ebfbf0e7c
    11954 Merge: 14c57a9 d17f3dc
    11955 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11956 Date:   Wed Aug 25 14:25:28 2010 +0200
    11957 
    11958     Merge branch 'stable' into StructureRefactoring
    11959    
    11960     Conflicts:
    11961         src/atom_trajectoryparticle.cpp
    11962 
    11963 commit 14c57a9b8ce2c94b3ca4d4d59b36bd5aa57cabf1
    11964 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11965 Date:   Wed Aug 25 14:04:11 2010 +0200
    11966 
    11967     Made all parts of the programm use the new thermostat structure
    11968 
    11969 commit 8d1dd4fcc7d507ccaf7345578b875e0a40064ac1
    11970 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11971 Date:   Wed Aug 25 12:42:21 2010 +0200
    11972 
    11973     Removed obsolete load methods from config class
    11974 
    11975 commit 3e4162451cda2418307cb0c93ebf19ec43a6d0cf
    11976 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11977 Date:   Wed Aug 25 12:16:11 2010 +0200
    11978 
    11979     Added several default constructors with some default values to Thermostats
    11980 
    11981 commit c0c650847435dcb508e3ddcaccc0d96a196e2fbd
    11982 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11983 Date:   Wed Aug 25 11:24:25 2010 +0200
    11984 
    11985     Added structure that allows construction of thermostats from parameters in a configfile
    11986 
    11987 commit 0b882abd64ff741eb96c26e6fa3ec61251b77ca4
    11988 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11989 Date:   Wed Aug 25 10:57:44 2010 +0200
    11990 
    11991     Added Inheritance structure to ThermostatTraits
    11992 
    11993 commit 579a8164cf780e621cb4e727d195e84fdcd5698a
    11994 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    11995 Date:   Fri Aug 20 15:54:23 2010 +0200
    11996 
    11997     Added a basic self-descriptive structure for Thermostats
    11998 
    11999 commit 194649564d0311bec3d5d03acaa519a7a24a5611
    12000 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12001 Date:   Fri Aug 20 13:43:39 2010 +0200
    12002 
    12003     Added class structure to represent thermostats
    12004 
    12005 commit d17f3dc57329f8bf69e73f21166b7985cb4d1a79
    12006 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12007 Date:   Thu Aug 19 18:56:30 2010 +0200
    12008 
    12009     FIX: Using getSuitableShortForm() in TextWindow::TextWindow() for all triggers.
    12010    
    12011     - also reserving q and s by initially pytting them into the list.
    12012 
    12013 commit 9c7e0f93616747e1a524ff1bc6b6beca81cda730
    12014 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12015 Date:   Thu Aug 19 18:55:17 2010 +0200
    12016 
    12017     deleted function MoleculeListClass::flipChosen() and setMoleculeActiveAction from TextMenu.
    12018 
    12019 commit 994713afde7cd130d68e8417cfee8669e3d96182
    12020 Merge: 4b76502 8006eed
    12021 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12022 Date:   Thu Aug 19 18:59:10 2010 +0200
    12023 
    12024     Merge branch 'FixRedoAction_isActive' into stable
    12025 
    12026 commit 8006eed2788de714f5d76c85a5cb7d0c5891ef58
    12027 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12028 Date:   Thu Aug 19 18:58:24 2010 +0200
    12029 
    12030     FIX: "Redo" message was in wrong function.
    12031    
    12032     - in ActionHistory::RedoAction::isActive() instead of ActionHistory::RedoAction::performCall().
    12033 
    12034 commit 4b76502568e217ff079156bad174952770f35084
    12035 Merge: 80cecb5 c6081e5
    12036 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12037 Date:   Thu Aug 19 18:27:32 2010 +0200
    12038 
    12039     Merge branch 'FixTextUI_undo' into stable
    12040 
    12041 commit c6081e5308fdedcfd6d64ecc65f597a8c8fbd17e
    12042 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12043 Date:   Thu Aug 19 18:26:53 2010 +0200
    12044 
    12045     BUGFIX: TextWindow::TextWindow() has Undo/Redo names still with capital letters.
    12046 
    12047 commit 80cecb59e1dd972f90cbd31cd301f1e3aaae1ce7
    12048 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12049 Date:   Thu Aug 19 17:21:30 2010 +0200
    12050 
    12051     MEMFIX: Matrix::transformToEigenbasis() did not free evec and eval.
    12052 
    12053 commit 6543946e6fc68bde4047505df9233ee229b408fc
    12054 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12055 Date:   Thu Aug 19 17:09:15 2010 +0200
    12056 
    12057     MEMFIX: World::numMoleculeDefragSkips and World::lastMoleculePoolSize were not set in constructor.
    12058 
    12059 commit 146cff20ef08f9e72090351efc803d678278fe81
    12060 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12061 Date:   Thu Aug 19 15:32:48 2010 +0200
    12062 
    12063     FIX: include <cmath> missing in some files.
    12064 
    12065 commit 73c5ca926af8e466cdb3a46c2f6677235fe603f5
    12066 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12067 Date:   Thu Aug 19 15:28:53 2010 +0200
    12068 
    12069     FIX: gsl/gsl_inline.h not needed in atom_trajectoryparticle.hpp.
    12070 
    12071 commit 9f99b38262d85a2d8917cb47c5b52d88465624d7
    12072 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12073 Date:   Thu Aug 19 10:54:01 2010 +0200
    12074 
    12075     MEMFIX: periodentafel::LoadElementsDatabase() leaked memory.
    12076    
    12077     - if element was replaced by one from parsedElements, the content was copied,
    12078       but the allocated element in the map not deleted.
    12079 
    12080 commit 2a745784af224f1a124be7ae6bdcf0a3b38bb95d
    12081 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12082 Date:   Thu Aug 19 10:52:42 2010 +0200
    12083 
    12084     MEMFIX: operator*(Matrix,Vector) leaked memory.
    12085    
    12086     - a gsl_vector was callocated twice as such and inside a VectorContent.
    12087 
    12088 commit 83f17610150f59038d04ff05a300df1d76c5df81
    12089 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12090 Date:   Tue Aug 17 19:21:25 2010 +0200
    12091 
    12092     Made all member variables of class element private, added accessor functions and periodentafel is friend.
    12093 
    12094 commit 1ee380f25018990c930f81125ef904282f7f3887
    12095 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12096 Date:   Wed Aug 18 18:11:16 2010 +0200
    12097 
    12098     Replaced autogen.sh with TREMOLO-derivate bootstrap shell.
    12099    
    12100     - bootstrap keeps ChangeLog up to date.
    12101     - this allows for consistent docu generation on jupiter for TRAC.
    12102 
    12103 commit 2f6f5103d9ed45cb9dee4880b5a85503d4bfb2ae
    12104 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12105 Date:   Wed Aug 18 18:10:07 2010 +0200
    12106 
    12107     Enabled XML file of valgrind errors, can be viewed with memcheckview.
    12108 
    12109 commit ea2c76cb353581745939e7353cd8282849c7f9d3
    12110 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12111 Date:   Wed Aug 18 18:09:47 2010 +0200
    12112 
    12113     Removed definition of unused method in ThermostatContainer class
    12114 
    12115 commit bc8a4159f58ff2993d942c9ae0a4eb6b9635c012
    12116 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12117 Date:   Wed Aug 18 16:10:33 2010 +0200
    12118 
    12119     Added a warning to keep people from using VectorContent directly
    12120 
    12121 commit c743f8a315d7845beb1acf951a15abd447c15e55
    12122 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12123 Date:   Wed Aug 18 16:09:58 2010 +0200
    12124 
    12125     Removed some more invocations of ActOnAllAtoms
    12126 
    12127 commit 7329c3712616286c539153409d0ece7591cdea9f
    12128 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12129 Date:   Wed Aug 18 15:34:33 2010 +0200
    12130 
    12131     Removed obsolete method for summing up temperature
    12132 
    12133 commit 90040282fe2db00e50217b4b4d05068552b8077e
    12134 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12135 Date:   Wed Aug 18 15:30:26 2010 +0200
    12136 
    12137     Made the molecule::OutputTemperatureFromTrajectories() method use the totalTemperature method provided by the AtomSet
    12138 
    12139 commit ddc85b155533cc7cf648e5fbccea698f7935b927
    12140 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12141 Date:   Wed Aug 18 15:19:14 2010 +0200
    12142 
    12143     Added a method that allows calculation of the total temperature of a set of atoms at a given time step
    12144 
    12145 commit 4900387e8dbe2570987662bf273f57b95ab6acc3
    12146 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12147 Date:   Tue Aug 17 16:14:34 2010 +0200
    12148 
    12149     added --with-valgrind switch to configure script.
    12150    
    12151     - if given, we use valgrind in the testsuite call and fail when valgrind reports errors or leaking memory.
    12152     - is off by default.
    12153     - test_all.sh:
    12154      - CXXFLAGS needs to be stated after configure such that configure can store the set value (also in its log)
    12155      - always compiles with -Wall
    12156      - in case of -g3 we use --with-valgrind to enable valgrinding of testsuite
    12157      - extended function configure() to three arguments, to allow for recognizing "-g3"
    12158 
    12159 commit 293afd2518c85a25e2ebc908251dabe09d635582
    12160 Merge: 5f8660a f304905
    12161 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12162 Date:   Tue Aug 17 15:34:08 2010 +0200
    12163 
    12164     Merge remote branch 'wildenhues/stable' into stable
    12165 
    12166 commit 5f8660ad2bcd7c4039fa6d9f537658dacdc0b1d4
    12167 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12168 Date:   Tue Aug 17 15:17:22 2010 +0200
    12169 
    12170     Changed PACKAGENAME and version.
    12171    
    12172     - rename ESPACKVersion in src/version.h -> MOLECUILDERVERSION
    12173     - changed PACKAGENAME to MoleCuilder
    12174     - FIX: changed version number in configure.ac to 1.0.0
    12175 
    12176 commit bcf653d9a0b46f52fc007e0fbb11d60cc4aa49a2
    12177 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12178 Date:   Tue Aug 17 15:14:22 2010 +0200
    12179 
    12180     Added copyright note to each .cpp file and an extensive one to builder.cpp.
    12181 
    12182 commit 9cd8071f2b87fbfff8c3eb03ad49e2c1ceda7b74
    12183 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12184 Date:   Tue Aug 17 14:50:34 2010 +0200
    12185 
    12186     FIX: Other authors were missing again in AUTHORS (thx Ralf!).
    12187    
    12188     - probably went missing when Repo was splitt off from ESPACK?
    12189 
    12190 commit 49a1362bb32b57e917e16bb423d8f5a7ec95ac2f
    12191 Merge: a19d73e 8e463e3
    12192 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12193 Date:   Tue Aug 17 14:43:46 2010 +0200
    12194 
    12195     Merge branch 'FixMerge_TestSHBranch' into stable
    12196 
    12197 commit 8e463e3743873aa2485a58f66cc88fde13f11d11
    12198 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12199 Date:   Tue Aug 17 14:43:04 2010 +0200
    12200 
    12201     FIX: COPYING AND README still had conflict markers (thx Ralf!).
    12202 
    12203 commit f304905bdd65ac1553aaccf2a94ac5910ded50b5
    12204 Author: Ralf Wildenhues <wildenhues@ins.uni-bonn.de>
    12205 Date:   Tue Aug 17 14:28:29 2010 +0200
    12206 
    12207     Enable colored testsuite output if available.
    12208    
    12209     * configure.ac: Enable the Automake option 'color-tests'.
    12210     Require version >= 1.11, needed for color-tests and parallel-tests,
    12211     for a sensible error message from older versions.
    12212     * tests/regression/testsuite.at: Use AT_COLOR_TESTS if available.
    12213 
    12214 commit a19d73e6949af32bd9194e482beadb7786ba5775
    12215 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12216 Date:   Fri Aug 13 18:42:47 2010 +0200
    12217 
    12218     FIX: GetCenterofCircumcircle() has check for division by zero.
    12219 
    12220 commit bb440860e72c18e7341f20fc84c9321267e02e6a
    12221 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12222 Date:   Fri Aug 13 18:18:01 2010 +0200
    12223 
    12224     BUGFIX: Removed adding of parsed atoms in LoadXyzAction.
    12225    
    12226     - a molecule is created and added already in XyzParser::load().
    12227     - this caused the id of a newly parsed in xyz file to be 2 instead of 1 and the
    12228       creation of an empty molecule.
    12229 
    12230 commit 0adac17286dfddc176e65a475257636490346e05
    12231 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12232 Date:   Fri Aug 13 18:16:37 2010 +0200
    12233 
    12234     Added "periodic" as optional argument to TranslateAction.
    12235    
    12236     - entails execution of Box::WrapPeriodically() if true.
    12237     - BUGFIX: friend declaration had wrong signature.
    12238 
    12239 commit 5f1d5b842f0b34e83a8b8253e98b4bb0defe850e
    12240 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12241 Date:   Fri Aug 13 16:08:39 2010 +0200
    12242 
    12243     BUGFIX: fixed undefined ref to ObservedContainer<...>::begin()/end()/count()/... at -O1
    12244    
    12245     - test_all.sh did not fail compilation at -O1 (though working fine at -g3, i.e. -O0).
    12246     - Seems like a compiler bug (optimization makes some assumption we do not fulfill, ...)
    12247     - FIX: wrote macro to explicitly instantiate all member functions of ObservedContainer,
    12248       called CONSTRUCT_OBSERVEDCONTAINER(name).
    12249     - Is used by the world for AtomSet and MoleculeSet
    12250     - had to introduce typedefs for the STL-Sets as "set<bla,bla>" is parsed as two arguments
    12251       by the preprocessor ... d'oh.
    12252 
    12253 commit ae959a63102374911f70ae2030155c2100ffa747
    12254 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12255 Date:   Thu Aug 12 20:15:33 2010 +0200
    12256 
    12257     element::group, period, block converted from char[] to std::string.
    12258    
    12259     - came up as test_all.sh showed strncpy to as undefined reference on -O1.
    12260 
    12261 commit faa1c97ea48c451ad4f2217cd2d40c7d8a22509e
    12262 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12263 Date:   Thu Aug 12 18:32:32 2010 +0200
    12264 
    12265     BUGFIX: SubgraphDissectionAction() does not copy system anymore, has Undo/Redo.
    12266    
    12267     - This fixes ticket #88.
    12268     - Added Undo/Redo, needed World::changeMoleculeId() for that
    12269     - BUGFIX: performCall() let DepthFirstSearchAnalysis() copy atoms and copied
    12270       the molecules once more.
    12271     - BUGFIX: performCall() did not reset fathers of copied atoms to point to
    12272       themselves (BUG with redo arose).
    12273     - TEST: Added Undo/Redo part to Graph/2 (subgraph dissection).
    12274     - TESTFIX: Analysis/4 uses --unselect-molecule-by-formula and id of this
    12275       molecule is 1 (as system is not copied anymore).
    12276 
    12277 commit a7a087b4161e29ab90bf567b4c104f88cc4a1336
    12278 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12279 Date:   Thu Aug 12 18:31:02 2010 +0200
    12280 
    12281     new function World::changeMoleculeId().
    12282    
    12283     - copied from changeAtomId()
    12284     - needed for undoing changes to the set of molecules in the World.
    12285 
    12286 commit 51769f1ad434c697ff72558611b3163dbe892aa8
    12287 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12288 Date:   Thu Aug 12 17:08:47 2010 +0200
    12289 
    12290     Added (un)select-molecule-by-formula/..-atom-by-element actions..
    12291 
    12292 commit 60896f551f7f5652f208883f10b4f13ef6c1383e
    12293 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12294 Date:   Thu Aug 12 16:24:42 2010 +0200
    12295 
    12296     BUGFIX: molecule::Add...Atom() and molecule::RemoveAtom() called formula::operator+ effectively twice.
    12297    
    12298     - formula::operator+/- is called by insert() and erase() only.
    12299 
    12300 commit fa7989d779d06bef120bc5ceb8a80825582a3e66
    12301 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12302 Date:   Thu Aug 12 16:23:34 2010 +0200
    12303 
    12304     FIX: World::destroyMolecule(mol *) - assert that pointer is not NULL.
    12305    
    12306     - added docu to some atom member functions.
    12307 
    12308 commit 2b7d1b4a8971f8404e446082f8f129a126eb6922
    12309 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12310 Date:   Thu Jul 29 14:07:40 2010 +0200
    12311 
    12312     Merged MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs() into FragmenationSubgraphDissectionAction.
    12313    
    12314     - also rewrote the function a bit:
    12315       - no more copying of atoms
    12316       - we just take the molecule out of the MoleculeLeafs
    12317       - molecule that contains all atoms is destroyed including all original atoms (they are copied by DFS).
    12318 
    12319 commit 31fb1df09428e7671debb5867061ee049cbbd546
    12320 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12321 Date:   Wed Aug 11 16:58:43 2010 +0200
    12322 
    12323     (un)select-atoms-inside-cuboid: cuboid may be rotated.
    12324    
    12325     - Matrix::rotate() sets contents to arbitrary rotation matrix.
    12326     - BUGFIX: Matrix::transpose() was working only for symmetric matrices.
    12327     - TEST: unit test cases for rotation() and transpose().
    12328     - new options "angle-x", "angle-y", "angle-z"
    12329     - (un)select-atoms-inside-cuboid: have these as optional arguments.
    12330 
    12331 commit 03c902cad860797759acc84bc47e60d6ebb414ca
    12332 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12333 Date:   Wed Aug 11 16:04:15 2010 +0200
    12334 
    12335     Actions may now have optional parameters.
    12336    
    12337     - an additional parameter in ValueStorage::queryCurrentValue() states whether
    12338       value is optional or not in which case no assertion is thrown but wrong
    12339       returned
    12340     - new function MapOfActions::isCurrentValuePresent()
    12341 
    12342 commit 13e3c3f109157595d19a92de57a74cb60bb23ce9
    12343 Merge: b8d15ba 6b5657d
    12344 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12345 Date:   Wed Aug 11 13:47:46 2010 +0200
    12346 
    12347     Merge branch 'SmallFixes' into stable
    12348    
    12349     Conflicts:
    12350         src/Shapes/BaseShapes.cpp
    12351    
    12352     - include Helpers/Assert.hpp has been introduced, conflicted in position with new MemDebug.hpp
    12353 
    12354 commit b8d15ba4d785c75f9e4833a2ac21ff18d4f73608
    12355 Merge: fa18306 23badec
    12356 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12357 Date:   Wed Aug 11 13:45:57 2010 +0200
    12358 
    12359     Merge branch 'HomogeneousPointsOnSurface' into stable
    12360 
    12361 commit 6b5657d58a1afe011e7485a3153286cdf3aa899c
    12362 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12363 Date:   Wed Aug 11 12:01:24 2010 +0200
    12364 
    12365     Decoupled typedef for some STL maps used in boundary.cpp from those used in molecule_dynamics.cpp
    12366    
    12367     - change in maps
    12368      - Distance... are now called TesselPointDistance...
    12369      - now work on TesselPoint* not atom* (conversion work seamlessly).
    12370      - have been shifted over to BoundaryMaps.hpp
    12371     - boundary.cpp just includes BoundaryMaps.hpp
    12372 
    12373 commit b0b0867ddbb84cdb7620f200173863edebd89447
    12374 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12375 Date:   Wed Aug 11 11:41:43 2010 +0200
    12376 
    12377     BUGFIX: Fixed unity target.
    12378    
    12379     - MemDebug.cpp has to appear before any cpp file that includes MemDebug.hpp
    12380     - Helpers/MemDebug.cpp is now first to be given to unity.cpp, is excluded in
    12381       Helpers/Makefile.am
    12382 
    12383 commit 26cf178241bc1745d1cd55a41d90128034ce1112
    12384 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12385 Date:   Wed Aug 11 11:41:20 2010 +0200
    12386 
    12387     Added Formula WidgetItem to QTWorldView.
    12388    
    12389     - int are converted to QString by QString::number()
    12390     - new entry FORMULA in QTWorldView::COLUMNTYPES and added in constructor out of molecule::formula.
    12391 
    12392 commit 81a9bcd340bc215f75c1bc0683fbff0d1fd3437d
    12393 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12394 Date:   Wed Aug 11 11:41:00 2010 +0200
    12395 
    12396     BUGFIX: fixed initializer list sequence of MoleculeListClass.
    12397 
    12398 commit ff58f19bf2a221d3e7a0f50bb78a6a88b348e87f
    12399 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12400 Date:   Wed Aug 11 11:28:42 2010 +0200
    12401 
    12402     BUGFIX: fixed initializer list sequence of LinkedCell.
    12403 
    12404 commit bf38179e7a1590020bad970c4931116d7d7e9bbb
    12405 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12406 Date:   Wed Aug 11 11:27:47 2010 +0200
    12407 
    12408     Added ifdef HAVE_CONFIG and config.h include to each and every cpp file.
    12409    
    12410     - is now topmost in front of MemDebug.hpp (and any other).
    12411 
    12412 commit bbbad57a15d672125aae51443910d6e2cde8123d
    12413 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12414 Date:   Wed Aug 11 10:36:24 2010 +0200
    12415 
    12416     Added MemDebug.hpp to each and every .cpp file (were it was still missing).
    12417    
    12418     - is topmost include and separated by a newline from rest.
    12419     - NOTE: QT includes have to appear before MemDebug.hpp due to strange magic happening therein.
    12420 
    12421 commit 23badec4d9e3dbd58b27a7436536bc0a426b576a
    12422 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12423 Date:   Wed Aug 11 10:19:33 2010 +0200
    12424 
    12425     Actually, AndShape_impl::getHomogeneousPointsOnSurface() was not non-trivial at all ...
    12426    
    12427     - just and simply the opposite to OrShape_impl ...
    12428 
    12429 commit fa18306cccc4f64d475a7deb6a244ce56bae8b61
    12430 Merge: 95e6b13 c5186e9
    12431 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12432 Date:   Tue Aug 10 21:26:03 2010 +0200
    12433 
    12434     Merge branch 'HomogeneousPointsOnSurface' into stable
    12435 
    12436 commit 95e6b132cb0973feda4ff43eba6ed2a7366ca78d
    12437 Merge: 7aa3cf7 61951bf
    12438 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12439 Date:   Tue Aug 10 21:25:28 2010 +0200
    12440 
    12441     Merge branch 'SmallFixes' into stable
    12442 
    12443 commit c5186e909d411ff3c5b6bc38edd607738818eab0
    12444 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12445 Date:   Tue Aug 10 21:21:52 2010 +0200
    12446 
    12447     Added getHomogenousPointsOnSurface() function to Shapes.
    12448    
    12449     - missing is so far: AndShape_impl which is not trivial, as surface is inside of both probably (ASSERT(false,...) present).
    12450     - missing also (although trivial): Cuboid_impl (ASSERT(false,...) present).
    12451 
    12452 commit 0d02fbf6b0433481fd17dc075f5b57ba0c694fe6
    12453 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12454 Date:   Tue Aug 10 21:20:13 2010 +0200
    12455 
    12456     BUGFIX: Cuboid_impl had faulty isInside() and wrongly returned Sphere_impl().
    12457    
    12458     - Cuboid_impl::isInside() did not check point[i]>=0
    12459     - Cuboid() did not return Cuboid_impl()
    12460 
    12461 commit 61951bf7003a204e8280efea5cd01f49ec7e6e94
    12462 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12463 Date:   Tue Aug 10 16:56:27 2010 +0200
    12464 
    12465     Removed molecule merging functions from MoleculeListClass.
    12466    
    12467     - was only used in config::SaveConfig()
    12468 
    12469 commit 1883f997b2f0a47488e06c9f7e2d810e23e925a3
    12470 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12471 Date:   Tue Aug 10 16:47:43 2010 +0200
    12472 
    12473     Removed molecule::Center.
    12474    
    12475     - QTWorldView now more has entry "Center".
    12476     - Center..() all act on the atoms, not on molecule::Center.
    12477 
    12478 commit 8eca62b52cf508d9f13ee217c9e418d2fae4ed6c
    12479 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12480 Date:   Tue Aug 10 16:27:11 2010 +0200
    12481 
    12482     Removed Legacy from src.
    12483 
    12484 commit fc7504ee394871cd7925b1895a13402a2940f34e
    12485 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12486 Date:   Tue Aug 10 15:04:18 2010 +0200
    12487 
    12488     FIX: initializer list of QTStatusBar was in wrong order.
    12489 
    12490 commit 4e6d749689378ad453c95f2780d751098f31e5b5
    12491 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12492 Date:   Tue Aug 10 14:47:22 2010 +0200
    12493 
    12494     Removed output of headers in periodentafel::LoadElementsDatabase().
    12495 
    12496 commit 7aa3cf76e35112b1c90a348e736a82000423cfa3
    12497 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12498 Date:   Tue Aug 10 14:44:56 2010 +0200
    12499 
    12500     Added undo/redo test for Standard_options/7 (SetDefaultNameAction).
    12501 
    12502 commit 7e37a3d8ccc143139396a0dbee575c20c7754340
    12503 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12504 Date:   Tue Aug 10 14:40:42 2010 +0200
    12505 
    12506     Added undo/redo test to Standard_configuration/6 (FastParsingAction).
    12507 
    12508 commit 92c52fdd0dbb51a766227197634f4c32f2a65ffa
    12509 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12510 Date:   Tue Aug 10 14:34:10 2010 +0200
    12511 
    12512     Added undo/redo test to standard_options/1 (VerboseAction).
    12513    
    12514     - added Logger::getVerbosity(), errorLogger::getVerbosity() and getVerbosity() in Log.[ch]pp.
    12515     - VerboseAction is more verbose :) about undo/redo.
    12516 
    12517 commit 7847082d0a6a540ca0c1c81ab0fc49d2d040f7fa
    12518 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12519 Date:   Tue Aug 10 14:09:07 2010 +0200
    12520 
    12521     Added undo/redo test to Simple_configuration/8 (remove sphere/cuboid of atoms).
    12522 
    12523 commit ea283032ddd46712979979db56184f81e207ffd4
    12524 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12525 Date:   Tue Aug 10 14:00:51 2010 +0200
    12526 
    12527     Added Undo/Redo capability to AddAction.
    12528    
    12529     - added test for undo/redo to Simple_configuration/3.
    12530 
    12531 commit f8456cc5b864ea00415d64f971dce5a982883a58
    12532 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12533 Date:   Tue Aug 10 13:44:37 2010 +0200
    12534 
    12535     Added Undo/Redo capability to ChangeElement.
    12536    
    12537     - added test for undo/redo to Simple_configuration/4.
    12538 
    12539 commit e41c48e834f26d3742f334149b34497a3b8c486c
    12540 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12541 Date:   Tue Aug 10 13:29:23 2010 +0200
    12542 
    12543     RemoveAction has Undo/Redo capability.
    12544    
    12545     - FIX: atom::getMolecule() is now const member function
    12546     - new class AtomicInfo that stores essential info contained in atom.
    12547     - TESTFIX: had to pre/replace test.conf due to wrong MaxMinStopSteps, PsiNumbers
    12548       in original file ... (this never occured because we compared against this in
    12549       post/)
    12550     - added test for undo/redo to Simple_configuration/5
    12551 
    12552 commit 353e829674413f3274b6e25f31a255a19024aa77
    12553 Merge: b5c53d0 1cc87ed
    12554 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12555 Date:   Mon Aug 9 20:34:36 2010 +0200
    12556 
    12557     Merge branch 'AddMoreActions' into stable
    12558 
    12559 commit b5c53d0007611f38495bf2e4a8c7348258cf1e7e
    12560 Merge: 4584471 e588312
    12561 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12562 Date:   Mon Aug 9 20:33:29 2010 +0200
    12563 
    12564     Merge branch 'StructureRefactoring' into stable
    12565    
    12566     Conflicts:
    12567         src/Actions/AtomAction/AddAction.cpp
    12568         src/Actions/AtomAction/ChangeElementAction.cpp
    12569         src/Parser/XyzParser.cpp
    12570         src/analysis_correlation.cpp
    12571         src/atom.cpp
    12572         src/config.cpp
    12573         src/molecule.cpp
    12574    
    12575     - AtomInfo::element were privatized in stable and element::symbol, ::name in StructureRefactoring (overlapped in various lines).
    12576 
    12577 commit 1cc87ed369fad8326bd48fd53bf9078b19efe5a9
    12578 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12579 Date:   Mon Aug 9 19:11:50 2010 +0200
    12580 
    12581     Added select-atoms-inside-sphere/cuboid and unselect-..
    12582    
    12583     - new selections to (un)select atoms inside a BasicShape Sphere or Cuboid.
    12584     - BUGFIX: (Not)AllAtomsInsideCuboid did not query for Vector but double.
    12585     - TEST: Simple_configuration/8
    12586      - does not use RemoveSphereOfAtoms anymore
    12587      - uses select-atoms-inside-...
    12588      - checks both sphere and cuboid, invert and normal removel
    12589      - also checks recombination of both to yield original configuration.
    12590     - deleted RemoveSphereOfAtomsAction.[ch]pp
    12591 
    12592 commit 7a7ad1df3587efd882b5162f3593677b96ad9590
    12593 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12594 Date:   Mon Aug 9 18:22:34 2010 +0200
    12595 
    12596     Added AtomShapeDescriptor.
    12597 
    12598 commit 446bc1c64fd03e02bb239a7216a6031de224f0e6
    12599 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12600 Date:   Mon Aug 9 17:53:13 2010 +0200
    12601 
    12602     Added Undo/Redo actions to MapOfActions.
    12603    
    12604     - ActionHistory:UndoAction and ::RedoAction now have ::NAME[], "undo", "redo"
    12605     - added as command line arguments
    12606     - TESTFIX: added translation of atom test (Simple_configuration/9)
    12607     - TESTFIX: added undo/redo for this translation test
    12608    
    12609     From now on, undo/redo should be tested within the testsuite by adding under the
    12610     same test case block another one with additional "--undo" and "--undo --redo"
    12611     added to check for correct implementation of ::performUndo() and ::performRedo()
    12612     as well.
    12613 
    12614 commit c89fb414440748d449fe711ececeddc654c9a71f
    12615 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12616 Date:   Mon Aug 9 17:13:35 2010 +0200
    12617 
    12618     FIX: Some Actions still accessed MapOfActions instead of ValueStorage.
    12619 
    12620 commit c7f5c2473338fbfae12f3ebc925f7aa3be9b8efe
    12621 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12622 Date:   Mon Aug 9 17:09:00 2010 +0200
    12623 
    12624     Help and Version Actions should not be undoned (ShouldUndo returns false now).
    12625 
    12626 commit 22c44bfbfc88dd812e7266c337d681697971b4bd
    12627 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12628 Date:   Mon Aug 9 17:03:05 2010 +0200
    12629 
    12630     Changed RotateAroundOriginByAngleAction from acting on molecules to acting on selected atoms.
    12631 
    12632 commit 34c338bb9488bd56607ec1c6e8571df32ba115d2
    12633 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12634 Date:   Mon Aug 9 16:13:27 2010 +0200
    12635 
    12636     Changed TranslateAction from acting on molecules to acting on selected atoms.
    12637    
    12638     - removed periodic from TranslateAction, this will be replaced by another action (enforce-boundary-conditions or something like that)
    12639 
    12640 commit 75a80fa17f1d93225b82f8ef166306e615a37e33
    12641 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12642 Date:   Mon Aug 9 15:19:58 2010 +0200
    12643 
    12644     New selection: unselect-molecule-of-atom.
    12645 
    12646 commit 381c5fe8fd9ca93694a21da8584771be55a797fc
    12647 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12648 Date:   Mon Aug 9 15:15:15 2010 +0200
    12649 
    12650     New selection: unselect-molecules-atoms.
    12651 
    12652 commit 481e9213138a06f3024b941f985d8988719fa579
    12653 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12654 Date:   Mon Aug 9 15:10:33 2010 +0200
    12655 
    12656     New selection: select-molecule-of-atom.
    12657 
    12658 commit 770287d80fd62a4701803c0bc5a84438f8d5043b
    12659 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12660 Date:   Mon Aug 9 14:57:20 2010 +0200
    12661 
    12662     new selection: select-molecules-atoms.
    12663 
    12664 commit 2218d94da90f7417d65be48472c11c4a30562458
    12665 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12666 Date:   Mon Aug 9 14:49:19 2010 +0200
    12667 
    12668     New selection: clear-molecule-selection.
    12669 
    12670 commit e212ff44099f167003b8536a5d60337d9b9100be
    12671 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12672 Date:   Mon Aug 9 14:43:36 2010 +0200
    12673 
    12674     New selection: clear-atom-selection.
    12675 
    12676 commit 458447148305e8652c9767fbb7d7dd8fe57fbb22
    12677 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12678 Date:   Sat Aug 7 17:05:07 2010 +0200
    12679 
    12680     Little hack (thanks Ralf!) allows for parallel execution of regression testsuite.
    12681    
    12682     - TODO: would be great to actually extract the number of threads from make somehow
    12683 
    12684 commit 97b8250638c1abf3f888625d1d3888a08cb06cb2
    12685 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12686 Date:   Sat Aug 7 16:44:24 2010 +0200
    12687 
    12688     Shortened constructors [Meyers, "Effective C++" item 12]
    12689    
    12690     - also rearranged some initialization list (one per line).
    12691 
    12692 commit 5b4605879f206787e91bf952de2889919646bf52
    12693 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12694 Date:   Sat Aug 7 15:59:43 2010 +0200
    12695 
    12696     operator[+-*] return const instance [Meyer, "Effective C++", item 21].
    12697    
    12698     - class Vector had this correct, class Matrix not (also for *=,+=).
    12699 
    12700 commit 88b400a534a193491b7a14d803ade4432b9130f5
    12701 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12702 Date:   Sat Aug 7 15:46:16 2010 +0200
    12703 
    12704     converted #define's to enums, consts and typedefs [Meyers, "Effective C++", item 1].
    12705    
    12706     basic changes:
    12707     - #define bla 1.3 -> const double bla = 1.3
    12708     - #define bla "test" -> const char * const bla = "test
    12709     - use class specific constants! (HULLEPSILON)
    12710         const int Class::bla = 1.3; (in .cpp)
    12711         static const int bla; (in .hpp inside class private section)
    12712     - "enum hack": #define bla 5 -> enum { bla = 5 };
    12713      - if const int bla=5; impossible
    12714      - e.g. necessary if constant is used in array declaration (int blabla[bla];)
    12715    
    12716     details:
    12717     - new file defs.cpp where const double reside in and are referenced by extern "C" const double
    12718     - joiner.cpp: main() had to be changed due to concatenation of two #define possible, of two const char * not
    12719     - class specific constants: HULLEPSILON, BONDTHRESHOLD, SPHERERADIUS
    12720     - extended GetPathLengthonCircumCircle to additional parameter HULLEPSILON
    12721 
    12722 commit 44de80aad4e4cc3c602e36897dda27b31e4eacfc
    12723 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12724 Date:   Fri Aug 6 17:15:49 2010 +0200
    12725 
    12726     Added blurred INS logo in the background of the TRAC logo.
    12727 
    12728 commit 25b9d246a82b6caaece7f1c6156c22c010172cb4
    12729 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12730 Date:   Fri Aug 6 14:34:05 2010 +0200
    12731 
    12732     Removed some unused variables.
    12733 
    12734 commit 2d292d0f4846ba3244d8f5f54b475dd72cd28fe4
    12735 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12736 Date:   Fri Aug 6 14:26:27 2010 +0200
    12737 
    12738     FIX: Removed unnecessary "Process.hpp" included from some normal derived Actions.
    12739 
    12740 commit 8f4df1ef77448922e1b977a3e138bcc2a4a4dad0
    12741 Merge: 8d6d31e d740776
    12742 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12743 Date:   Sat Aug 7 14:07:04 2010 +0200
    12744 
    12745     Merge branch 'AtomicPositionEncapsulation' into stable
    12746    
    12747     Conflicts:
    12748         src/Actions/AtomAction/ChangeElementAction.cpp
    12749         src/Actions/WorldAction/RemoveSphereOfAtomsAction.cpp
    12750         src/Makefile.am
    12751         src/UIElements/TextUI/TextDialog.cpp
    12752         src/analysis_correlation.hpp
    12753         src/atom.cpp
    12754         src/atom_atominfo.hpp
    12755         src/bond.cpp
    12756         src/boundary.cpp
    12757         src/molecule_geometry.cpp
    12758         src/tesselation.cpp
    12759         src/tesselationhelpers.cpp
    12760         src/triangleintersectionlist.cpp
    12761         src/unittests/Makefile.am
    12762    
    12763     - fixed #includes due to moves to Helpers and LinearAlgebra
    12764     - moved VectorInterface.* and vector_ops.* to LinearAlgebra
    12765     - no more direct access of atom::node, remapped to set/getPosition()
    12766     - no more direct access to atom::type, remapped to set/getType() (also in atom due to
    12767      derivation and atominfo::AtomicElement is private not protected).
    12768 
    12769 commit 8d6d31e159e6d6b40179835f02717acb3398e53f
    12770 Merge: 3273649 1bab08d
    12771 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12772 Date:   Fri Aug 6 19:13:53 2010 +0200
    12773 
    12774     Merge branch 'FixTesselationXyzParser' into stable
    12775 
    12776 commit 1bab08dd8769615421ff6911352f85a1980b1b2a
    12777 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12778 Date:   Fri Aug 6 19:12:54 2010 +0200
    12779 
    12780     Tesselations now work directly on the xyz file and don't parse them in.
    12781    
    12782     - due to changes to XyzParser::load() a new molecule is created (which does not have id 0) anymore.
    12783     - also, as we don't change the xyz file there is no need to create a config file.
    12784 
    12785 commit 3273649ad568fc4313b80bd99826e13471458132
    12786 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12787 Date:   Fri Aug 6 18:56:59 2010 +0200
    12788 
    12789     Rotate to PAS is fixed.
    12790    
    12791     - was marked BROKEN before in test case, is now fixed.
    12792     - test case is extended to multiple rotated system.
    12793     - Note that only the alignment to z axis is fixed, there is still a degree of freedom in rotating around the axis. Hence, each rotated initial needs its own final configuration.
    12794 
    12795 commit 31db5bec2df65d790b2347935eb2728b268a6a52
    12796 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12797 Date:   Fri Aug 6 18:49:14 2010 +0200
    12798 
    12799     Added test cases for Actions rotate-origin and rotate-self.
    12800 
    12801 commit 90bc51774be4b7f550eb9afe64fe3212c4a8abbc
    12802 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12803 Date:   Fri Aug 6 18:48:21 2010 +0200
    12804 
    12805     FIX: RotateAroundSelfByAngleAction also gets position, using a selected atom is nonsense.
    12806    
    12807     - fixed friend signature
    12808     - fixed state
    12809 
    12810 commit 4a06d6f6edff640f888191895deb3c368a27121b
    12811 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12812 Date:   Fri Aug 6 18:45:09 2010 +0200
    12813 
    12814     FIX: friend function of RotateAroundOriginByAngleAction had wrong signature.
    12815    
    12816     - also fixed RotateAroundOriginByAngleAction::performCall(): RotationAxis and "done" out of loop.
    12817 
    12818 commit e0ba10aefbf9eb54616b612a684311eb6f9bc3e9
    12819 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12820 Date:   Fri Aug 6 18:43:34 2010 +0200
    12821 
    12822     Added output operator to Line class.
    12823 
    12824 commit dddbfeb3a4d92c72574c1adc455880b061dd829b
    12825 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12826 Date:   Fri Aug 6 17:50:00 2010 +0200
    12827 
    12828     FIX: XyzParser::Load() did not create a molecule wherein all atoms were placed.
    12829    
    12830     - BUGFIX: atom::setMolecule() invokes mol->AddAtom which again invokes setMolecule ... infinite loop, instead use insert()
    12831     - ChangeElementAction needs to remove and re-add the atom such that molecule is notified of element change.
    12832     - this makes later use of the molecule only possible via subgraph dissection.
    12833     - hence, we create a molecule, set it active and put it into World's deprecated MoleculeListClass.
    12834 
    12835 commit e97a44b5119094d977c214dd391137f01d79794c
    12836 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12837 Date:   Fri Aug 6 17:25:38 2010 +0200
    12838 
    12839     Added verbose message on save to all derived FormatParser and ChangeTracker.
    12840 
    12841 commit 2204b0a72e99629eca90c7fd007625e223635cbd
    12842 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12843 Date:   Fri Aug 6 17:25:16 2010 +0200
    12844 
    12845     Added Undo/Redo capability to rotate-origin and rotate-self Actions.
    12846 
    12847 commit 4bb63cebe2b2dd7978e57bf927ba4d503023a824
    12848 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12849 Date:   Fri Aug 6 17:24:50 2010 +0200
    12850 
    12851     made molecule::DetermineCenterOfGravity() a const member function.
    12852 
    12853 commit e5883128c9b538e00e0039add7baf84f55d413c4
    12854 Merge: 822f019 311d688
    12855 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12856 Date:   Fri Aug 6 16:10:26 2010 +0200
    12857 
    12858     Merge branch 'stable' into StructureRefactoring
    12859 
    12860 commit 822f019130ed6abc1bd095b4f6652208527de7a9
    12861 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12862 Date:   Fri Aug 6 16:09:12 2010 +0200
    12863 
    12864     Removed obsolete molecule::IsEqualToWithinRange() method
    12865 
    12866 commit e5c0a1f2c378f5ba38776b0cbdd720632338e25c
    12867 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12868 Date:   Fri Aug 6 16:01:13 2010 +0200
    12869 
    12870     Made the periodentafel return only "const element *" instead of "element * const", to avoid unexpected changes to stored elements
    12871    
    12872     - Note: returning "type * const" from a function does not make sense, since the pointer has to be copied anyway (calling convention),
    12873       so the calling function can just do another copy to get a non const version of the pointer
    12874 
    12875 commit eaf4aedf2479140bfa1a55533ac0f0e740d87acb
    12876 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12877 Date:   Fri Aug 6 14:35:12 2010 +0200
    12878 
    12879     Added two new actions.
    12880    
    12881     - RotateAroundOriginByAngle: Rotates around a given axis (origin to "position") by an angle.
    12882     - RotateAroundSelfByAngle: Rotates around axis (CoG to selected atom) by angle.
    12883 
    12884 commit 6e5084ba8942d5b07318fb32c642c0078c9dafe5
    12885 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12886 Date:   Thu Aug 5 16:34:18 2010 +0200
    12887 
    12888     Fixed PrincipalAxisSystemAction.
    12889    
    12890     - PrincipalAxisSystemAction:performCall() now has initial parts of former molecule::PrincipalAxisSystem()
    12891     - RotateToPrincipalAxisSystemAction::performCall () now has former molecule::PrincipalAxisSystem()
    12892     - call in PrepareClustersinWater() replaced by call to this Action
    12893     - changes in PrincipalAxisSystemAction/RotateToPrincipalAxisSystemAction:
    12894      - use Matrix class for InertiaTensor
    12895      - use Vector class for axis
    12896      - use Line class for rotation axis
    12897 
    12898 commit a439e552b524ad69d77533afc340c392ecf15aab
    12899 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12900 Date:   Thu Aug 5 16:27:34 2010 +0200
    12901 
    12902     New functions vor class Vector and Matrix.
    12903    
    12904     Matrix:
    12905      - transpose() (returning copy and on itself)
    12906      - zero() (initialize to zero)
    12907      - transformToEigenbasis() (columns are eigenvectors, return value has eigenvalues)
    12908    
    12909     Vector:
    12910      - GreatestComponent() (yields index of greatest component)
    12911      - SmallestComponent() (same for smallest)
    12912 
    12913 commit 2a76b0d2f8f171ff646f96c33fad3043938bdb23
    12914 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12915 Date:   Fri Aug 6 14:33:59 2010 +0200
    12916 
    12917     Added copy constructor and assignment operator to class element
    12918 
    12919 commit 7e3fc94fcde548b6969916aca84f22f11e3403d7
    12920 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12921 Date:   Fri Aug 6 14:21:14 2010 +0200
    12922 
    12923     Made the element class use strings to store name and symbol
    12924 
    12925 commit 2fe9719f8a0aa9ecd805749ffe7ff7b10ebcc6fe
    12926 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12927 Date:   Fri Aug 6 14:13:51 2010 +0200
    12928 
    12929     Made fields name and symbol of element class private
    12930 
    12931 commit ff6a100b82687d82d4c2fef31bdf265072bad599
    12932 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12933 Date:   Fri Aug 6 13:53:30 2010 +0200
    12934 
    12935     Added setter for fields name and symbol of element class
    12936 
    12937 commit 592ccdb22c79d58b6ed3521acb70f7f78faab27e
    12938 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    12939 Date:   Fri Aug 6 13:37:28 2010 +0200
    12940 
    12941     Removed some obsolete fields from element class
    12942 
    12943 commit 311d688cceaee3c8edc791df712eb8acd1912436
    12944 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12945 Date:   Fri Aug 6 11:36:58 2010 +0200
    12946 
    12947     Replaced ostream and iostream includes in header by iosfwd.
    12948    
    12949     Note that <iosfwd> is explicitly the forward declaration for iostream to speed up compilation (iostream is heavily templated/tepydef'd hence usualy "class ostream;" is not valid)
    12950 
    12951 commit d223d5e07c484fa4ef7f54e88e97fa78b5c0b504
    12952 Merge: b6da28a 2559719
    12953 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12954 Date:   Fri Aug 6 11:24:26 2010 +0200
    12955 
    12956     Merge branch 'SharedLibraries' into stable
    12957    
    12958     - BUGFIX: MemDebug.cpp in case of no MEMDEBUG defined, iosfwd include was missing.
    12959    
    12960     Conflicts:
    12961         src/Actions/AnalysisAction/PointCorrelationAction.hpp
    12962         src/Actions/Makefile.am
    12963         src/Makefile.am
    12964         src/UIElements/Makefile.am
    12965         src/unittests/Makefile.am
    12966         src/unittests/ShapeUnittest.cpp
    12967    
    12968     - Mostly took over stuff from branch SharedLibraries as ..LIBS statments in Makefile.ams changed.
    12969     - target unity always put at very end, added also to Exceptions, LinearAlgebra, Parser
    12970     - ShapeUnittest lacked changes of files moved to LinearAlgebra
    12971 
    12972 commit b6da28aa93e0ef0e0a6bd47a13b2455fbe34caff
    12973 Merge: 6d587e8 06f4ef6
    12974 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12975 Date:   Thu Aug 5 22:15:01 2010 +0200
    12976 
    12977     Merge branch 'FixShapeUnittest' into stable
    12978 
    12979 commit 6d587e8c4db7b798bb3b5d7a0b1bdf18f8b3ecef
    12980 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12981 Date:   Thu Aug 5 22:07:32 2010 +0200
    12982 
    12983     TEST: Removed heptan from Tesselations testsuite due to instability of results with regards to Delauney degeneracy.
    12984 
    12985 commit a881f5b49bdbb93ecd4c8ff5c5d3e58eea5101f6
    12986 Merge: 5fbaeb0 f761c4e
    12987 Author: Frederik Heber <heber@ins.uni-bonn.de>
    12988 Date:   Thu Aug 5 22:06:42 2010 +0200
    12989 
    12990     Merge branch 'StructureRefactoring' into stable
    12991    
    12992     Conflicts:
    12993         src/Actions/AnalysisAction/PairCorrelationAction.hpp
    12994         src/Actions/AnalysisAction/SurfaceCorrelationAction.hpp
    12995    
    12996     - due to different ordering of vector, string includes
    12997 
    12998 commit f761c4ebcd2d4747f7ad2cc0dfad35b150f76bd0
    12999 Merge: ec149d5 7baf4a7
    13000 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13001 Date:   Thu Aug 5 21:56:22 2010 +0200
    13002 
    13003     Merge branch 'StructureRefactoring' of jupiter:molecuilder into StructureRefactoring
    13004 
    13005 commit 255971975c50c64de776d5989f15e9fe00fe9e44
    13006 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13007 Date:   Thu Aug 5 19:48:17 2010 +0200
    13008 
    13009     Converted libMolecuilder to shared lib via libtool.
    13010    
    13011     - joiner and analyzer now also need libMolecuilderLinearAlgebra and ..Exceptions
    13012 
    13013 commit b37436fa9715dfb6e1303adf13e96697e9e8306b
    13014 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13015 Date:   Thu Aug 5 21:46:06 2010 +0200
    13016 
    13017     Converted libMolecuilderUI to shared lib via libtool.
    13018 
    13019 commit 952f384acb0e9ac4e3de4c2ad9da1e8ceaf2c797
    13020 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13021 Date:   Thu Aug 5 21:41:21 2010 +0200
    13022 
    13023     created LibMolecuilderHelpers.
    13024    
    13025     - is shared
    13026     - renamed log.[ch]pp -> Log.[ch]pp
    13027     - renamed verbose.[ch]pp -> Verbose.[ch]pp
    13028     - renamed info.[ch]pp -> Info.[ch]pp
    13029     - contains: Assert, MemDebug, Log, logger, errorlogger, Verbose, Info
    13030     - had to change includes practically everywhere.
    13031 
    13032 commit 57f243922d6a515597472d712ff918560df755e2
    13033 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13034 Date:   Thu Aug 5 21:19:15 2010 +0200
    13035 
    13036     Created libMolecuilderLinearAlgebra.
    13037    
    13038     - is shared.
    13039     - contains the following classes: Line, Plane, Space, Vector, Matrix, gslvector, gslmatrix, linearsystemofequations
    13040     - had to change include path almost everywhere
    13041     - change linkin in src/ and src/unittests/Makefile.am
    13042 
    13043 commit f4b5b7b506c66a34d10f4528f8da8719ccd423c8
    13044 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13045 Date:   Thu Aug 5 21:10:07 2010 +0200
    13046 
    13047     Created LibMolecuilderExceptions.
    13048    
    13049     - is shared.
    13050     - contains all Exceptions.
    13051 
    13052 commit 06f4ef645cd755820805c9c8357f3bc4975bd8d6
    13053 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13054 Date:   Thu Aug 5 21:20:18 2010 +0200
    13055 
    13056     BUGFIX: typo included vector.cpp not .hpp as intended.
    13057 
    13058 commit 7baf4a755fce74f03900c50aea2f05421b08eac9
    13059 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13060 Date:   Thu Aug 5 18:03:16 2010 +0200
    13061 
    13062     Made the molecule::OutputTrajectoriesXYZ() and molecule::OutputXYZ() use the STL
    13063 
    13064 commit 0eea14179ca714a27601bfd4af614290fe11ba9e
    13065 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13066 Date:   Thu Aug 5 17:49:25 2010 +0200
    13067 
    13068     Made the molecule::OutputListOfBonds() method use STL algorithms
    13069 
    13070 commit 6a86ce181051608f478cba18847ac221130edb5e
    13071 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13072 Date:   Thu Aug 5 16:21:47 2010 +0200
    13073 
    13074     libparser is now a shared library libMolecuilderParser
    13075    
    13076     Necessary changes:
    13077     - libMolecuilderActions now depends on libMolecuilderParser
    13078     - libparser.a exchanged by libMolecuilderParser-@...@.la
    13079     - added lib to description in ../molecuilder.pc.in
    13080     - new Makefile.am in src/Parser
    13081 
    13082 commit 8618749ecbb50515e1e0493c477373586170ee2f
    13083 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13084 Date:   Thu Aug 5 17:46:45 2010 +0200
    13085 
    13086     libMolecuilderAction is now a shared lib via libtool.
    13087    
    13088     This is all taken from the example available at http://www.openismus.com/documents/linux/building_libraries/building_libraries/building_libraries.shtml.
    13089    
    13090     Necessary changes:
    13091     - ValueStorage is now part of Actions, not of UIElements anymore (which is actually as it should have been right away, only Dialog uses ValueStorage and for all Actions ValueStorage is the simple adapter pattern to MapOfActions needed the relax (compilation) dependencies).
    13092     - new files:
    13093       - config/ltmain.sh (scipt for libtool)
    13094       - libmolecuilder_config.h.in (extra config.h which is copied along with lib to contain how it has been compiled)
    13095       - molecuilder.pc.in (package config information
    13096     - BUGFIX: m4/gwqt4.m4 added -L$X_libraries, however $X_libraries was nowhere set and libtool admonished the empty "-L"
    13097     - libMolecuilderUI now depends on libMolecuilderAction
    13098     - all unit tests now have libMolecuilderAction and libMolecuilderUI due to non-interactive calls of actions
    13099 
    13100 commit 0ba4103fb29b3b7e601800e6a20213e08ebef164
    13101 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13102 Date:   Thu Aug 5 17:46:01 2010 +0200
    13103 
    13104     made the molecule::Output() method use STL algorithms
    13105 
    13106 commit bf8e2011562f9d20279686ee614b46b1841057b6
    13107 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13108 Date:   Thu Aug 5 17:40:24 2010 +0200
    13109 
    13110     Added missing OBSERVE markers and formula updates in molecule class
    13111 
    13112 commit 6cb9c7693351852c2d0ddaed62d6aa758c69bf10
    13113 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13114 Date:   Thu Aug 5 17:31:44 2010 +0200
    13115 
    13116     Changed order of destruction in World destructor
    13117 
    13118 commit e345e3bcd6441a307cf3d1c99cbaaaf71fe6fdc1
    13119 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13120 Date:   Thu Aug 5 17:16:03 2010 +0200
    13121 
    13122     Added output operator for element class
    13123 
    13124 commit 0cc92bd647a343a5a88f690412f93ba23d423db5
    13125 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13126 Date:   Thu Aug 5 16:39:37 2010 +0200
    13127 
    13128     Made the molecule::CopyMolecule() method use STL algorithms
    13129 
    13130 commit 00abfcfa5a74be07945fa53e805a43f3868a7993
    13131 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13132 Date:   Thu Aug 5 16:32:25 2010 +0200
    13133 
    13134     Added a method to class atom that determines if the father of this atom is some pointer
    13135 
    13136 commit 426f2ac4fc2c6790953b4c927a1b9d9cc85dd8d0
    13137 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13138 Date:   Thu Aug 5 16:24:41 2010 +0200
    13139 
    13140     Added a method to enumerate formulas
    13141 
    13142 commit d36ffbab8040e6048ca9da1dc9895d50041e2e05
    13143 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13144 Date:   Thu Aug 5 16:23:55 2010 +0200
    13145 
    13146     Removed unused field No in element class
    13147 
    13148 commit d9f51cb280e98ac944ead00ed03c5ba44dea72a4
    13149 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13150 Date:   Thu Aug 5 16:23:23 2010 +0200
    13151 
    13152     Added some basic structures for enumeration of STL containers
    13153 
    13154 commit 097902be5ff8ef57bf1cc3c04b8b7a9b5647e471
    13155 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13156 Date:   Thu Aug 5 14:35:29 2010 +0200
    13157 
    13158     Made the Programm dump some memory statistics to a file when an assertion fails
    13159 
    13160 commit ec149d57eafe254945c9fd3a0cf4a7328635e2bd
    13161 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13162 Date:   Thu Aug 5 16:25:40 2010 +0200
    13163 
    13164     BUGFIX: ActionSequenceTest::doesUndoTest() had typo, used wasCalled1 twice instead of wasCalled2.
    13165 
    13166 commit 0078393b69ff604aa9582a10c2b058d0fa571aeb
    13167 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13168 Date:   Thu Aug 5 14:12:25 2010 +0200
    13169 
    13170     Made the Programm abbort when an assertion fails in non-interactive mode
    13171 
    13172 commit 997b2a6a84c3c8d0693efb66718dbd538215da33
    13173 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13174 Date:   Thu Aug 5 14:02:37 2010 +0200
    13175 
    13176     Added one more complex test to formulatest
    13177 
    13178 commit 38e075ea05aab70de5bf8ff6266d02dd21e2b43b
    13179 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13180 Date:   Thu Aug 5 13:10:03 2010 +0200
    13181 
    13182     Added one more error condition for formula parsing
    13183 
    13184 commit 668e2869001135836aeeff00a70261130c6ce31a
    13185 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13186 Date:   Thu Aug 5 12:46:38 2010 +0200
    13187 
    13188     Added testing for more complex formulas
    13189 
    13190 commit 4d1d4360e09cdfacfe99c95631de6c82c32aa3aa
    13191 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13192 Date:   Thu Aug 5 12:46:06 2010 +0200
    13193 
    13194     Improved formula parsing to include more complex expressions
    13195 
    13196 commit 9d580369e5b1b993a658fb00a53cf0fcc2da9e1f
    13197 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13198 Date:   Thu Aug 5 11:51:03 2010 +0200
    13199 
    13200     Added a method that allows adding complete formulas to one another
    13201 
    13202 commit 68047038369d89ac57d37246b5395f854b7950f7
    13203 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13204 Date:   Thu Aug 5 11:49:50 2010 +0200
    13205 
    13206     Fixed some missing return statements
    13207 
    13208 commit 506d2f46e4d2d0dcb38acbd0f2eb161166af5cae
    13209 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13210 Date:   Wed Aug 4 16:43:44 2010 +0200
    13211 
    13212     Speed up of ASSERT macro by only calling the _my_assert::check() function when an assertion needs to be handled
    13213 
    13214 commit 00fca342f5a4daaf7dfd8f749ff2e5ea93cf37be
    13215 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13216 Date:   Wed Aug 4 16:43:16 2010 +0200
    13217 
    13218     Removed duplicate include of MemDebug.hpp in TextWindow.cpp
    13219 
    13220 commit 90aeb9429ecb7ac9202ee9810aa2ed003e1612f8
    13221 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13222 Date:   Wed Aug 4 16:17:49 2010 +0200
    13223 
    13224     Added a method to access the backtrace when an assert fails
    13225 
    13226 commit 796aa6109f3bcda0d0023cb6b215cc697b7f10b4
    13227 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13228 Date:   Wed Aug 4 15:25:25 2010 +0200
    13229 
    13230     Added faster unity build target to makefiles
    13231    
    13232     - unity build means a single compilation unit is build which is then send to the compiler for compilation
    13233     - unity build is for fast recompiles when a lot of compilation units are covered
    13234     - see: http://buffered.io/2007/12/10/the-magic-of-unity-builds/
    13235 
    13236 commit 10d29055035af308d1f48af87d768242f73e471b
    13237 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13238 Date:   Wed Aug 4 14:50:20 2010 +0200
    13239 
    13240     Repaired build of testrunner for unittests
    13241 
    13242 commit d193a2dee7706bf98b76733a9baf103bb6afd0a7
    13243 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13244 Date:   Wed Aug 4 14:37:50 2010 +0200
    13245 
    13246     Simplyfied building of QT4 mocfiles needed for GUI
    13247 
    13248 commit ca275d750e80aa558cd420b123b22061e5c42f1d
    13249 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13250 Date:   Wed Aug 4 14:27:21 2010 +0200
    13251 
    13252     Seperated some basic parts of the molecuilder inside their own library
    13253 
    13254 commit 839e850f2c609aafed3de79cbd46463a49fb8515
    13255 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13256 Date:   Wed Aug 4 12:19:50 2010 +0200
    13257 
    13258     Removed some unecessary opened namespaces
    13259 
    13260 commit c4b85d6ea1f5d2cf83890375367e8b2d50b68ca6
    13261 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13262 Date:   Wed Aug 4 12:03:57 2010 +0200
    13263 
    13264     Removed typo in Header guard of SubgraphDissectionAction.hpp
    13265 
    13266 commit 8dc761403e0832fbb5a835e5d44e9cfde8c500d3
    13267 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13268 Date:   Wed Aug 4 12:02:48 2010 +0200
    13269 
    13270     Added missing header guards in linearsystemofequations.hpp
    13271 
    13272 commit 53fb711e3dd431c8723ef18853d48e058d5f8378
    13273 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13274 Date:   Wed Aug 4 11:58:12 2010 +0200
    13275 
    13276     Changed name of state in NotAllAtomsAction from SelectionAllAtomsState to SelectionNotAllAtomsState
    13277 
    13278 commit 11e20632b415a9873a895417c6ff2f4b36ac2909
    13279 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13280 Date:   Wed Aug 4 11:34:45 2010 +0200
    13281 
    13282     Removed multiple definitions of some global constants from executeable
    13283 
    13284 commit d74077614bf2a27f66c91bf6bce70250442a0463
    13285 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13286 Date:   Sat Jul 31 17:23:10 2010 +0200
    13287 
    13288     Member variable Vector and element of class atom are now private.
    13289    
    13290     - renamed to AtomicPosition
    13291     - created interface class VectorInterface with alle functions from class Vector as virtual ones
    13292     - implemented in AtomInfo
    13293     - everywhere direct access to AtomicPosition has been replaced by get/setPosition() and others
    13294     - for element get/setType() have been present already, direct access has been replaced by calling of these.
    13295     - class TesselPoint now derives from AtomInfo and ParticleInfo
    13296     - tesselation.cpp split up
    13297       - new files for the classes: BoundaryLineSet, BoundaryPointSet, BoundaryPolygonSet, BoundaryTriangleSet, CandidateForTesselation, PointCloud, TesselPoint
    13298       - all defines are in BoundaryMaps.hpp
    13299 
    13300 commit 0632c5011c407d14824f9834dbe1d8ffa6cbd014
    13301 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13302 Date:   Fri Jul 30 16:10:27 2010 +0200
    13303 
    13304     Removed some BOOST_FOREACH iterations and replaced with simpler mapping on the Set
    13305 
    13306 commit a33ea5ee15b185147dacaeb121ba462dfa2bdf6b
    13307 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13308 Date:   Fri Jul 30 16:09:36 2010 +0200
    13309 
    13310     Added a method to the AtomSetMixin that allows mapping arbitrary functions to the position of all atoms
    13311 
    13312 commit 14d54126c5f1aa147041e69c8aec444f7c7197f9
    13313 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13314 Date:   Fri Jul 30 16:09:06 2010 +0200
    13315 
    13316     Made the molecule class use the new mixin
    13317 
    13318 commit 4d72e4d6e030dc6233596e0465f6514d6797fbd8
    13319 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13320 Date:   Fri Jul 30 15:07:00 2010 +0200
    13321 
    13322     Made the World use the new mixin for sets of atoms
    13323 
    13324 commit 5a5c476a662f9c7033228100437ed54dbb00f75c
    13325 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13326 Date:   Fri Jul 30 15:05:55 2010 +0200
    13327 
    13328     Added a mixin for STL-Containers that carry atom* to add specialized functions to those containers
    13329 
    13330 commit 316d3abc887e74a9f66240c743395e313347964b
    13331 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13332 Date:   Fri Jul 30 14:38:01 2010 +0200
    13333 
    13334     More testing added for BoxUnittest
    13335 
    13336 commit e1ab975f05cdcd75e351896a3442ae67466fd10a
    13337 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13338 Date:   Fri Jul 30 14:26:49 2010 +0200
    13339 
    13340     Added a function that allows fast creation of a cuboid box by giving the second endpoint
    13341 
    13342 commit d2938f559cdfcf2c43689e8fd5ac000b44e4456b
    13343 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13344 Date:   Fri Jul 30 14:18:18 2010 +0200
    13345 
    13346     FIX: Several problems with Wrap and Explode code of box detected by unittest
    13347 
    13348 commit 77bc4fe0cdca64f3dfd9a7c6099d2fae25eb1562
    13349 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13350 Date:   Fri Jul 30 14:17:56 2010 +0200
    13351 
    13352     Added Unittest for Box class
    13353 
    13354 commit 04e61ae7b58467011d8a43d40965adf5c17ef5db
    13355 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13356 Date:   Fri Jul 30 10:41:24 2010 +0200
    13357 
    13358     Fixed a small bug in the valgrinding part of the test script
    13359 
    13360 commit 16648f2a24b05c56b2e93ec5618bf5332f5ce6c8
    13361 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13362 Date:   Thu Jul 29 18:09:57 2010 +0200
    13363 
    13364     Made the Box::explode() method handle boundary conditions
    13365 
    13366 commit f3be871105a51d83420a3be4cb717bc407fcadcb
    13367 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13368 Date:   Thu Jul 29 16:48:25 2010 +0200
    13369 
    13370     Made the Box::isInside() method respect ignored boundaries
    13371 
    13372 commit f1c8382b9f9fe8d0ed8c2cf899995c147189853f
    13373 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13374 Date:   Thu Jul 29 16:45:56 2010 +0200
    13375 
    13376     FIX: periodicDistance could be off, if both vectors are more then one Box-lenght apart
    13377 
    13378 commit c7256258ce9028e987b6933cf437a2e6f7674e9b
    13379 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13380 Date:   Thu Jul 29 16:35:53 2010 +0200
    13381 
    13382     Added a method that allows periodic wrapping of points depending on the boundary condition
    13383 
    13384 commit 29ac783cec550c47c227635304d0424ceb3f0714
    13385 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13386 Date:   Thu Jul 29 15:47:31 2010 +0200
    13387 
    13388     Added a method that produces the bounding planes for a Box
    13389 
    13390 commit 77374ea2c8074d8013ec77f48bccfe1fdc84182c
    13391 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13392 Date:   Thu Jul 29 15:33:14 2010 +0200
    13393 
    13394     Added BoundaryConditions to the Box class
    13395 
    13396 commit 031f629b0c3db6e79c133dfa3b75ce4ca9fb6212
    13397 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13398 Date:   Thu Jul 29 15:53:17 2010 +0200
    13399 
    13400     Made the Action test if the dialog contains queries, when interactive calls are handled
    13401 
    13402 commit c508ef501e6259b2d06b29fc1c28beafbb772063
    13403 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13404 Date:   Thu Jul 29 15:52:07 2010 +0200
    13405 
    13406     Added a method to test wether a Dialog actually has queries to do
    13407 
    13408 commit 112f90d8bcaa5639e2da0aacacc5b07896bbb981
    13409 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13410 Date:   Thu Jul 29 14:23:21 2010 +0200
    13411 
    13412     Fixed ActionSequenceTest and ManipulateAtomsTest
    13413 
    13414 commit 047878507f119431554d5b20d04f22722ba5bbed
    13415 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13416 Date:   Thu Jul 29 13:46:26 2010 +0200
    13417 
    13418     made all actions pass on the dialogs and add the corresponding queries
    13419 
    13420 commit f7ee68455b736a8ecdfe1712d7827666c2b1f792
    13421 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13422 Date:   Thu Jul 29 13:39:41 2010 +0200
    13423 
    13424     Added a simple UI-Stub to be used in Unittests
    13425 
    13426 commit 5fbaeb0a70534a7d02d8188750e4dc9128380676
    13427 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13428 Date:   Thu Jul 29 12:51:43 2010 +0200
    13429 
    13430     TESTFIX: test_all.sh used "all install" under compile() which causes glitches when compiling with multiple threads.
    13431    
    13432     - This caused e.g. error code of 2 due to two glitches despite the executables still got compiled in the end.
    13433     - As all tests are done on not-installed binaries, we can safely removed "install" from the make command.
    13434 
    13435 commit 519e6385868c3113e826f198368bbe6242ea3e51
    13436 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13437 Date:   Thu Jul 29 12:51:01 2010 +0200
    13438 
    13439     BUGFIX: includes for vector and string were missing.
    13440 
    13441 commit 0bb05aafb7fc529b88af2f985c63c3371f82b845
    13442 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13443 Date:   Thu Jul 29 12:50:42 2010 +0200
    13444 
    13445     BUGFIX: include for boost/lexical_cast.hpp was missing.
    13446 
    13447 commit 4c9a97f55a0e6bff73cafb2b760c75bbe1474ac5
    13448 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13449 Date:   Thu Jul 29 10:57:20 2010 +0200
    13450 
    13451     FIX: added some forgotten includes to fix NO_MEMDEBUG builds
    13452 
    13453 commit 9106c6402d2f9b63468cbd99c4736296903cc4cb
    13454 Merge: b1a39b1 a7b777c
    13455 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13456 Date:   Wed Jul 28 15:48:50 2010 +0200
    13457 
    13458     Merge branch 'StructureRefactoring' into stable
    13459 
    13460 commit b1a39b130749accaf2cd0103a233cf86ae75ba4d
    13461 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13462 Date:   Wed Jul 28 15:43:41 2010 +0200
    13463 
    13464     Logo for the TRAC of molecuilder created.
    13465 
    13466 commit 2ad48247b6f9de9eea8821024e501debd95f776e
    13467 Merge: 69baa45 a7b777c
    13468 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13469 Date:   Wed Jul 28 15:01:13 2010 +0200
    13470 
    13471     Merge branch 'StructureRefactoring' into Shapes
    13472 
    13473 commit a7b777c63b3b50eee5da3df0edbd51b6e7eaad91
    13474 Merge: 677e130 b2d8d07
    13475 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13476 Date:   Wed Jul 28 15:01:02 2010 +0200
    13477 
    13478     Merge branch 'stable' into StructureRefactoring
    13479 
    13480 commit b2d8d07287f34d6bfded72d40c2a8d0ac000fbf2
    13481 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13482 Date:   Wed Jul 28 14:33:02 2010 +0200
    13483 
    13484     Registry pattern split off of ActionRegistry, the latter converted to derive from Registry<Action>
    13485    
    13486     - new header files Registry.hpp and Registry_impl.hpp containing templated registry pattern.
    13487     - ActionRegistry derives from Singleton and Registry<Action>
    13488     - renamed ... to ActionRegistry::isActionPresentByName().
    13489 
    13490 commit 69baa45336bd99a7c3f9d346cd21720262f66f4e
    13491 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13492 Date:   Wed Jul 28 12:28:47 2010 +0200
    13493 
    13494     Added a method to rotate arbitrary planes
    13495 
    13496 commit b596482eafb1c4cbb09102c86f50316403155523
    13497 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13498 Date:   Wed Jul 28 12:05:01 2010 +0200
    13499 
    13500     Added methods that allow rotation of complete lines
    13501 
    13502 commit f12805044cf8664fb21e56e7d0168c021d26ae87
    13503 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13504 Date:   Wed Jul 28 11:43:54 2010 +0200
    13505 
    13506     BUGFIX: Normals were not normalized in shape operations
    13507 
    13508 commit 400170ef8c981c94a522a25f84e44fa7d7fe2ed3
    13509 Merge: c6f3950 677e130
    13510 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13511 Date:   Wed Jul 28 11:35:44 2010 +0200
    13512 
    13513     Merge branch 'StructureRefactoring' into Shapes
    13514 
    13515 commit 677e130f3cbb80cdb1d7c6766dd729592710cd05
    13516 Merge: 7067bd6 0430e31
    13517 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13518 Date:   Wed Jul 28 11:21:14 2010 +0200
    13519 
    13520     Merge branch 'stable' into StructureRefactoring
    13521    
    13522     Conflicts:
    13523         src/Makefile.am
    13524 
    13525 commit d6e7193f589711260bf0478059c147774ab152b9
    13526 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13527 Date:   Tue Jul 27 11:51:40 2010 +0200
    13528 
    13529     BUGFIX: some Molecule...Descriptors::find() function copied the MoleculeSet from getMolecules() instead of using it as reference.
    13530    
    13531     - Strangely though, this caused problems only when checking with test_all.sh and not with normal build (error was undefined ref to ObservedContainer::ObservedContainer(...))
    13532 
    13533 commit 0430e3120648e3906f33481ea1869d1cb3df52a9
    13534 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13535 Date:   Mon Jul 26 20:42:57 2010 +0200
    13536 
    13537     FIX: ActionCalls.hpp removed, ActionRegistry.hpp included instead
    13538    
    13539     - also, extended documentation of Action (Action howto).
    13540 
    13541 commit e076cd4f3c751dde2a536163d4fb7f787a2b947e
    13542 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13543 Date:   Mon Jul 26 20:06:18 2010 +0200
    13544 
    13545     Moved each action call function definition into the header file of the respective action.
    13546 
    13547 commit a8f6ae5ce536803ae6e82914f2201d0c1aa13cc8
    13548 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13549 Date:   Mon Jul 26 19:34:11 2010 +0200
    13550 
    13551     All WorldActions contain now a ActionCall.hpp function.
    13552 
    13553 commit 628b52952e0e149c79ef35a9bb2f6642e2d6e984
    13554 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13555 Date:   Mon Jul 26 19:15:18 2010 +0200
    13556 
    13557     All TesselationsActions contain now a ActionCall.hpp function.
    13558 
    13559 commit 3b7dfb2ecf62a955b44dcc1485337e8a43d366bf
    13560 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13561 Date:   Mon Jul 26 19:15:04 2010 +0200
    13562 
    13563     All SelectionActions contain now a ActionCall.hpp function.
    13564 
    13565 commit 215b89c1e9cba45cc93cbfeab08c569dbea299a7
    13566 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13567 Date:   Mon Jul 26 19:05:46 2010 +0200
    13568 
    13569     All ParserActions contain now a ActionCall.hpp function.
    13570 
    13571 commit 1a3c26204c80008fe2a3b47468292577da52d672
    13572 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13573 Date:   Mon Jul 26 19:03:48 2010 +0200
    13574 
    13575     All MoleculeActions contain now a ActionCall.hpp function.
    13576 
    13577 commit 4ff081f9606c7d6af266d01f479ccdf42cf89038
    13578 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13579 Date:   Mon Jul 26 18:52:24 2010 +0200
    13580 
    13581     All FragmentationActions contain now a ActionCall.hpp function.
    13582 
    13583 commit ecbc9a8de3b5aafb1e22bbde2a54f5a05b496f73
    13584 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13585 Date:   Mon Jul 26 18:47:07 2010 +0200
    13586 
    13587     All CmdActions contain now a ActionCall.hpp function.
    13588    
    13589     - to have the Action's NAME, the action call function has to be friend of the Action.
    13590 
    13591 commit 1a8fbf6987028809244a95a9e6da79edce2cc271
    13592 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13593 Date:   Mon Jul 26 18:41:03 2010 +0200
    13594 
    13595     All AtomActions contain now a ActionCall.hpp function.
    13596    
    13597     - to have the Action's NAME, the action call function has to be friend of the Action.
    13598 
    13599 commit 4e4c4d1e9642e0bc2ac442c428c43eb29952c651
    13600 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13601 Date:   Mon Jul 26 15:39:27 2010 +0200
    13602 
    13603     Shifted select-.. actions from arguments to actions in MapOfActions::DescriptionMap.
    13604 
    13605 commit b31cfad9c427552e0dc8eb0d844f9d10b356c755
    13606 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13607 Date:   Mon Jul 26 15:38:38 2010 +0200
    13608 
    13609     All AnalysisActions contain now a ActionCall.hpp function.
    13610    
    13611     - to have the Action's NAME, the action call function has to be friend of the Action.
    13612 
    13613 commit aa3d7a6b21cecea7518512034a2aaa7e8c66e862
    13614 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13615 Date:   Mon Jul 26 15:37:29 2010 +0200
    13616 
    13617     ActionCalls.hpp header added that contains concise function calls of all actions.
    13618    
    13619     - the pattern is always the same:
    13620      - put parameters into respective entries of ValueStorage
    13621      - call Action::call(NonInteractive)
    13622 
    13623 commit b763940dbc4ff4cab84e0997b21e0e62696f757b
    13624 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13625 Date:   Mon Jul 26 15:36:09 2010 +0200
    13626 
    13627     PrincipalAxisSystemAction takes molecule from selection.
    13628 
    13629 commit a8a010e328f77377ca5cf5d0610c43e918811836
    13630 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13631 Date:   Sun Jul 25 23:55:48 2010 +0200
    13632 
    13633     TESTFIX: tests/Tesselations needed --select-molecule-by-id and removal of sphere-radius.
    13634    
    13635     - TESTFIX: tests/Tesselations/heptan/1.5 ... again a degenerated polygon has its centerline (two triangles) flipped.
    13636 
    13637 commit e65de81ec88b9121fda86385147b35c5ae50fbfc
    13638 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13639 Date:   Sun Jul 25 23:43:56 2010 +0200
    13640 
    13641     Fixed all correlations for new selected sets of molecules.
    13642    
    13643     - MapOfActions: added missing action names point-correlation and surface-correlation.
    13644     - BUGFIX: AnalysisPairCorrelationAction::createDialog() - needs to query for multiple element_s_.
    13645     - BUGFIX: MapOfActions::queryCurrentValue() - added values twice, due to ..ID or Z was not set to -1 after push_back.
    13646     - TESTFIX: Analysis/* all needed --select-all-molecules in front.
    13647     - TESTFIX: Analysis/4 need additional --unselect-molecule-by-id 207 to avoid correlating againts itself.
    13648     - TESTFIX: changed all correlation unit tests, i.e. replaced TestList by allMolecules from getSelectedMolecules().
    13649     - analysis_correlation.[ch]pp:
    13650      - Replaced MoleculeListClass by const std::vector<molecule *>
    13651      - ActiveFlag check is removed, we hand over getSelectedMolecules() from World (or any other vector of molecules) instead.
    13652 
    13653 commit 521bbfdcb3f9d76603e416866b36445f50dddcf1
    13654 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13655 Date:   Sun Jul 25 23:42:34 2010 +0200
    13656 
    13657     DOCUFIX: Filename in header was missing ...Action.[ch]pp.
    13658 
    13659 commit e472eab9f7f6929151469defe1f2df63c0c7f1f5
    13660 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13661 Date:   Sun Jul 25 23:41:34 2010 +0200
    13662 
    13663     Added new all/none selection actions for atoms and molecules.
    13664    
    13665     - new function World::getSelected...() needed for Undo/Redo of new (Not)AllAtoms/AllMoleculesActions.
    13666 
    13667 commit 8d4aa17e45d4c4924afa38b6058dad577c3d5117
    13668 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13669 Date:   Sun Jul 25 21:41:08 2010 +0200
    13670 
    13671     TESTFIX: Filling/2 needed replacement of option --molecule-by-id by action --select-molecule-by-id in front of.
    13672 
    13673 commit 1d9b7d286b00ba8325055cd0a5629ca79e89b120
    13674 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13675 Date:   Sun Jul 25 21:37:53 2010 +0200
    13676 
    13677     TESTFIX: Tesselation/* all needed replacement of option --molecule-by-id by action --select-molecule-by-id in front of, Action changes.
    13678    
    13679     - MapOfActions: removed sphere-radius.
    13680     - NonConvexEnvelopeAction: own argument is now sphere-radius, molecule is by selection.
    13681     - ConvexEnvelopeAction: argument is void, molecule is by selection.
    13682 
    13683 commit 898e0a4df391ec8fe6678473aa1fa316501fd25c
    13684 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13685 Date:   Sun Jul 25 21:34:09 2010 +0200
    13686 
    13687     TESTFIX: Fragmentation/* all needed replacement of option --molecule-by-id by action --select-molecule-by-id in front of.
    13688 
    13689 commit 5b5c4d941263e481d3740de8543772b60dd0020a
    13690 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13691 Date:   Sun Jul 25 21:29:18 2010 +0200
    13692 
    13693     TESTFIX: Molecules/* all needed replacement of option --molecule-by-id by action --select-molecule-by-id in front of.
    13694    
    13695     - MapOfActions: removed molecule-by-id and molecule-by-name
    13696     - MapOfActions: Added selection menu and all four selections, changed descriptions of submenus
    13697     - BUGFIX: MoleculeSaveBondsAction::createDialog() - missing return statement.
    13698 
    13699 commit 8467dfc175bccf3411a7128d55ac9cf9ac50454a
    13700 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13701 Date:   Sun Jul 25 21:16:55 2010 +0200
    13702 
    13703     BUGFIX: BoxValue were upper not lower tridiagonal.
    13704    
    13705     Due to pcp's BoxLength we parse a lower diagonal symmetric matrix and hence BoxValue should parse these as well:
    13706     - FIX: MapOfActions::validate(), BoxCommandLineQuery::handle() and BoxTextQuery::handle()
    13707 
    13708 commit 12008824fc3670b41b975698811410dde6d7084e
    13709 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13710 Date:   Sun Jul 25 21:12:45 2010 +0200
    13711 
    13712     TESTFIX: Simple_configuration/5 needs select-atom-by-id in front of and remove-atom now has MapOfActions::TypeMap entry of void.
    13713 
    13714 commit 02397167df0b91137a5e13eb261a51fddb70bd1e
    13715 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13716 Date:   Sun Jul 25 21:10:44 2010 +0200
    13717 
    13718     TESTFIX: Simple_configuration/4 now needs select-atom-by-id in front.
    13719 
    13720 commit 533838bb6258839e008c280c894b054f56860285
    13721 Merge: e971c49 e2009b3
    13722 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13723 Date:   Sun Jul 25 21:07:06 2010 +0200
    13724 
    13725     Merge branch 'SelectionActions' into SplitDialogFromAction_performCall
    13726    
    13727     Conflicts:
    13728         src/World.cpp
    13729         src/World.hpp
    13730    
    13731     - World had two new functions isSelected() and countSelected...() which both were incorporated.
    13732     - CommandLineParser::Parse() did also add visible which is nonsense, only needed for help screen and prevented parsing of non-generic.
    13733 
    13734 commit e971c49b6c013bf75893b7075dc19dd848a645cc
    13735 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13736 Date:   Sun Jul 25 20:27:39 2010 +0200
    13737 
    13738     Added .gitignore
    13739 
    13740 commit 8d410058bb178563a508e22240f5a6904b36d10e
    13741 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13742 Date:   Sun Jul 25 20:24:40 2010 +0200
    13743 
    13744     BUGFIX: AtomChangeElementAction wrongly expected vector of elements instead of single element.
    13745 
    13746 commit 33b7508a57788b7cdfd9c4759f14b19d528942ae
    13747 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13748 Date:   Sun Jul 25 20:17:35 2010 +0200
    13749 
    13750     TESTFIX: Simple_configuration/3 now discards vector 0,0,-1 being outside of domain.
    13751 
    13752 commit 39b639da773383a72e7b82b0ea762ed7ecc723ab
    13753 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13754 Date:   Sun Jul 25 20:14:09 2010 +0200
    13755 
    13756     Lots of small fixes to MapOfActions:
    13757    
    13758     - MapOfActions::TypeEnumMap added ListOfVectors.
    13759     - BUGFIX: queryCurrentValue(..,Box) did not set the box matrix.
    13760     - BUGFIX: setCurrentValue(..,Box/Vector) had typeid Box and Vector instead of ...Value
    13761     - AddOptionsToParser() - atoi/atof of default CurrentValue replaced by lexical_cast
    13762 
    13763 commit 8bc7336e7ee4c47d976c2ede9ebfa2e8c10ad89e
    13764 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13765 Date:   Sun Jul 25 20:11:53 2010 +0200
    13766 
    13767     BoxQuery contains Box not double[6].
    13768    
    13769     - BUGFIX: VectorCommandLineQuery - isInside..() should have been !isInside...()
    13770     - BoxCommandLineQuery::handle(),BoxTextQuery::handle() - use box class
    13771     - BoxQuery has class Box as member variable
    13772 
    13773 commit 3037bebd7259883448f4e5f8462ee5ba3cf1f705
    13774 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13775 Date:   Sun Jul 25 20:11:02 2010 +0200
    13776 
    13777     WorldChangeBoxAction::performCall() - don't need cell_size from the World and only need to set it once.
    13778 
    13779 commit 0ae36b0d684e99d9f522b1a8d721382802fd6aba
    13780 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13781 Date:   Sun Jul 25 20:06:17 2010 +0200
    13782 
    13783     Box::isInside() now uses MYEPSILON as additional boundary of the [0,1) domain.
    13784 
    13785 commit 85537af8294c6e9489540850a5bd0ec864a0f10f
    13786 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13787 Date:   Sun Jul 25 20:04:50 2010 +0200
    13788 
    13789     BUGFIX: AtomAddAction::performCall() expect vector of elements instead of single element.
    13790 
    13791 commit e2f311462bda68e5bd58fe63105915364c2d7653
    13792 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13793 Date:   Sun Jul 25 20:04:24 2010 +0200
    13794 
    13795     MissingValueException is not caught in Action::call() anymore.
    13796 
    13797 commit 7cd6e7ab696a3676cd5e8add0454d596f7c6cf0f
    13798 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13799 Date:   Sun Jul 25 17:07:42 2010 +0200
    13800 
    13801     Add all possible versions of queries where the user is asked for multiples of the same.
    13802    
    13803     - Note that these are correctly implemented in TextUI and CommandLineUI, but not yet in QT4.
    13804 
    13805 commit 0ff6b538342f7d2df5bc0d9e46d66cdd205ae887
    13806 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13807 Date:   Sun Jul 25 17:07:07 2010 +0200
    13808 
    13809     Box::isInside() function added to check whether a given vector is inside simulation domain or not.
    13810 
    13811 commit 85f35e76fdf51e84ed1a45e0b8d55715d7fef858
    13812 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13813 Date:   Sun Jul 25 17:06:27 2010 +0200
    13814 
    13815     BUGFIX: setCurrentValue was not correctly templated.
    13816 
    13817 commit c6f3950823f0d994bbcf963786243385a0ef3a90
    13818 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13819 Date:   Sat Jul 24 13:43:18 2010 +0200
    13820 
    13821     Added methods to calculate the intersections of Shapes with arbitrary lines
    13822 
    13823 commit 40196a0aea164ac0333f8918bdc9b72e107db6a3
    13824 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13825 Date:   Sat Jul 24 13:29:55 2010 +0200
    13826 
    13827     Removed unecessary assert in LinePoint class
    13828 
    13829 commit d6f3954f8cbe5b1fcad21b7d0e8d67b6603fbea6
    13830 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13831 Date:   Sat Jul 24 13:25:21 2010 +0200
    13832 
    13833     Added iterator structure for LineSegmentSets
    13834 
    13835 commit 0b0a20eccd97295d1e20b853c15636671763345f
    13836 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13837 Date:   Fri Jul 23 19:30:57 2010 +0200
    13838 
    13839     Inserted all possible queries into MapOfActions.
    13840    
    13841     - MapOfActions::query/setCurrentValue(): only special classes such as atom, Box, element, molecule, Vector need a specialization of the template.
    13842     - also added missing MissingValueException files.
    13843 
    13844 commit dde125b0d55be10505f7893922a77c27d75e2f3f
    13845 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13846 Date:   Fri Jul 23 19:30:12 2010 +0200
    13847 
    13848     SetOutputFormatsAction says which format it could not understand.
    13849 
    13850 commit eeacbc9259d9d1fb1e8e3b74090b8bdf58c24064
    13851 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13852 Date:   Fri Jul 23 19:29:39 2010 +0200
    13853 
    13854     BUGFIX: ValueStorage::getDescription did not return the string from MapOfActions.
    13855 
    13856 commit 6bf52f5115bd3250661048f901748f626f16a39b
    13857 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13858 Date:   Fri Jul 23 19:28:56 2010 +0200
    13859 
    13860     BUGFIX: default flag of call was NonInteractive instead of Interactive.
    13861 
    13862 commit 4e145c4e099c7b64eef25a68a2f37a14cb86cec0
    13863 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13864 Date:   Fri Jul 23 18:24:35 2010 +0200
    13865 
    13866     Actions can now be called non-interactively, MissingValueException thrown.
    13867    
    13868     - new exception MissingValue which is thrown when MapOfActions does not have a desired entry in CurrentValue map.
    13869     - new enum Action::QueryOptions.
    13870     - Action::call() has flag whether call should be interactive (popping up dialog) or not.
    13871     - cleaned-up Makefile.am a bit ...
    13872 
    13873 commit 655c98e8813e3c220ff0aee30f2ab51b12bbf935
    13874 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13875 Date:   Fri Jul 23 18:23:13 2010 +0200
    13876 
    13877     Some derived Actions lacked return NULL in createDialog().
    13878    
    13879     - Actions are: ActionHistory (Undo/Redo), ErrorAction, ManipulateAtomsAction, MethodAction.
    13880 
    13881 commit ed476ecff64cd916489e2ddb99649474900e7c49
    13882 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13883 Date:   Fri Jul 23 16:43:02 2010 +0200
    13884 
    13885     Added a Class that allows description of sets of LineSegments from the same line
    13886 
    13887 commit 49d3d394a554ea272f374fc7bb58313091c1f258
    13888 Merge: a4e9bb5 7067bd6
    13889 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13890 Date:   Fri Jul 23 16:07:10 2010 +0200
    13891 
    13892     Merge branch 'StructureRefactoring' into Shapes
    13893    
    13894     Conflicts:
    13895         src/Makefile.am
    13896 
    13897 commit a4e9bb5add6b79d2cf25d14ee0e30aa2f2fd6271
    13898 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13899 Date:   Fri Jul 23 13:59:28 2010 +0200
    13900 
    13901     Added a class that allows specifying Segments of a Line
    13902 
    13903 commit 6256f5f31eca13a77c3ab8175d56dc82de37ad35
    13904 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13905 Date:   Fri Jul 23 13:10:03 2010 +0200
    13906 
    13907     Added a class that allows specifying points on a line
    13908 
    13909 commit 82cf7935cdf448a9e42acfbb7f0211a8c378e155
    13910 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    13911 Date:   Fri Jul 23 12:49:09 2010 +0200
    13912 
    13913     Added comparison operators to Line and Plane
    13914 
    13915 commit 358577c738840fb75b2f1424dc01e889a87c14c6
    13916 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13917 Date:   Fri Jul 23 00:02:54 2010 +0200
    13918 
    13919     Fixed used iterators in World::countSelected..() functions.
    13920 
    13921 commit c46d63e5bfa9a26f824025bbe7c8e680be6a63a0
    13922 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13923 Date:   Fri Jul 23 00:02:37 2010 +0200
    13924 
    13925     TextMenu::LeaveAction still lacked createDialog().
    13926 
    13927 commit 3731b4909c6d6ae4b595859d66058d1e878886f9
    13928 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13929 Date:   Fri Jul 23 00:02:01 2010 +0200
    13930 
    13931     Fixed remainder of Dialog and derived classes for still present _target's.
    13932 
    13933 commit 7cd469035250605f6e00967cd82540daddab131e
    13934 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13935 Date:   Fri Jul 23 00:00:57 2010 +0200
    13936 
    13937     Using ostringstream to convert all templated values in MapOfActions::queryCurrentValue().
    13938 
    13939 commit 30db643034390bf55f17c017b529b8119ce6f813
    13940 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13941 Date:   Fri Jul 23 00:00:15 2010 +0200
    13942 
    13943     FIX: IllegalTypeException had wrong base constructor call (Math instead of CustomException).
    13944 
    13945 commit 80951deb21b4e43ca4cfbc56dc84d5dc794d03b5
    13946 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13947 Date:   Thu Jul 22 23:59:37 2010 +0200
    13948 
    13949     Fixed all remaining Action's and derived classes that lacked createDialog().
    13950 
    13951 commit 4c5aafe44e0553c9f3a5d4fab8d4b5c64f2fe624
    13952 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13953 Date:   Thu Jul 22 23:29:39 2010 +0200
    13954 
    13955     Some fixes to class ValueStorage.
    13956    
    13957     - it's _std::_string
    13958 
    13959 commit 3e54d09c77f638758ad6641ed6f248e16acddeab
    13960 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13961 Date:   Thu Jul 22 23:23:35 2010 +0200
    13962 
    13963     converted VersionAction to new createDialog() and implemented trivial Undo/Redo.
    13964    
    13965     - two new functions MapOfActons::query/setCurrentValue() for vector of strings, needed in SetOutputFormatsAction.
    13966 
    13967 commit ff22c5488c443910ae2ed9f42323b573f3ed8ca1
    13968 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13969 Date:   Thu Jul 22 23:22:18 2010 +0200
    13970 
    13971     converted SetOutputFormatsAction to new createDialog().
    13972 
    13973 commit aee3b1c4af887c0e1015aed573475c28e87a121f
    13974 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13975 Date:   Thu Jul 22 23:20:19 2010 +0200
    13976 
    13977     converted SetGaussianBasisAction to new createDialog() and implemented Undo/Redo.
    13978 
    13979 commit 792597e9e0381a667a6b5f4b2ed054594ce29761
    13980 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13981 Date:   Thu Jul 22 23:16:38 2010 +0200
    13982 
    13983     converted SetDefaultNameAction to new createDialog() and implemented Undo/Redo.
    13984 
    13985 commit 22e780bbf6f5c725e027d9ab132ca1db5499d184
    13986 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13987 Date:   Thu Jul 22 23:12:42 2010 +0200
    13988 
    13989     converted ScaleBoxAction to new createDialog().
    13990 
    13991 commit bfe2c2376eef4d25597c46dffbc8be4aa9e641ad
    13992 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13993 Date:   Thu Jul 22 23:11:25 2010 +0200
    13994 
    13995     converted RepeatBoxAction to new createDialog().
    13996 
    13997 commit 9a9b2a4e7522425066fc6a1bd09f6514fd33aa0a
    13998 Author: Frederik Heber <heber@ins.uni-bonn.de>
    13999 Date:   Thu Jul 22 23:10:03 2010 +0200
    14000 
    14001     converted RemoveSphereOfAtomsAction to new createDialog().
    14002 
    14003 commit 37c282377309e6c7314b694b5ac9d214f2f02322
    14004 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14005 Date:   Thu Jul 22 23:08:38 2010 +0200
    14006 
    14007     converted OutputAction to new createDialog().
    14008 
    14009 commit 7882e97372845c4211b7017289b0767c7640f0e2
    14010 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14011 Date:   Thu Jul 22 23:07:35 2010 +0200
    14012 
    14013     converted InputAction to new createDialog().
    14014 
    14015 commit 1ba67dc303482db5e8e806e9d5a77130e6559d8f
    14016 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14017 Date:   Thu Jul 22 23:06:09 2010 +0200
    14018 
    14019     converted CenterOnEdgeAction to new createDialog().
    14020 
    14021 commit 8da96a6db3fd51cb98b529276b79af27bed95f2e
    14022 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14023 Date:   Thu Jul 22 23:04:59 2010 +0200
    14024 
    14025     converted ChangeBoxAction to new createDialog().
    14026 
    14027 commit 4aece0c92bada6519a2b0585e7f1ac407f98aa3b
    14028 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14029 Date:   Thu Jul 22 23:03:05 2010 +0200
    14030 
    14031     converted CenterInBoxAction to new createDialog().
    14032 
    14033 commit 805636c1a84c537ffb7e4a0f828e53da2248cfee
    14034 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14035 Date:   Thu Jul 22 23:00:40 2010 +0200
    14036 
    14037     converted BoundInBoxAction to new createDialog().
    14038 
    14039 commit afd9f3990504557f2919c5b1008d8e8482ca0a7f
    14040 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14041 Date:   Thu Jul 22 22:59:33 2010 +0200
    14042 
    14043     converted AddEmptyBoundaryAction to new createDialog().
    14044 
    14045 commit ff4fd2aeb1112a75a19f272dba7cc5f812c8bfd0
    14046 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14047 Date:   Thu Jul 22 22:57:58 2010 +0200
    14048 
    14049     converted NonConvexEnvelopeAction to new createDialog().
    14050 
    14051 commit 8ae5d5cf568f384acb7eb804f5dd59b1cd24f9ba
    14052 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14053 Date:   Thu Jul 22 22:55:17 2010 +0200
    14054 
    14055     converted ConvexEnvelopeAction to new createDialog().
    14056 
    14057 commit ce875582fbb5f5e18e6066f03770f84c4062f205
    14058 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14059 Date:   Thu Jul 22 22:52:46 2010 +0200
    14060 
    14061     converted SaveXyzAction to new createDialog().
    14062 
    14063 commit 0454de24d7826c743e8bf72803de5150dcaad02e
    14064 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14065 Date:   Thu Jul 22 22:50:59 2010 +0200
    14066 
    14067     converted LoadXyzAction to new createDialog().
    14068 
    14069 commit bcd16af2f919ca538832e3da2a39a8dcb526001b
    14070 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14071 Date:   Thu Jul 22 22:48:46 2010 +0200
    14072 
    14073     converted VerletIntegrationAction to new createDialog().
    14074 
    14075 commit a20fb922828a2cae71ce2599c7292517e36e3e0d
    14076 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14077 Date:   Thu Jul 22 22:47:06 2010 +0200
    14078 
    14079     converted TranslateAction to new createDialog().
    14080 
    14081 commit b9b26b4f8c9a891e4d9e93fb71e4b7ed88b734fe
    14082 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14083 Date:   Thu Jul 22 22:45:04 2010 +0200
    14084 
    14085     converted SuspendInWaterAction to new createDialog().
    14086 
    14087 commit 09cf39f004540b4a1fa4f428f06e3b9090501ab6
    14088 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14089 Date:   Thu Jul 22 22:42:19 2010 +0200
    14090 
    14091     converted SaveTemperatureAction to new createDialog().
    14092 
    14093 commit fdf19840a41b116b91cdc084945b7e4eb18ade74
    14094 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14095 Date:   Thu Jul 22 22:40:47 2010 +0200
    14096 
    14097     converted SaveBondsAction to new createDialog().
    14098 
    14099 commit e58fad1a254e20c7edff713925a268abc3fc1177
    14100 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14101 Date:   Thu Jul 22 22:39:15 2010 +0200
    14102 
    14103     converted SaveAdjacencyAction to new createDialog().
    14104 
    14105 commit 8456137692c93232b395cca90f2a3f70b35e0e4f
    14106 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14107 Date:   Thu Jul 22 22:37:24 2010 +0200
    14108 
    14109     converted RotateToPrincipalAxisSystemAction to new createDialog().
    14110 
    14111 commit 620fe517294c6b1eb0a1188fa65ee5c1a3e23f3d
    14112 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14113 Date:   Thu Jul 22 22:35:06 2010 +0200
    14114 
    14115     converted LinearInterpolationofTrajectoriesAction to new createDialog().
    14116 
    14117 commit a001b7bae7fc080027af24c287be6ce37c2ce629
    14118 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14119 Date:   Thu Jul 22 22:31:41 2010 +0200
    14120 
    14121     converted FillWithMoleculeAction to new createDialog().
    14122 
    14123 commit 5bc8520c0e46db93e06dda9f34e87f99e9b8d6cb
    14124 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14125 Date:   Thu Jul 22 22:28:53 2010 +0200
    14126 
    14127     converted ChangeNameAction to new createDialog().
    14128 
    14129 commit eacc3ba7af0a741a17b78b3cd4e0b82e63fba3a5
    14130 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14131 Date:   Thu Jul 22 22:21:15 2010 +0200
    14132 
    14133     converted BondFileAction to new createDialog().
    14134    
    14135     - new functions World::countSelectedAtoms(), ::countSelectedMolecules()
    14136 
    14137 commit 1015fd16890804d2d405c29e0c84d6d75b318c8e
    14138 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14139 Date:   Thu Jul 22 22:16:32 2010 +0200
    14140 
    14141     converted SubgraphDissectionAction to new createDialog().
    14142 
    14143 commit 70d9b9588923a2b82bacfd9bcc82df00fe4e4d89
    14144 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14145 Date:   Thu Jul 22 22:15:02 2010 +0200
    14146 
    14147     converted FragmentationAction to new createDialog() and implemented trivial Undo/Redo.
    14148 
    14149 commit f394a631235ecfc70559d4b69abfc161fe834ab2
    14150 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14151 Date:   Thu Jul 22 22:11:36 2010 +0200
    14152 
    14153     converted DepthFirstSearchAction to createDialog() and implemented trivial Undo/Redo.
    14154 
    14155 commit 2dfeeb72918023992c28db24bd7a07782516893b
    14156 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14157 Date:   Thu Jul 22 22:09:33 2010 +0200
    14158 
    14159     converted HelpAction to new createDialog() and implemented trivial Undo/Redo.
    14160 
    14161 commit 1d2d17710355e348eae106bab707de2345eb7d5d
    14162 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14163 Date:   Thu Jul 22 22:07:51 2010 +0200
    14164 
    14165     converted VerboseAction to new createDialog() and implemented Undo/Redo.
    14166 
    14167 commit ccf31f7057c3906c5737703833cb5fd5d2d0a959
    14168 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14169 Date:   Thu Jul 22 22:03:45 2010 +0200
    14170 
    14171     converted FastParsingAction to new createDialog() and implemented Undo/Redo.
    14172 
    14173 commit a12e8e5341e9215b37c06f03b9620ebc80e559a9
    14174 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14175 Date:   Thu Jul 22 21:59:36 2010 +0200
    14176 
    14177     converted ElementDbAction to new createDialog().
    14178 
    14179 commit bb2b2ca0ff9608fa56b820ca8736401f4e2106b8
    14180 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14181 Date:   Thu Jul 22 21:57:57 2010 +0200
    14182 
    14183     converted BondLengthTableAction to new createDialog().
    14184 
    14185 commit 5cb3cb5366716e8e9c5de8107dd6ea020682b380
    14186 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14187 Date:   Thu Jul 22 21:56:02 2010 +0200
    14188 
    14189     converted RemoveAction to new createDialog() and uses selectedAtoms.
    14190 
    14191 commit 454065b27717ea548c0964c38faa741b66b99a94
    14192 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14193 Date:   Thu Jul 22 21:51:42 2010 +0200
    14194 
    14195     Changed ChangeElementAction to new createDialog() and uses selectedAtoms.
    14196 
    14197 commit 9d33ba90b201569cf2a4636a4a601a51ac2d6c93
    14198 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14199 Date:   Thu Jul 22 21:45:26 2010 +0200
    14200 
    14201     Added ValueStorage::getDescription(), i.e. now all occurences of MapOfActions in classes ...Action can be replaced.
    14202    
    14203     - MapOfActions replaced by ValueStorage in: MolecularVolumeAction, PairCorrelationAction, PointCorrelationAction, PrincipalAxisSystemAction, SurfaceCorrelationAction, AddAction.
    14204     - AddAction converted to new createDialog().
    14205 
    14206 commit ca1ba5fa8bafa494e600c237413e227f206e5cac
    14207 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14208 Date:   Thu Jul 22 21:38:03 2010 +0200
    14209 
    14210     Adapted dialog->query...() calls of all CorrelationAction()s to removed _target.
    14211 
    14212 commit 75dc28fc85d478b74ec291d17bf76e24467a04bc
    14213 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14214 Date:   Thu Jul 22 21:36:18 2010 +0200
    14215 
    14216     Dialog->query...() don't need a _target anymore,
    14217    
    14218     - new class ValueStorage servers as a mediator to MapOfActions to relax inter-dependencies.
    14219     - setResult() now puts the value as string into ValueStorage.
    14220     - all class Dialog and derivatives don't have a _target in their functions and bodies anymore.
    14221 
    14222 commit d02e07dab3e4ea3de415734aa0c09a9055b903bf
    14223 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14224 Date:   Thu Jul 22 21:11:35 2010 +0200
    14225 
    14226     Split PairCorrelation into Pair, Point and SurfaceCorrelation.
    14227    
    14228     - also converted to new createDialog().
    14229 
    14230 commit 0c9cc3712a5c382c45c76450228053bec2bc4637
    14231 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14232 Date:   Thu Jul 22 19:57:15 2010 +0200
    14233 
    14234     MolecularVolumeAction rewritten to new createDialog().
    14235 
    14236 commit ab9a271cb834ee7a2ab0b27a13e8cb1df70f6566
    14237 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14238 Date:   Thu Jul 22 19:53:44 2010 +0200
    14239 
    14240     MapOfActions::TypeMap now contains type_info.
    14241    
    14242     We are going to use the information contained in MapOfActions to split Dialog (information gathering) from the performCall (execution) of the Action.
    14243     Therefore, Dialogs will store information as string in MapOfActions' maps and the Actions will retrieve the needed information therefrom.
    14244    
    14245     - TypeMap now contains pointers to type_info
    14246     - new TypeEnumMap mapping *type_info to enum Options
    14247     - renamed map DefaultValue -> CurrentValue
    14248     - new functions MapOfActions::getCurrentValue(), ...::setCurrentValue() as getter and setter of current value
    14249     - new exception IllegalTypeException derived from CustomException, thrown when getCurrentValue is asked for value from an action/option-name with different type than stored in TypeMap.
    14250 
    14251 commit ba741882931cf414d8a361ce994b9e69acca3497
    14252 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14253 Date:   Thu Jul 22 19:53:21 2010 +0200
    14254 
    14255     new virtual function Action::createDialog().
    14256 
    14257 commit e2009b3268f38b1451745713d4dccf21d2fee1b5
    14258 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14259 Date:   Thu Jul 22 18:11:07 2010 +0200
    14260 
    14261     Added a number of SelectionActions.
    14262    
    14263     - (un)select atom/molecule.
    14264     - not integrated into MapOfActions so far
    14265 
    14266 commit 421a1fef86dc4ec954ba797991f1a9d2a371272d
    14267 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14268 Date:   Thu Jul 22 17:22:22 2010 +0200
    14269 
    14270     Added a method that allows simple construction of new normalized Vectors from old ones
    14271 
    14272 commit 41da131154b8abb9caede9f906df297c2ff1fb8c
    14273 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14274 Date:   Thu Jul 22 17:21:53 2010 +0200
    14275 
    14276     Added assignment operator to Line class
    14277 
    14278 commit 89ebc05f9d25fc22084c73a9c9b8760cb5150208
    14279 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14280 Date:   Thu Jul 22 17:21:30 2010 +0200
    14281 
    14282     Added assignment operator to plane class
    14283 
    14284 commit 79dd0e9e3fa1e814f7c51e2f278422ca285c24aa
    14285 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14286 Date:   Thu Jul 22 17:20:43 2010 +0200
    14287 
    14288     Added forgotten return statement in translate_impl::toString()
    14289 
    14290 commit 7067bd6466a60f69edb4e9266035bf78437cb954
    14291 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14292 Date:   Thu Jul 22 16:17:42 2010 +0200
    14293 
    14294     Made all methods of the range struct explicitly inline
    14295 
    14296 commit e0e156d85fdcaa23fb674516eae0bcd9145a6870
    14297 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14298 Date:   Thu Jul 22 16:09:53 2010 +0200
    14299 
    14300     Added World::isSelected() for selectedAtoms and selectedMolecules.
    14301 
    14302 commit dc11c9885b5f04eecfb275bda7687c5c1da10440
    14303 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14304 Date:   Thu Jul 22 16:08:22 2010 +0200
    14305 
    14306     Made the id-pools in the World use range objects
    14307 
    14308 commit ee86a01bf2b6b9841d0ca5f11c1b068aec775fd6
    14309 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14310 Date:   Thu Jul 22 16:07:55 2010 +0200
    14311 
    14312     Simplyfied formula parsing using range objects
    14313 
    14314 commit 23761b2b68bd1bee3bc1be44564447aa972a481a
    14315 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14316 Date:   Thu Jul 22 16:07:25 2010 +0200
    14317 
    14318     Added a small struct that allows specifying arbitrary ranges
    14319 
    14320 commit c17975fa05a0fa3b09c0db67796feee3b0020060
    14321 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14322 Date:   Thu Jul 22 14:14:47 2010 +0200
    14323 
    14324     Added a method to check whether two points lie on the same side of a plane
    14325 
    14326 commit f80e2088c830255b34275501faf65d8c7af6b0ee
    14327 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14328 Date:   Thu Jul 22 14:14:05 2010 +0200
    14329 
    14330     Added a helper method that allows calculating the sign of a value
    14331 
    14332 commit 6d858c9886dca71766cd6b0447dde5afed9f1efd
    14333 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14334 Date:   Thu Jul 22 13:46:18 2010 +0200
    14335 
    14336     Added Descriptor that allows specifying atoms within a given geometric shape
    14337 
    14338 commit c83b9867c0e8889457b66bd2ef73e753c6979558
    14339 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14340 Date:   Thu Jul 22 13:23:28 2010 +0200
    14341 
    14342     Made the instantiation of Formula::iterator and Formula::const_iterator less ugly by refering to typedefs
    14343 
    14344 commit 6e7147fbf707c3d045b0c5a64c360ce369ca6e10
    14345 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14346 Date:   Thu Jul 22 13:14:08 2010 +0200
    14347 
    14348     Added a Descriptor that allows querying molecules by their Formula
    14349 
    14350 commit f17e1c00afd55d3250e08fa28d2ae1c3d9a93e7e
    14351 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14352 Date:   Thu Jul 22 13:13:19 2010 +0200
    14353 
    14354     Made the molecule::getFormula() method return an acutal formula object
    14355 
    14356 commit 3d27e625ab3656bec994850209304b7d17780c4c
    14357 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14358 Date:   Thu Jul 22 12:09:46 2010 +0200
    14359 
    14360     Added more unittests to the FormulaUnittest
    14361 
    14362 commit d8a0ec5447cc54d61ca78725dce7690db3edd7aa
    14363 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14364 Date:   Thu Jul 22 11:17:45 2010 +0200
    14365 
    14366     Made the Formula array resize itself in both directions
    14367    
    14368     - resizing the array to its smallest form helps speed up comparison of formulas and keeps the STL-equal algorithm from running over vector boundaries
    14369 
    14370 commit c644a524bbb56313dae40aa985d36e6ced862539
    14371 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14372 Date:   Thu Jul 22 10:16:55 2010 +0200
    14373 
    14374     test_all.sh now accepts "-j" to allow for parallel compiling, autotests used parallel-tests testdriver.
    14375 
    14376 commit e24c781fe9d1c42abdc27f5773fd0bc933008606
    14377 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14378 Date:   Thu Jul 22 10:14:55 2010 +0200
    14379 
    14380     Made the full log script more readable
    14381 
    14382 commit 1e1dac5d1c26592f4cda16544662cd19744d935c
    14383 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14384 Date:   Thu Jul 22 10:06:43 2010 +0200
    14385 
    14386     Fixed old path in memcheck part of the test-script
    14387 
    14388 commit 9f632c18063d4f6ea1ed618c952feb9cf391178a
    14389 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14390 Date:   Wed Jul 21 17:48:22 2010 +0200
    14391 
    14392     Added Unittest for formula class
    14393 
    14394 commit fefe0d73e0d99722995c4ecd07f09e9e949e86eb
    14395 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14396 Date:   Wed Jul 21 17:47:47 2010 +0200
    14397 
    14398     FIX: Bug with vector resizing in Formula
    14399 
    14400 commit add42ac597f63fa61861a40489329fc4a5f1985f
    14401 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14402 Date:   Wed Jul 21 17:25:04 2010 +0200
    14403 
    14404     Removed reverse formula iterators, because they would cause memory corruptions
    14405 
    14406 commit a6d6a964b111c9a4edb650b08d8aae44ad5d3f5a
    14407 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14408 Date:   Wed Jul 21 16:36:38 2010 +0200
    14409 
    14410     Added explicit instantiation and fixed some bug for formula class
    14411 
    14412 commit d03bb14106e04d88a0fafff8de40436be73197a1
    14413 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14414 Date:   Wed Jul 21 15:55:18 2010 +0200
    14415 
    14416     Added methods to produce formulas from strings
    14417 
    14418 commit 574ddc1997af36d8056510e9d9e9c8a85a9d18e9
    14419 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14420 Date:   Wed Jul 21 15:17:18 2010 +0200
    14421 
    14422     Added an exception to indicate failures in parsing.
    14423 
    14424 commit 389cc816e8a29096dc750ee31848fa67835b3e9d
    14425 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14426 Date:   Wed Jul 21 15:09:30 2010 +0200
    14427 
    14428     Used the formual class instead of single variables inside molecule
    14429 
    14430 commit 6f43ab53afcb10b11789dfb8789489256a97116b
    14431 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14432 Date:   Wed Jul 21 11:43:50 2010 +0200
    14433 
    14434     Added a class that allow simple handling of molecules formulas
    14435 
    14436 commit f308e66546defa4255f80fbf3c82f29c462acdb7
    14437 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14438 Date:   Wed Jul 21 10:48:30 2010 +0200
    14439 
    14440     Changed signature of periodentafel::findElement(const char * const) to periodentafel::findElement(const std::string&)
    14441 
    14442 commit 4b6777882941b3ff2f74ea0433e4d8f60ce7ecc5
    14443 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14444 Date:   Wed Jul 21 10:47:59 2010 +0200
    14445 
    14446     Added forgotten include in MoleculePtrDescriptor.cpp
    14447 
    14448 commit 3d078db43513ccb8235950baa165cf56607d9167
    14449 Merge: c538d1b be97a84
    14450 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14451 Date:   Wed Jul 21 09:49:33 2010 +0200
    14452 
    14453     Merge branch 'stable' into Shapes
    14454 
    14455 commit be97a841b19bbe05e88f3d3ac69c9cb5cd562f10
    14456 Merge: ba9f5bc 818eda2
    14457 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14458 Date:   Tue Jul 20 15:01:11 2010 +0200
    14459 
    14460     Merge branch 'StructureRefactoring' into stable
    14461    
    14462     Conflicts:
    14463         test_all.sh
    14464    
    14465     - test_all.sh was modified by Till in StructureRefactoring (these changes taken over).
    14466     - World::setDomain() was missing OBSERVE macro.
    14467     - MapOfActions: "molecule-by-name" needs String not Molecule.
    14468     - TESTFIX: Tesselations/defs.in - paths changed such that @srcdir@ may be absolute.
    14469     - TESTFIX: Tesselations/heptan/1.5/NonConvexEnvelope.dat - exchanged due to same surface but different polygon triangulation.
    14470     - TESTFIX: Domain/4 molecule-by-id changed from 208 to 207 due to different handling of molecule ids.
    14471 
    14472 commit 818eda2ca9fc579caeeb6a28a62acdafefdec317
    14473 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14474 Date:   Tue Jul 20 12:20:49 2010 +0200
    14475 
    14476     Till forgot to add new MoleculeSelectionDescriptor files.
    14477 
    14478 commit cf0ca17240043fb2292a10bc3a162e9d0bc519d6
    14479 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14480 Date:   Fri Jul 16 15:11:45 2010 +0200
    14481 
    14482     Added Descriptors that allow description of all Selected molecules
    14483 
    14484 commit 48dcbd91eedf0cfdedd6629302e8f99743299f7f
    14485 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14486 Date:   Fri Jul 16 15:02:31 2010 +0200
    14487 
    14488     Added descriptors that allow description of all selected atoms
    14489 
    14490 commit 8cce2b5df463530a83fa8856d708bdb2b2d3a553
    14491 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14492 Date:   Fri Jul 16 14:46:42 2010 +0200
    14493 
    14494     Made the MoleculeDescriptor and AtomDescriptor use faster STL-Algorithms for finding
    14495 
    14496 commit a1e0b6f1be63e55d242038e2c64dd5f9823775d6
    14497 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14498 Date:   Fri Jul 16 13:07:08 2010 +0200
    14499 
    14500     Improved speed of MoleculeDescriptor by using reference to MoleculeSet
    14501 
    14502 commit 41aa398d7989f0243a76894eb1e464a32fa1a1c1
    14503 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14504 Date:   Fri Jul 16 12:58:56 2010 +0200
    14505 
    14506     Made MoleculeIdDescriptor and AtomIdDescriptor faster by avoiding copy of the MoleculeSet/AtomSet
    14507 
    14508 commit 3839e5f035312ca46bfb725d2d888acf96119627
    14509 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14510 Date:   Fri Jul 16 12:43:38 2010 +0200
    14511 
    14512     Added iterators over selected atoms and molecules
    14513 
    14514 commit 61d655e9a4ef5bbca6eb19c0f978e9afd556ba93
    14515 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14516 Date:   Fri Jul 16 12:34:12 2010 +0200
    14517 
    14518     Added methods for unselecting molecules and atoms
    14519 
    14520 commit 90c4280af5b046af47159f7008b4dc774fe44e6c
    14521 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14522 Date:   Thu Jul 15 17:30:55 2010 +0200
    14523 
    14524     Added several methods for selecting specific atoms in the World
    14525 
    14526 commit c084cc2e958b451246dd895b6538361c1917b4e4
    14527 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14528 Date:   Thu Jul 15 17:21:06 2010 +0200
    14529 
    14530     Added a method to query the molecule an atom belongs to.
    14531 
    14532 commit 1a76a68d49feaf784563ca346e88231d600c45ed
    14533 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14534 Date:   Thu Jul 15 16:24:04 2010 +0200
    14535 
    14536     Removed public direct access to Atoms from world
    14537 
    14538 commit 3bf9e29f08c50350485e8aad28ef2508d9126efb
    14539 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14540 Date:   Thu Jul 15 16:14:42 2010 +0200
    14541 
    14542     Replaced check for Symmetric matrix in Box class with check for invertible matrix
    14543 
    14544 commit c538d1b5308f3901321a944f8cd19ee51bd710f7
    14545 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14546 Date:   Thu Jul 15 15:50:54 2010 +0200
    14547 
    14548     Added a method that allows producing a Shape from a box
    14549 
    14550 commit d76a7c96ff64ff880a182051dbdc7b1efcf5385d
    14551 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14552 Date:   Thu Jul 15 13:49:49 2010 +0200
    14553 
    14554     Added simpler method to create cuboids with arbitrary corners
    14555 
    14556 commit f3526d607890f3fcfd8b5d23a6ad1a35db5dc389
    14557 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14558 Date:   Thu Jul 15 13:35:30 2010 +0200
    14559 
    14560     Added simpler methods for constructing different spheres and ellipsoids
    14561 
    14562 commit 6d750fb7c5d9332c64781a7a84c9c52a9c1814a2
    14563 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14564 Date:   Thu Jul 15 13:30:52 2010 +0200
    14565 
    14566     More unittests for Shapes added
    14567 
    14568 commit 4506cc20472b8d58db669a251c79f21b2224a96c
    14569 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14570 Date:   Thu Jul 15 12:38:19 2010 +0200
    14571 
    14572     Added more testing to Shape mechanism
    14573 
    14574 commit cfda6595600dae247edea8ccf14890385d812e0d
    14575 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14576 Date:   Thu Jul 15 12:37:56 2010 +0200
    14577 
    14578     Added methods to output shapes on the screen
    14579 
    14580 commit ef84cadc5db4086525a9f34ca5107a692d7958a3
    14581 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14582 Date:   Wed Jul 14 17:52:48 2010 +0200
    14583 
    14584     FIX: Mixed up "And" and "Or" cases for Shape-Surface calculation
    14585 
    14586 commit 5de9da792c0c6d5f23931e92eabdc77e4eb40404
    14587 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14588 Date:   Wed Jul 14 16:52:07 2010 +0200
    14589 
    14590     Added some important Methods to Shape class hierachy
    14591    
    14592     - Shape::isOnSurface()
    14593     - Shape::getNormal()
    14594 
    14595 commit 06300d00d22af71ed91871edbb1f04beff7b122c
    14596 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14597 Date:   Wed Jul 14 16:48:58 2010 +0200
    14598 
    14599     Added some Exceptions that can be used by shapes to indicate various Problems
    14600 
    14601 commit 41ea3cd028fbf7ccea2699a1196524dd812f9536
    14602 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14603 Date:   Wed Jul 14 16:48:09 2010 +0200
    14604 
    14605     Added a Method to transpose matrices
    14606 
    14607 commit 4077821c1d6e0aefa5d6c385ff9c8290589d0295
    14608 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14609 Date:   Wed Jul 14 14:42:13 2010 +0200
    14610 
    14611     Replaced the three single unitVectors with an array to the unitVectors
    14612 
    14613 commit 5d880eb5a85f18d42f59f32306129b4caa42662c
    14614 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14615 Date:   Wed Jul 14 14:00:29 2010 +0200
    14616 
    14617     Allowed observed access to iterators on Molecules
    14618 
    14619 commit e3d8654e1fbac6e503309807866493a373bc9d1c
    14620 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14621 Date:   Wed Jul 14 13:51:31 2010 +0200
    14622 
    14623     Madet the internal iterators provided by the world unobserved
    14624 
    14625 commit 51be2aec80c917e90f5e10db857f1dd1874f26df
    14626 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14627 Date:   Wed Jul 14 12:36:29 2010 +0200
    14628 
    14629     Made iterator access to the molecules observed
    14630 
    14631 commit 8774c5c1ce2e91c27547acbca62ebdfe34d3880a
    14632 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14633 Date:   Wed Jul 14 12:27:19 2010 +0200
    14634 
    14635     Added operator-> for Observed Iterators
    14636 
    14637 commit b99bf3363a6a508d1a23884aaa7720f0f9124c92
    14638 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14639 Date:   Sat Jul 10 16:48:44 2010 +0200
    14640 
    14641     Moved the observedContainer templates to the Pattern directory
    14642 
    14643 commit 4ef9b7aecfb5daae2edf520a3935241c1540f1ca
    14644 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14645 Date:   Sat Jul 10 16:46:51 2010 +0200
    14646 
    14647     Made the observed sets for Atoms more abstract using template mechanisms
    14648 
    14649 commit 4d7462383cb90d484c5fb2d357df84cb4cbf35ed
    14650 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14651 Date:   Sat Jul 10 16:22:25 2010 +0200
    14652 
    14653     FIX: Repaired broken optimized builds
    14654 
    14655 commit 127a8ed2e2c789fb778e76459224ec0726bd9de4
    14656 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14657 Date:   Thu Jul 8 18:04:11 2010 +0200
    14658 
    14659     Improved managing of Ids in the World
    14660    
    14661     - Improved algorithm for managing ids to use less time and space
    14662     - Made the moleculeIds managed
    14663 
    14664 commit 40f92823967a356c96216f245f50835157d08ba3
    14665 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14666 Date:   Thu Jul 8 14:57:07 2010 +0200
    14667 
    14668     Fixed a small misnaming of a variable
    14669 
    14670 commit fa0b18007c6019da11597450d8db648ae786ee6d
    14671 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14672 Date:   Thu Jul 8 14:51:15 2010 +0200
    14673 
    14674     Added Observed and Selectiv iterators over internal Structures of the World.
    14675 
    14676 commit 61ea5b9b2b106f510b81b3dc13ab775fcd191126
    14677 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14678 Date:   Thu Jul 8 10:20:49 2010 +0200
    14679 
    14680     Added a macro that allows locking observer from outside of the observer
    14681 
    14682 commit 77a57041dc97cf87e9319cb8d08b0533fc2078e5
    14683 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14684 Date:   Thu Jul 8 10:32:55 2010 +0200
    14685 
    14686     Removed unused VectorSet.cpp
    14687 
    14688 commit ba9f5bcda4dd421dcb79d4ccff0dc34cfc072a6e
    14689 Merge: ed6dd86 b21cb9d
    14690 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14691 Date:   Wed Jul 7 19:27:39 2010 +0200
    14692 
    14693     Merge branch 'TestSHBranch' of ../espack into stable
    14694    
    14695     Conflicts:
    14696         AUTHORS
    14697         COPYING
    14698         Makefile.am
    14699         README
    14700         configure.ac
    14701    
    14702     ./test_sh.all was not in molecuilder subdirectory. Hence, i introduced it by hand again, cherry-picking commits from the ESPACK repo.
    14703 
    14704 commit b21cb9dbead4d40950777be4260bea1a6560f9b6
    14705 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14706 Date:   Thu Jul 1 14:19:13 2010 +0200
    14707 
    14708     Made the test directories more easily recognizeable
    14709 
    14710 commit 164262634c50f779da253ab0f003d5c821f1bb93
    14711 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14712 Date:   Thu Jul 1 14:06:23 2010 +0200
    14713 
    14714     FIX,IMPORTANT: Deletion of temporary directory was accidently commented out in test-script.
    14715    
    14716     Please clean all installation files in /tmp manually after applying this patch
    14717 
    14718 commit 720eb1347c9459a296ca45ee9390ee979b68a269
    14719 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14720 Date:   Fri Jun 25 16:25:21 2010 +0200
    14721 
    14722     Some more minor fixes for the script
    14723 
    14724 commit 56f4affd338750671dc419656459ea2c3d37a6f3
    14725 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14726 Date:   Fri Jun 25 11:43:46 2010 +0200
    14727 
    14728     Fixed minor bugs in the test script
    14729 
    14730 commit d78b15b859249e96893a56e47d7623ee67842891
    14731 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14732 Date:   Thu Jun 24 13:24:49 2010 +0200
    14733 
    14734     Added several options to test script
    14735 
    14736 commit d6f4d5d91de1096fca84d3031c3d9b394f4dbf5b
    14737 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14738 Date:   Fri Jun 18 10:28:16 2010 +0200
    14739 
    14740     Made the test script do optimizations as well as compiling options
    14741 
    14742 commit a9b6d1f87def83ebab99d4665c004ad28a6851b4
    14743 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14744 Date:   Wed Jun 16 12:13:08 2010 +0200
    14745 
    14746     Added memory check to exhaustive check script
    14747 
    14748 commit 31aea27fa5f3161faa142b812687b96c547eac1e
    14749 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14750 Date:   Thu Jun 10 14:09:09 2010 +0200
    14751 
    14752     Added script to do a full test of several compilation options at once.
    14753 
    14754 commit 4e10f5d3fadc22df7922e32755bde52849c4ba53
    14755 Merge: 5630bd7 192f6ec
    14756 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14757 Date:   Wed Jul 7 18:08:32 2010 +0200
    14758 
    14759     Merge branch 'stable' into StructureRefactoring
    14760    
    14761     Conflicts:
    14762         src/Actions/WorldAction/CenterOnEdgeAction.cpp
    14763         src/Actions/WorldAction/ChangeBoxAction.cpp
    14764         src/Actions/WorldAction/RepeatBoxAction.cpp
    14765         src/Actions/WorldAction/ScaleBoxAction.cpp
    14766         src/World.cpp
    14767         src/boundary.cpp
    14768 
    14769 commit 5630bd7d92d4ee87e211f07ad39dcf77c488377e
    14770 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14771 Date:   Wed Jul 7 17:55:33 2010 +0200
    14772 
    14773     Added Unittests for the matrix class
    14774 
    14775 commit 0eb2dcf976a53b98c2a52db8f6e98eb0cf0ac46d
    14776 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14777 Date:   Wed Jul 7 15:57:05 2010 +0200
    14778 
    14779     Added comparison Operator to matrix class
    14780 
    14781 commit ed6dd86b06f1b9f08a9fcdad0c1f58b4685276e2
    14782 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14783 Date:   Wed Jul 7 15:46:59 2010 +0200
    14784 
    14785     FIX: newly parsed-in atoms should always end up in their own molecule
    14786    
    14787     - This is to make them addressable to further actions such as translations.
    14788 
    14789 commit 3dbb9d0898f6f18f42bd3d2c9f115ece51b8e6b6
    14790 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14791 Date:   Wed Jul 7 15:11:46 2010 +0200
    14792 
    14793     Added methods to matrix to create vectors for rows and columns
    14794 
    14795 commit 8e17d683057bcb99b7dfa0c1a4d6d4952428b9ad
    14796 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14797 Date:   Wed Jul 7 14:43:34 2010 +0200
    14798 
    14799     Added VectorContent types that allow making vectors from views
    14800 
    14801 commit 5e8e02502f123714bbc9e2a6c6fa52a1eb3dc69f
    14802 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14803 Date:   Wed Jul 7 14:26:05 2010 +0200
    14804 
    14805     Repaired broken NO_MEMDEBUG build-path
    14806 
    14807 commit 86cff86835bac81d60b4a25d08f3dacca7c0768c
    14808 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14809 Date:   Wed Jul 7 13:53:05 2010 +0200
    14810 
    14811     InputAction now parses all possible formats, not only pcp.
    14812    
    14813     - new function FormatParserStorage::get() that checks on the suffix and calls the load() function of the respective specialized FormatParser.
    14814     - InputAction changed such that ...
    14815       - prefix and suffix are extracted.
    14816       - FormatParserStorage::get() is used.
    14817       - empty configs are handled, too.
    14818     - FormatParserStorage::ParserSuffix changed, removed ".conf".
    14819     - TESTFIX: renamed all files to diff accordingly: .conf.xyz -> .xyz, .conf.in -> .in
    14820     - BUGFIX: xyz files were written without initial tab in front of comment, fix in ParserUnitTest necessary (i.e. a tab was missing there as we always write it now)
    14821     - ChangeElementAction: now needs --atom-by-id and takes the element as argument
    14822 
    14823 commit 9d5ddfc3f05b89f53f393682e4d66e4fbca6401c
    14824 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14825 Date:   Wed Jul 7 13:51:34 2010 +0200
    14826 
    14827     Added constructor and destructor to VectorContent struct
    14828 
    14829 commit 7e0a6d2fb595d035aa60737447d978c6fca615c9
    14830 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14831 Date:   Wed Jul 7 13:35:49 2010 +0200
    14832 
    14833     Re-Added test script to split up version of molecuilder
    14834 
    14835 commit 192f6eced29258ef080a11bcbb78fd9ff514a41a
    14836 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14837 Date:   Wed Jul 7 10:35:30 2010 +0200
    14838 
    14839     FIX: Removed positional action "input".
    14840    
    14841     - BUG: This caused that input files were parsed twice when added with -i and in general is disfavoured now
    14842     - CommandLineParser::scanforSequenceOfArguments() - removed default adding
    14843     - CommandLineParser::Parse() - removed positional() for boost::program_options
    14844     - TESTFIX: All test case calls had to be adapted, i.e. molecuilder test.conf -> molecuilder -i test.conf, but ran after this without glitch
    14845 
    14846 commit b540f3ef3547381772f90b51e2a9fcc31911a1df
    14847 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14848 Date:   Tue Jul 6 17:50:04 2010 +0200
    14849 
    14850     changed validate() for VectorValue, parsing not 10. 10. 10. but "10., 10., 10." to allow for negative values.
    14851    
    14852     - i.e. we now parse a single string and tokenize it ourselves.
    14853     - TESTFIX: alle test cases asking the user for vectors had to be changed accordingly.
    14854 
    14855 commit 62c3dde8462dc6657ada97afbcc616f271e3b4ad
    14856 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14857 Date:   Tue Jul 6 14:09:56 2010 +0200
    14858 
    14859     Added m4 files containing AX_LANG_COMPILER_MS and AM_PATH_CPPUNIT to repository.
    14860    
    14861     - kudos to Ralf for pointing this out
    14862 
    14863 commit f8be39adf455d74b343b19e96922dd72ca70bac2
    14864 Author: Ralf Wildenhues <wildenhues@ins.uni-bonn.de>
    14865 Date:   Tue Jul 6 13:44:44 2010 +0200
    14866 
    14867     Fix .git-version rule.
    14868    
    14869     * src/Makefile.am ($(srcdir)/.git-version): Use correct path
    14870     to toplevel .git directory.  Use --dirty --always if available.
    14871 
    14872 commit 01a547dc748506bb626bf6114ac4da7889432486
    14873 Author: Ralf Wildenhues <wildenhues@ins.uni-bonn.de>
    14874 Date:   Tue Jul 6 13:44:23 2010 +0200
    14875 
    14876     Document Boost requirement.
    14877    
    14878     * README: Update.
    14879 
    14880 commit f2e50276f11817144b9f45619a50936f92d205cf
    14881 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14882 Date:   Mon Jul 5 19:36:30 2010 +0200
    14883 
    14884     FIX: still wrong path given for tests/Tesselations/defs.in
    14885 
    14886 commit 42c6483aa1e292c862b15d969ea11942d02dd331
    14887 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14888 Date:   Mon Jul 5 19:23:47 2010 +0200
    14889 
    14890     BUGFIX: wrong absolute path was given instead of @srcdir@ in tests/Tesselations/defs.in
    14891 
    14892 commit 6ac15b415070ed53d242694d8c013f516030906e
    14893 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14894 Date:   Mon Jul 5 19:23:32 2010 +0200
    14895 
    14896     Switched off ecut testrunner use by default.
    14897 
    14898 commit 361ba71e577fc2a51017d9da6c9b95f8c98d72d6
    14899 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14900 Date:   Mon Jul 5 19:03:53 2010 +0200
    14901 
    14902     Trailing whitespace in src/Actions/Makefile.am
    14903 
    14904 commit 013a1f1b464aa250a0352e60f738480eec5c8411
    14905 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14906 Date:   Mon Jul 5 19:02:42 2010 +0200
    14907 
    14908     config/*, INSTALL and COPYING have not been present in the repo.
    14909 
    14910 commit 2a374eb47a8c1eecd2cffeee96ad7530b3537554
    14911 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14912 Date:   Sat Jul 3 16:02:50 2010 +0200
    14913 
    14914     MEMFIX: AnalysisPairCorrelationAction::performCall() did not free LCList, TesselStruct and Actives
    14915    
    14916     - also Actives have not been used to re-set the ActiveFlag of all molecules.
    14917    
    14918     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    14919 
    14920 commit c27778c8cf9d03d323711246738e105de9b3c9d4
    14921 Author: Frederik Heber <heber@ins.uni-bonn.de>
    14922 Date:   Sat Jul 3 15:24:25 2010 +0200
    14923 
    14924     MEMFIXES: ListOfLocalAtoms in molecule::FragmentMolecule() was not free'd correctly.
    14925    
    14926     - FragmentationDepthFirstSearchAction::performCall() - uses now just ListOfAtoms, free'd and set to NULL in while loop
    14927     - changed signature: FillBondStructureFromReference(), FillListOfLocalAtoms() do not get FragmentCounter and ListOfLocalAtoms is now atom** (i.e. directly the local list of this fragment not the global one)
    14928     - MoleculeLeafClass::FillListOfLocalAtoms() - simplified a lot due to the above
    14929     - no more removal of global list if this is the first fragment in MoleculeLeafClass::FillBondStructureFromReference(), MoleculeLeafClass::AssignKeySetsToFragment()
    14930     - molecule::FragmentMolecule() - for one we just use ListOfAtoms and around AssignKeySetstoFragments() call we properly allocate, set each component to NULL and free it afterwards.
    14931    
    14932     NOTE: All of these lists and maps are hard to understand and make the code very confusing. It's really high time for refactoring.
    14933    
    14934     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    14935 
    14936 commit 08d9595e524d41acb5f2556750f13de7c51c081e
    14937 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14938 Date:   Fri Jul 2 18:00:59 2010 +0200
    14939 
    14940     removed GSL-Headers from tesselationhelpers.hpp
    14941 
    14942 commit 797126567f0200a7de1f47f3329b98a9732473dd
    14943 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14944 Date:   Fri Jul 2 17:58:53 2010 +0200
    14945 
    14946     Removed two more unused functions
    14947 
    14948 commit 4178131c71823a6899287f00ea147f58b7024cd2
    14949 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14950 Date:   Fri Jul 2 17:32:22 2010 +0200
    14951 
    14952     Removed unused DetGet() method
    14953 
    14954 commit 04ef48e904a30674119f2715fc93ec9b9cfef49a
    14955 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14956 Date:   Fri Jul 2 17:29:21 2010 +0200
    14957 
    14958     Made the GetSphere() function use matrix objects
    14959 
    14960 commit fee0794e90e50281a6f8a20468a8904a274cfd92
    14961 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14962 Date:   Fri Jul 2 17:11:22 2010 +0200
    14963 
    14964     Added a "forward declaration" of the gsl_matrix struct in file Matrix.hpp
    14965 
    14966 commit aafd7737af09b4111bf30cab050e67fa581a43c9
    14967 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14968 Date:   Fri Jul 2 16:55:52 2010 +0200
    14969 
    14970     Removed all inclusions of GSL-Headers from molecule.hpp
    14971 
    14972 commit 962d8d2f1a29043f5023988fb45bd1ed40afd4ff
    14973 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14974 Date:   Fri Jul 2 16:36:24 2010 +0200
    14975 
    14976     Added forgotten inclusion of config.h in molecule.hpp
    14977 
    14978 commit d4103c803af56c6175c96bd982367a740bdb0307
    14979 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14980 Date:   Fri Jul 2 16:33:32 2010 +0200
    14981 
    14982     Removed opening of namespace from molecule.hpp
    14983 
    14984 commit c37386e2c7b2ed3696191aba5aba8faa85a21464
    14985 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14986 Date:   Fri Jul 2 16:28:52 2010 +0200
    14987 
    14988     Replaced several defines in Graph.hpp with typedefs
    14989 
    14990 commit ce3d2b318c5b1e070682a808827f927c7acb3335
    14991 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    14992 Date:   Fri Jul 2 15:45:20 2010 +0200
    14993 
    14994     Added a "forward declaration" to the gsl_vector struct to avoid inclusion of the GSL-Headers in too many files
    14995    
    14996     - because the gsl structure does not allow for forward declarations a dumb object is used instead to simulate forwarding
    14997 
    14998 commit b9c8477258cb157c5302eaf6c3b8c3a846877820
    14999 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15000 Date:   Fri Jul 2 15:44:23 2010 +0200
    15001 
    15002     New SetOutputFormatsAction introduced.
    15003    
    15004     Fixes:
    15005     - World::setDomain() is now OBSERVE'd and used to the set the domain.
    15006     - FIX: CenterInBoxAction, CenterOnEdgeAction, ChangeBoxAction, RepeatBoxAction, ScaleBoxAction did not tell the World that is cell_size has been changed, now they call setDomain()
    15007    
    15008     new SetOutputFormatsAction:
    15009     - new action SetOutputFormatsAction which instantiates various specializations of FormatParser in FormatParserStorage.
    15010     - main(): mpqc, pcp and xyz and no more added by default to FormatParserStorage, this now has to be done by specifying them (e.g. on the command line as -o pcp mpqc xyz)
    15011     - TESTFIXES: case 10,11,13,16,17,22 all failed due to the missing -o specification which has been added (this has been intended in this way from the very beginning of the ParseCommandLineOptions() refactoring)
    15012     - action "convex-envelope" now more has ShortForm "-o" due to obvious reasons.
    15013 
    15014 commit 986ed31d916bf484692facd7d688db4be5d6021e
    15015 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15016 Date:   Fri Jul 2 15:19:32 2010 +0200
    15017 
    15018     COMPILE_SPEEDUP: Replaced all implicit inclusions of iostream with forwards
    15019 
    15020 commit 36166d0baeb554d5194ca8550fe89d2ea46ca643
    15021 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15022 Date:   Fri Jul 2 15:09:37 2010 +0200
    15023 
    15024     Removed left over parts from old memory-tracker
    15025 
    15026 commit 4a611e3670a1f64878803f279635ff022e7471c1
    15027 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15028 Date:   Fri Jul 2 15:07:29 2010 +0200
    15029 
    15030     OutputAction written and used in TextWindow::TextWindow().
    15031    
    15032     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15033 
    15034 commit cd8e55e569af57209f37ce90b3bf55ed71ad6d52
    15035 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15036 Date:   Fri Jul 2 15:05:08 2010 +0200
    15037 
    15038     New StringsQuery that returns space-separated vector of strings.
    15039    
    15040     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15041 
    15042 commit edb454f225715c8d558cd5602a7e4cca50e48a72
    15043 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15044 Date:   Fri Jul 2 13:29:56 2010 +0200
    15045 
    15046     MEMFIX: correlationmap was not free'd correctly in AnalysisPairCorrelationAction.
    15047    
    15048     - correlationmap pointer was instantiated before the ifs and inside, hence after them the wrong pointer (containing NULL) was free'd.
    15049     - surfacemap (type == S) was not free'd at all.
    15050 
    15051 commit 5ec8e3b251db03ba84a62d656f8f84526948e941
    15052 Merge: 56fb093 7ac4af5
    15053 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15054 Date:   Fri Jul 2 11:51:01 2010 +0200
    15055 
    15056     Merge branch 'VectorRefactoring' into StructureRefactoring
    15057    
    15058     Conflicts:
    15059         molecuilder/src/Makefile.am
    15060 
    15061 commit 7ac4af546aef569bad618c4f3e4286eafbb6a0dd
    15062 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15063 Date:   Fri Jul 2 11:36:29 2010 +0200
    15064 
    15065     Added an optimized version of the Box::explode() method for n=1
    15066 
    15067 commit a630fd7d23fa913ba7b568df0f81d926d3eebcfb
    15068 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15069 Date:   Fri Jul 2 11:28:10 2010 +0200
    15070 
    15071     Made the Box::explode() method take an aditional parameters specifying the number of times the box is expanded
    15072 
    15073 commit abd8f73bcb2eb4148929715360644bedcefda2e6
    15074 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15075 Date:   Fri Jul 2 11:12:10 2010 +0200
    15076 
    15077     Added comments for Box class
    15078 
    15079 commit cd82eca885c252c6b2a0e0879409287a273993cf
    15080 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15081 Date:   Fri Jul 2 11:00:17 2010 +0200
    15082 
    15083     Improved comments of matrix class
    15084 
    15085 commit 4563418550cbca164a52af1135e86656963869b2
    15086 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15087 Date:   Thu Jul 1 16:57:02 2010 +0200
    15088 
    15089     Moved all Exceptions and Matrix class from LinAlg module back to main module
    15090 
    15091 commit 4b94bb2ad3a7a76ccc9814a68fb93b49a65b1a64
    15092 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15093 Date:   Thu Jul 1 16:48:50 2010 +0200
    15094 
    15095     Moved Vector-Matrix operations to matrix class
    15096 
    15097 commit c550dde8f9a55abc5bb3d1e577f8d58c31313732
    15098 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15099 Date:   Thu Jul 1 16:37:53 2010 +0200
    15100 
    15101     Removed the VectorIsInParallelepiped in favor of more general methods in the Shape class
    15102 
    15103 commit bdc91e4bc61aad726bc471a78705e01522cc4998
    15104 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15105 Date:   Thu Jul 1 16:26:41 2010 +0200
    15106 
    15107     MEMFIXES: Tesselation routines were leaking memory.
    15108    
    15109     - FindConvexBorder() - new parameter *BoundartyPts and checks whether it has to GetBoundaryPoints() or not.
    15110     - PrepareClustersInWater()
    15111       - MEMFIX: TesselStruct not removed.
    15112       - MEMFIX: GreatestDiameter not removed.
    15113       - MEMFIX: LCList not removed.
    15114       - MEMFIX: BoundaryPoints not removed.
    15115       - GetDiametersOfCluster() uses calculated BoundaryPoints.
    15116     - Tesselation::InsertStraddlingPoints()
    15117       - MEMFIX: triangles not removed.
    15118       - MEMFIX: Use Flag to avoid memory leak in case of early return.
    15119     - BUGFIX: LinkedCell::GetNeighbourBounds() - returns wrong bounds if current cell is out of bounds and made unnecessary calculations.
    15120     - FIX: made type conversion in divison explicit: molecule::CenterOrigin(), molecule::DetermineCenterOfAll(), molecule::DetermineCenterOfGravity()
    15121     - Tesselation::FindStartingTriangle() - introduced map for wrapped coordinates axis
    15122     - MEMFIX: TriangleIntersectionList::GatherIntersectionsWithTriangles() - used scoped_ptr to avoid memory loss of points
    15123    
    15124     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15125 
    15126 commit 205d9b8bb1f1bafa0def6c63eff6b932e15b7885
    15127 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15128 Date:   Thu Jul 1 16:29:52 2010 +0200
    15129 
    15130     Added missing const to Shape::isInside() method
    15131 
    15132 commit 5e588b597a4bec93c790fd6f6ceca487ee3773de
    15133 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15134 Date:   Thu Jul 1 16:24:25 2010 +0200
    15135 
    15136     Added more Shape operations
    15137 
    15138 commit b5bf848c84bcb25c70cc7c0dc6b8e670d94b58d8
    15139 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15140 Date:   Thu Jul 1 16:10:14 2010 +0200
    15141 
    15142     Added a method that allows to scale all components of one vector with all components of another vector.
    15143 
    15144 commit 8f822caef9489cf5ff93568a90bb7abed9901aa8
    15145 Merge: 0d5dce8 0144756
    15146 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15147 Date:   Thu Jul 1 15:55:08 2010 +0200
    15148 
    15149     Merge branch 'VectorRefactoring' into Shapes
    15150 
    15151 commit 0144756049ef4f14261279d28c04e19261b9ff7d
    15152 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15153 Date:   Thu Jul 1 15:44:39 2010 +0200
    15154 
    15155     Made all places use the periodicDistance() and periodicDistanceSquared() methods provided by the Box class
    15156 
    15157 commit 12cf773059b576c65583614e5aad329f0dd03dec
    15158 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15159 Date:   Thu Jul 1 14:44:37 2010 +0200
    15160 
    15161     Added a define that makes the definition of VectorSets simpler
    15162 
    15163 commit 527de22f017bb0356fc8ca5a5ed766a9457f10bf
    15164 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15165 Date:   Wed Jun 30 18:46:53 2010 +0200
    15166 
    15167     Added a function that allows to find the closest periodic point in a Box
    15168 
    15169 commit ec7f5cfe5b22f62e7d0d4560b9f1cdaeb2777856
    15170 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15171 Date:   Wed Jun 30 18:17:56 2010 +0200
    15172 
    15173     Added a method that allows the calculation of the minimum distance of a point to a set of vectors
    15174 
    15175 commit 89e820674b376e863e62be166bc14b6e8d248927
    15176 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15177 Date:   Wed Jun 30 18:17:24 2010 +0200
    15178 
    15179     Added a function that allows an expansion of a Point into its 27 periodic continuations
    15180 
    15181 commit f429d7fcd44499560286adf7dea1cac00249abce
    15182 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15183 Date:   Wed Jun 30 17:39:55 2010 +0200
    15184 
    15185     Move Vector::WrapPeriodically to Box class
    15186 
    15187 commit 3dcb1fbe66c95e1473208ab3eefbd14acd66c2f9
    15188 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15189 Date:   Wed Jun 30 16:45:38 2010 +0200
    15190 
    15191     Added two functions to Box class to translate Vectors from Box-Space to normal space
    15192 
    15193 commit 6e00ddff3c4fbf233fa517f23431c7fd3ebae6c6
    15194 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15195 Date:   Wed Jun 30 16:41:46 2010 +0200
    15196 
    15197     Added check for symmetricity in Box::setM()
    15198 
    15199 commit ac272479ab593989831ae7d86c423844f00eb05a
    15200 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15201 Date:   Wed Jun 30 16:34:11 2010 +0200
    15202 
    15203     FIX: RepeatBoxAction was using a reference to the Box size instead of a copy
    15204 
    15205 commit 082215113a5db70685f369e097f2087319b1ee7b
    15206 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15207 Date:   Wed Jun 30 16:03:43 2010 +0200
    15208 
    15209     FIX: ScaleBoxAction did not set the new Box Matrix in the World
    15210 
    15211 commit 4907a3bc2ada49ac58ab09c7e207c9d34f641fd0
    15212 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15213 Date:   Wed Jun 30 15:57:31 2010 +0200
    15214 
    15215     TESTFIX: Repaired regression test that tried to produce a non-invertible matrix as cell size
    15216 
    15217 commit 84c494528bbd3943769972df639fbc01ec0bed4e
    15218 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15219 Date:   Wed Jun 30 15:55:42 2010 +0200
    15220 
    15221     Made the world store the cell_size within a Box object.
    15222 
    15223 commit 9df5c6800ee6ef2b8e834cd973cc0c165a9587d6
    15224 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15225 Date:   Wed Jun 30 14:20:34 2010 +0200
    15226 
    15227     Made the Vector::IsInParallelepiped() method take a matrix instead of a double*
    15228 
    15229 commit 4b0cbb5d713a46a9aed2ab44377f403ca3acc743
    15230 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15231 Date:   Wed Jun 30 12:47:06 2010 +0200
    15232 
    15233     Made the Vector::PeriodicDistance() and Vector::PeriodicDistanceSquared() methods take Matrices instead of double *
    15234 
    15235 commit 7579a4bcbb167ec80ed46431296f3b57d98e4a9a
    15236 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15237 Date:   Wed Jun 30 12:21:12 2010 +0200
    15238 
    15239     Added Copy constructor and Assignment operator to Box class
    15240 
    15241 commit 83c09a4128bfebd7dc93d3ef069901c9572ba4c6
    15242 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15243 Date:   Wed Jun 30 11:42:58 2010 +0200
    15244 
    15245     Added a basic Box class to store cell_size as well as inverse of cell_size
    15246 
    15247 commit c49c96b4713aa56687bee43886a27e6da84000b2
    15248 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15249 Date:   Wed Jun 30 11:41:55 2010 +0200
    15250 
    15251     Added an output function for matrices
    15252 
    15253 commit 1da5f598a5996a8d0b1d0291644c2ac185fe8f83
    15254 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15255 Date:   Wed Jun 30 11:08:19 2010 +0200
    15256 
    15257     Added method that allows fast construction of Unity matrices
    15258 
    15259 commit 5108e1ee1cf9c498299f8b2bf556d3a3275459c6
    15260 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15261 Date:   Wed Jun 30 11:00:19 2010 +0200
    15262 
    15263     Removed MatrixMultiplication() method from Vector class
    15264 
    15265 commit 56fb093e0167ef69ea5f8c9737745e22deff50ee
    15266 Merge: 51a5c88 8e0c637
    15267 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15268 Date:   Wed Jun 30 10:35:38 2010 +0200
    15269 
    15270     Merge branch 'stable' into StructureRefactoring
    15271 
    15272 commit 8e0c63737339627f63c419ca95326da1336297c1
    15273 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15274 Date:   Tue Jun 29 17:25:53 2010 +0200
    15275 
    15276     MEMFIX: MatrixContainer::MatrixContainer() made some initial allocations that were simply overwritten afterwards and not free'd.
    15277    
    15278     - This probably originates from the removal of Malloc/Free.
    15279     - TESTFIX: Molecules/5 now returns 0 and not 134 anymore. (but still BROKEN as it seems)
    15280    
    15281     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15282 
    15283 commit ef7d30483f1801e573483fe5210661e86dc379ad
    15284 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15285 Date:   Tue Jun 29 15:04:40 2010 +0200
    15286 
    15287     MEMFIX: ForceMatrix in VelocityVerletIntegration had a stupid offset.
    15288    
    15289     - this offset is now generalized and needed as an additional parameter in TrajectoryParticle::VelocityVerletUpdate() and molecule::VerletForceIntegration()
    15290 
    15291 commit 52d777d1601f9030a5927fbca2ed90bfd50b5cbc
    15292 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15293 Date:   Tue Jun 29 12:43:09 2010 +0200
    15294 
    15295     MEMFIX: molecule::CenterInBox() did not delete CenterBox vector returned by DetermineCenterOfBox().
    15296    
    15297     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15298 
    15299 commit 5773a9de40d6fe1f3288879dc3301f45718866a4
    15300 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15301 Date:   Tue Jun 29 12:32:32 2010 +0200
    15302 
    15303     MEMFIX: PcpParser::StructOpt was not initialized in constructor.
    15304    
    15305     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15306 
    15307 commit 60239f18abcd9188cedaba56cf38cef8bfcb62ef
    15308 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15309 Date:   Tue Jun 29 12:25:54 2010 +0200
    15310 
    15311     MEMFIX: output streams in FormatParserStorage::SaveAll() were not free'd
    15312    
    15313     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15314 
    15315 commit 11428f8ce2021ae66b5a6bfe2bf9edd3c49f49b4
    15316 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15317 Date:   Tue Jun 29 10:59:19 2010 +0200
    15318 
    15319     COMPILEFIX: using namespace std with std:: in the implementation and not in the definition confused compiler with "-O0 -DNDEBUG"
    15320    
    15321     I think that this is rather a compiler bug. The compilation failure was gone, after using namespace std; had been removed.
    15322    
    15323     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15324 
    15325 commit 24c35aafa08fa4ef2e58c5113ea202f3081ef5e2
    15326 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15327 Date:   Tue Jun 29 10:59:01 2010 +0200
    15328 
    15329     Removed unused variables.
    15330    
    15331     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15332 
    15333 commit cfa7957454d1a79e2551d4b5b5a743e2ba165c59
    15334 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15335 Date:   Mon Jun 28 19:02:50 2010 +0200
    15336 
    15337     GetCenterofCircumcircle(0 - Removed old calculation that is superceded by use of barycentric coordinates.
    15338    
    15339     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15340 
    15341 commit 13892b0f345f9589fbbc5c03efa50305466eea2c
    15342 Merge: bdb1432 de8e451
    15343 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15344 Date:   Mon Jun 28 18:53:51 2010 +0200
    15345 
    15346     Merge branch 'UIElementsExplained' into stable
    15347 
    15348 commit 51a5c882321fa978a575883a8e26918f06508900
    15349 Merge: bdb1432 f0f1cc8
    15350 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15351 Date:   Mon Jun 28 17:50:54 2010 +0200
    15352 
    15353     Merge branch 'StructureRefactoring' of jupiter:espack into StructureRefactoring
    15354 
    15355 commit bdb143247eccc7c91b16ff0f4b58e8e1946856d2
    15356 Merge: b2531f5 c39cc4a
    15357 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15358 Date:   Mon Jun 28 16:53:18 2010 +0200
    15359 
    15360     Merge branch 'StructureRefactoring' into stable
    15361    
    15362     Conflicts:
    15363         molecuilder/src/analysis_bonds.cpp
    15364         molecuilder/src/analysis_bonds.hpp
    15365         molecuilder/src/builder.cpp
    15366         molecuilder/src/unittests/Makefile.am
    15367         molecuilder/src/unittests/TestRunnerMain.cpp
    15368    
    15369     - TESTFIX: Tesselations/heptan - Due to different implementations of GetCircumCenter() sequence of triangles nodes has changed in degenerate case
    15370     - TESTFIX: Tesselation/1-3 - Due to convexity criterion fourth argument (i.e. the value at the node) has changed.
    15371    
    15372     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15373 
    15374 commit c39cc4a287829a1c0da6147754970a5045cfb269
    15375 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15376 Date:   Mon Jun 28 10:04:25 2010 +0200
    15377 
    15378     TestRunnerMain.cpp admonished missing TestRunner despite no HAVE_ECUT.
    15379    
    15380     Here, TestRunner files were included without checking for HAVE_ECUT define, when not given we use UnitTestMain.cpp.
    15381    
    15382     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15383 
    15384 commit b2531f58b99abea1c74e576621a963d2f22b369f
    15385 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15386 Date:   Sun Jun 27 01:55:00 2010 +0200
    15387 
    15388     Introduced a MenuBar and Menus to the QT interface.
    15389    
    15390     - new map MapOfActions::MenuDescriptionMap which contains short and long descriptions of the menus.
    15391     - MapOfActions::populateActions() - rotate-to-pas and suspend-in-water actions were missing.
    15392     - QTMainWindow
    15393       - QTMainWindow() - creates a MenuBar and QTMenus and fills them with the actions from the maps in MapOfActions.
    15394       - new function populateMenu() - same as in TextWindow.
    15395       - new function getSuitableShortForm() - same as in TextWindow.
    15396     - TextWindow::TextWindow() - also makes use of the new map MenuDescriptionMap.
    15397     - MoleculeSuspendInWaterAction - changed argument to density and molecule is obtained by molecule-by-id
    15398    
    15399     - TESTFIX: Molecule/8 had wrong argument for rotate-to-pas
    15400     - TESTFIX: Filling/2 had missing molecule-by-id
    15401 
    15402 commit b0acc3a7b5b3ca40d4aa3940fd46ba4055624f89
    15403 Merge: b800215 326bbe4
    15404 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15405 Date:   Sun Jun 27 00:14:22 2010 +0200
    15406 
    15407     Merge branch 'stable' into QT4Refactoring
    15408    
    15409     Conflicts:
    15410         molecuilder/src/Makefile.am
    15411    
    15412     - molecuilder/src/Makefile.am: No more present (in stable) Legacy was conflicting
    15413 
    15414 commit b800215c062e714dbeab7570ef2a6df003c54c1c
    15415 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15416 Date:   Sun Jun 27 00:13:24 2010 +0200
    15417 
    15418     Menubar added to QTMainWindow.
    15419 
    15420 commit 01a51f94ff24a022319e8b9bb5f087c52d60443b
    15421 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15422 Date:   Sun Jun 27 00:12:38 2010 +0200
    15423 
    15424     BUGFIX: variable molecules in QTWorldView used uninitialized.
    15425 
    15426 commit b6dbff660c2628bf17ab96e04ccc8cb543e3fb8a
    15427 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15428 Date:   Sun Jun 27 00:11:52 2010 +0200
    15429 
    15430     BUGFIX: ax_check_glu.m4 has a bracket closed to early.
    15431    
    15432     - It was the reason why CXXFLAGS was set to "" and debugging was impossible.
    15433 
    15434 commit 4d206f76b42ca48e260cc39a9dcdaecaff8ec863
    15435 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15436 Date:   Sat Jun 26 14:38:28 2010 +0200
    15437 
    15438     Replaced Vector::PeriodicDistance() method with call to Vector::PeriodicDistanceSquared()
    15439 
    15440 commit a679d14665015795544b36884112591b171d0d36
    15441 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15442 Date:   Sat Jun 26 14:35:18 2010 +0200
    15443 
    15444     Replaced Matrix access with direct access at several places
    15445 
    15446 commit 436f0460fd2ba3e355fd4198fddee77f72a8f22d
    15447 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15448 Date:   Sat Jun 26 14:21:48 2010 +0200
    15449 
    15450     Added a method that allows faster setting of matrix elements using direct access to the gsl_matrix_set() function
    15451 
    15452 commit e3ffd3712ea849a94d9158d455849fb72640c7fa
    15453 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15454 Date:   Sat Jun 26 14:12:50 2010 +0200
    15455 
    15456     Added ASSERTions to test inidices for matrix access
    15457 
    15458 commit cadbc1fb3669b7855eee3fd6f30ff3fdfe118643
    15459 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15460 Date:   Sat Jun 26 14:08:48 2010 +0200
    15461 
    15462     Made the matrix class handle const correct
    15463 
    15464 commit 63d2b8b63768e631588dad2ca098054284d345b1
    15465 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15466 Date:   Sat Jun 26 13:59:50 2010 +0200
    15467 
    15468     Removed unused Vector::KeepPeriodic() method.
    15469 
    15470 commit d10eb6f3865b497d9398ecf46f86b0b565e82cd1
    15471 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15472 Date:   Sat Jun 26 13:52:50 2010 +0200
    15473 
    15474     Made the ReturnFullMatrixForSymmetric return a Matrix object directely instead of a double array
    15475 
    15476 commit f66b67ef25f8215db4696ae4d1b5f670050f9e30
    15477 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15478 Date:   Sat Jun 26 13:40:12 2010 +0200
    15479 
    15480     Removed InverseMatrix() function from helpers.cpp
    15481 
    15482 commit d0f1111bbe00c12da35e9d10566f6148b2bab529
    15483 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15484 Date:   Sat Jun 26 13:33:17 2010 +0200
    15485 
    15486     Changed Vector::WrapPeriodically to use matrixes instead of double*
    15487 
    15488 commit 2f1a7afd3dd955636f42122eb3485ffe4337ccbd
    15489 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15490 Date:   Sat Jun 26 13:17:50 2010 +0200
    15491 
    15492     Removed Vector::InverseMatrixMultiplication() method
    15493 
    15494 commit c7b39aba0c5bbf0cd82e49fb3793c618e6374c7e
    15495 Merge: 33d774f f0f1cc8
    15496 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15497 Date:   Sat Jun 26 13:03:06 2010 +0200
    15498 
    15499     Merge branch 'StructureRefactoring' into VectorRefactoring
    15500 
    15501 commit f0f1cc841801082b74fbe0a203cc8ebbbc78b481
    15502 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15503 Date:   Sat Jun 26 13:01:57 2010 +0200
    15504 
    15505     Simplified the #ifdef and #define structure in MemDebug.hpp
    15506 
    15507 commit daa5f1c954173ff3503ce39d99851286b9775f32
    15508 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15509 Date:   Sat Jun 26 12:45:09 2010 +0200
    15510 
    15511     Added forgotten include in TextWindow.hpp
    15512 
    15513 commit 33d774f89e3f2ad4459ea37163f2fa15abf35cac
    15514 Merge: c94eeb0 0c5eeb4
    15515 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15516 Date:   Fri Jun 25 17:54:48 2010 +0200
    15517 
    15518     Merge branch 'StructureRefactoring' into VectorRefactoring
    15519    
    15520     Conflicts:
    15521         molecuilder/src/Makefile.am
    15522 
    15523 commit c94eeb07a5a15f078d531c1d8ad2cffd9ba09b40
    15524 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15525 Date:   Fri Jun 25 17:27:35 2010 +0200
    15526 
    15527     Replaced several double* that were used as Matrixes with actuall matrix objects
    15528 
    15529 commit 0c5eeb409cae578bdec87b091364dde4c8b6940e
    15530 Merge: 0d1ad00 326bbe4
    15531 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15532 Date:   Fri Jun 25 16:27:26 2010 +0200
    15533 
    15534     Merge branch 'stable' into StructureRefactoring
    15535 
    15536 commit 325390d0efa70ca974c1bc1c47244bd26c28bc39
    15537 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15538 Date:   Fri Jun 25 12:52:58 2010 +0200
    15539 
    15540     Started work on basic matrix class to be used with Vector class
    15541 
    15542 commit 326bbe40da9599dc046e0fdfe636d1742946e288
    15543 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15544 Date:   Fri Jun 25 15:04:13 2010 +0200
    15545 
    15546     Legacy/oldmenu is no more.
    15547    
    15548     - TextWindow::TextWindow() now properly uses the actions that have been created during the Refactoring of CommandLineUI.
    15549     - removed TextWindow::populateEditMolecules() as there is a more general function now
    15550     - new Textwindow::populateMenu() - populates the menu by looking at MapOfActions::MenuContainsActionMap.
    15551     - new TextWindow::getSuitableShortForm() - educatedly guesses good key for action in menu.
    15552     - Hence, Legacy/oldmenu.* is dropped from molecuilder/src/Makefile.am
    15553     - new map MapOfActions::MenuContainsActionMap with menu names and all desired actions therein
    15554     - new MapOfActions::populateActions() which instantiate all possible actions (moved over from CommandLineWindow)
    15555     - DOCU: MapOfActions has full documentation explaining how to add new actions
    15556     - main(): CommandLineUI is taken if at least argument it present, otherwise text menu.
    15557    
    15558     Still missing:
    15559     - testsuite cases should work for both command line AND text menu (just add by calling  with "< input", where input has all the user input needed)
    15560 
    15561 commit 923b6cca0028d3b4eea5fdb75a369201bd898f35
    15562 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15563 Date:   Fri Jun 25 12:29:57 2010 +0200
    15564 
    15565     Used BLAS support of GSL to calculate scalarProducts
    15566 
    15567 commit 93987b81a24d8a945d0ec25efb8896deadd85f28
    15568 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15569 Date:   Fri Jun 25 12:17:22 2010 +0200
    15570 
    15571     Made the Vector use more gsl-operations internally
    15572 
    15573 commit 04488addea09a3c04b3c0a81d5e47ff9959d5f70
    15574 Merge: ce4487e 0d1ad00
    15575 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15576 Date:   Fri Jun 25 11:57:15 2010 +0200
    15577 
    15578     Merge branch 'StructureRefactoring' into QT4Refactoring
    15579    
    15580     Conflicts:
    15581         molecuilder/src/Makefile.am
    15582         molecuilder/src/builder.cpp
    15583 
    15584 commit 0d1ad007b5dcf34ce5860802ca2d4a7cd5ebeebf
    15585 Merge: 6d574a7 a356f2d
    15586 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15587 Date:   Fri Jun 25 11:42:28 2010 +0200
    15588 
    15589     Merge branch 'stable' into StructureRefactoring
    15590    
    15591     Conflicts:
    15592         molecuilder/src/World.cpp
    15593 
    15594 commit a356f2d04dbc5c43b28b20131421f2cee7cf693d
    15595 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15596 Date:   Fri Jun 25 10:31:18 2010 +0200
    15597 
    15598     Cleaned up builder.cpp
    15599    
    15600     - ParseComandLineOptions() along with the already #ifdef 0'd functions removed from builder.cpp
    15601     - DOCU: Rewrote introductory to Molecuilder.
    15602    
    15603     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15604 
    15605 commit 4f7f34ebe3887720f1827172d2ebad1e1c5ca8aa
    15606 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15607 Date:   Fri Jun 25 10:11:20 2010 +0200
    15608 
    15609     ParseCommandLineOptions() is not used anymore.
    15610    
    15611     - new Actions InputAction and OutputAction.
    15612     - ParseCommandLineOptions() is not called anymore in main(), instead all is handled by CommandLineUI
    15613     - Creating first molecule and loading Bondgraph is done in main()
    15614    
    15615     - TESTFIX: boost::program_options returns 134 in case of missing argument, not 255 and also no more CRITICAL message is given: testsuite-standard_options and testsuite-simple_configurations
    15616 
    15617 commit d0fbecbcdc3487bcfb490f5e818f9b9b96b5f4d2
    15618 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15619 Date:   Fri Jun 25 10:08:59 2010 +0200
    15620 
    15621     Added const_iterator get[Begin\End]Iter() and ostream& operator << to ActionRegistry.
    15622 
    15623 commit 6d574a751346812745b54fae2e6cf3966d6e579e
    15624 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15625 Date:   Thu Jun 24 16:31:45 2010 +0200
    15626 
    15627     Replaced several old-style asserts with more usable ASSERTs
    15628 
    15629 commit 906822f7830d141ace8f9b3ec266397f64fd05d7
    15630 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15631 Date:   Thu Jun 24 15:21:26 2010 +0200
    15632 
    15633     Removed forgotten debug message
    15634 
    15635 commit 7a176b4f26d1366174c839d048828e1641fdbc5c
    15636 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15637 Date:   Thu Jun 24 14:33:24 2010 +0200
    15638 
    15639     Repaired ObserverUnittest for -DNDEBUG build mode
    15640 
    15641 commit ce4487e287996b6b95f3542d631d6a770fb44ba4
    15642 Merge: 9f3b85c da3024e
    15643 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15644 Date:   Thu Jun 24 12:33:22 2010 +0200
    15645 
    15646     Merge branch 'MenuRefactoring' into QT4Refactoring
    15647 
    15648 commit 0d5dce8ae3af20bb3bf02caa0d122f24e7e0b9f4
    15649 Merge: f932b7b da3024e
    15650 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15651 Date:   Thu Jun 24 12:20:24 2010 +0200
    15652 
    15653     Merge branch 'StructureRefactoring' into Shapes
    15654 
    15655 commit 35b6985cb4b968c855916ec0ced6e74b690ac7b1
    15656 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15657 Date:   Wed Jun 23 17:20:35 2010 +0200
    15658 
    15659     BIG CHANGE: config::load and config::save in ParseCommandLineOptions() and main() replaced with FormatParser replacements.
    15660    
    15661     Fragmentation:
    15662     - FragmentMolecule() - configuration is not needed anymore, but a path (including prefix)
    15663     - class molecule:
    15664       - lots of changes from char * to std:string (due to above): LinearInterpolationBetweenConfiguration(), CheckOrderAtSite(), StoreBondsToFile(), StoreAdjacencyToFile(), CheckAdjacencyFileAgainstMolecule(), CheckAdjacencyFileAgainstMolecule_Init(), ParseOrderAtSiteFromFile(), StoreOrderAtSiteFile(), StoreForcesFile(), ScanAdaptiveFileIntoMap(), StoreForcesFile(), AddHydrogenCorrection(), OutputConfigForListOfFragments()
    15665       - in all above functions, also stringstreams have been replaced by simple strings and file != NULL by file.good()
    15666       - no more CalculateOrbitals(), shifted to class PcpParser
    15667     - FragmentationAction: argument of -f is now the prefix, molecule is obtained by molecule-by-id
    15668     - no more strcpy needed in: MoleculeLinearInterpolationofTrajectoriesAction, MoleculeSaveAdjacencyAction, MoleculeSaveBondsAction
    15669     - oldmenu::FragmentAtoms() - needs to ask for path with prefix now
    15670     - config: RetrieveConfigPathAndName() and configpath removed (replaced by above path with prefix)
    15671     - changes due to this removal: SaveConfig(), config::Load(), config::LoadOld()
    15672    
    15673     - FIX: MoleculeFillWithMoleculeAction: filler atoms have to be removed before the system can be stored to file.
    15674     - FIX: PcpParser::load() - has to put the molecule also into World's MoleculeListClass (otherwise the name cannot be set right after loading)
    15675    
    15676     - ParseCommandLineOptions()
    15677       - new parameter BondGraphFileName and creation of bond graph is done in main()
    15678       - no more config::load, just parser->load(), ConfigFileName is set extra and we always set configPresent to present.
    15679       - FIX: filename is only set when no molecule was allocated before
    15680       - FIX: case 't' and 'f' had wrong argc checks
    15681     - main()
    15682       - FormatParserStorage is set with mpqc, pcp and xyz
    15683       - BondGraph is constructed from new string BondGrapghFileName
    15684    
    15685     - new Libparser.a
    15686     - all sources from PARSER subdir are compiled into libparser such that only ParserUnitTest is recompiled.
    15687    
    15688     Testfixes:
    15689     - testsuite-fragmentation - changes to due to different -f calling syntax.
    15690     - most of the xyz files had to be replaced due to a single whitespace at the end of each entry: Domain/6, Simple_configuration/2, Simple_configuration/3, Simple_configuration/4, Simple_configuration/5, Simple_configuration/8
    15691     - in many cases were the number orbitals (and thus MaxMinStopStep) wrong: Filling/1, Simple_configuration/4, Simple_configuration/5
    15692    
    15693     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15694 
    15695 commit dc0d21a1aefd1ba76a3deb4c8d9439ef512260f4
    15696 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15697 Date:   Wed Jun 23 12:35:25 2010 +0200
    15698 
    15699     FIXes to FormatParserStorage.
    15700    
    15701     - renamed Add..() to add..()
    15702     - new functions get which return a reference to the (in absence instantiated) parser.
    15703     - FIX: add..() did not set ParserPresent.
    15704     - increment operator for enum ParserTypes was implemented in .hpp not .cpp and hence occured multiple times.
    15705 
    15706 commit df481f901d0d4c8cc3a41e10aa64882c27d2778b
    15707 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15708 Date:   Wed Jun 23 10:51:33 2010 +0200
    15709 
    15710     BUGFIX: XyzParser::save() - substr needs to be (0, pos), not just (pos).
    15711    
    15712     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15713 
    15714 commit 2fd80b56d5b7d29736198f4a8490428ffd019e9f
    15715 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15716 Date:   Tue Jun 22 17:33:06 2010 +0200
    15717 
    15718     FIXES: ParserUnitTest was broken
    15719    
    15720     - XyzParser: ctime returns endline, has to be cut away as variable comment is without.
    15721     - TESTFIX: ParserUnitTest had 0.00000 instead of 0 (noshowpoint is in action).
    15722     - TESTFIX: MpqcParser: due to newly used center, ParserUnitTest had wrong coordinates.
    15723     - PcpParser::CalculateOrbitals() - used Valence instead of NoValenceOrbitals
    15724     - PcpParser::Load() - PsiType changes parsing of PsiMaxNoUp/Down in place for MaxPsiDouble, but the others should be parsed optionally to ensure the taking over of the values if present.
    15725     - BUGFIX: MpqcParser::MpqcParser() - HessianPresent was not initialized, causing failures when ParserUnitTest is run with gdb and none without
    15726 
    15727 commit 52baf9e6c40a11d21dbc723f3b31eca45daef2f5
    15728 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15729 Date:   Tue Jun 22 16:09:14 2010 +0200
    15730 
    15731     new class FormatParserStorage takes care of allocation, uniqueness and de-allocation.
    15732    
    15733     This is necessary as otherwise ofstream have to be given to each Parser on instantiation. I.e. files are written over at the start of the program. Critical exits will thus results in empty files.
    15734    
    15735     - new class FormatParserStorage:
    15736       - singleton
    15737       - contains a vector of all possible parsers
    15738       - allows for a common naming with a prefix
    15739       - SaveAll() can be used at the end of the program
    15740     - TremoloParser::TremoloParser() - default usedFields has all keys from knownKeys.
    15741     - FIX: TremoloParser::parseAtomDataKeysLine() - added clear for usedFields such that the function can be called more than once.
    15742 
    15743 commit 4ac1aa6e568bca366690efdb5d300829725129b8
    15744 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15745 Date:   Tue Jun 22 11:33:48 2010 +0200
    15746 
    15747     Removed two unused variables.
    15748 
    15749 commit 650ca8cc5cd79b7bdc9e6dccdeb2e2d235d94356
    15750 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15751 Date:   Tue Jun 22 11:30:03 2010 +0200
    15752 
    15753     FIX: PcpParser had wrong default values for testsuite cases, number orbitals are wrong, no defaults for NULL strings.
    15754    
    15755     - Variables in paths are all NULL as default, this has to be caught on output and default values given.
    15756     - some default values were not consistent with testsuite cases (Simple_configuration/2).
    15757     - PcpParser::save() - removed some commented-out sections.
    15758     - new function PcpParser::CalculateOrbitals() - transfered from class molecule, acting now on vector<atom *>.
    15759     - BUGFIX: PcpParser::OutputAtoms() - wrong index for ZtoCountMap used.
    15760 
    15761 commit 1434c98f6218169a6a495cedbaf97beec43ca83d
    15762 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15763 Date:   Tue Jun 22 11:29:01 2010 +0200
    15764 
    15765     FIX: XyzParser needed comment and correctly formatted numbers to pass testsuite cases.
    15766    
    15767     - if comment is empty, we set it to "Create by moleculder" with date
    15768     - numbers are formated by noshowpoint
    15769 
    15770 commit d6b8e155f9cafd168e638fb519c9e3f72657177f
    15771 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15772 Date:   Tue Jun 22 11:24:54 2010 +0200
    15773 
    15774     FIX: center calculation was missing in order to pass testsuite cases.
    15775 
    15776 commit d3dff06e8fff78fceae7c93eb68106e91329b667
    15777 Merge: a1e9297 f34c238
    15778 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15779 Date:   Mon Jun 21 16:07:25 2010 +0200
    15780 
    15781     Merge branch 'stable' into PcpAndMpqcParser
    15782 
    15783 commit f34c238ce5cc901d49c2b7d96c15786b1d2d390d
    15784 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15785 Date:   Mon Jun 21 16:04:36 2010 +0200
    15786 
    15787     MEMFIX: Periodentafel constructor would instantiate stringstreams in database load calls but not remove them.
    15788 
    15789 commit 61b5f07893ccd22d60b3aed36aa1152a08528f2a
    15790 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15791 Date:   Mon Jun 21 15:46:42 2010 +0200
    15792 
    15793     MEMFIX: When periodentafel::LoadElementsDatabase() is called again, new element is copied into old one, but not removed afterwards.
    15794 
    15795 commit a1e929783e7c845e1b7c256a42d24ecf7f449c2d
    15796 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15797 Date:   Mon Jun 21 15:07:58 2010 +0200
    15798 
    15799     Case 'p' is now handled by CommandLineUI.
    15800    
    15801     - ~XyzParser() did destroy falsely its own comment.
    15802     - TremoloParser and XyzParser used include with Parser path.
    15803     - ParserLoadXyzAction:
    15804       - corrected NAME.
    15805       - uses XyzParser and adds all new atoms to the first present molecule.
    15806     - CommandLineWindow::display() - now states when action is launched or found absent.
    15807     - builder.cpp: cleanup() - purges ChangeTracker
    15808     - ParseCommandLineOptions() - sets configPresent to present without check (as parsing is done afterwards, but arguments of other cases will be thrown away in case of empty world)
    15809 
    15810 commit 2f40c0ec191fde0edba78d75107fffb1ecd2edbe
    15811 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15812 Date:   Mon Jun 21 14:56:35 2010 +0200
    15813 
    15814     ChangeTracker now uses the Singleton pattern.
    15815    
    15816     - ChangeTracker is now using Patterns/Singleton[_impl].hpp
    15817     - ParserUnitTest then has to destroy the Tracker explicitely and before World is purged!
    15818 
    15819 commit 55240c456666db3cd70a6e0f1825c1af25cd9e70
    15820 Merge: 1b2d30e da3024e
    15821 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15822 Date:   Mon Jun 21 09:56:00 2010 +0200
    15823 
    15824     Merge branch 'stable' into PcpAndMpqcParser
    15825    
    15826     Conflicts:
    15827         molecuilder/src/Makefile.am
    15828    
    15829     - a single space after a "\"
    15830 
    15831 commit a7c3445deee89b704b2f94ca3ceacb70d02e389e
    15832 Merge: b32dbbf 27ac00c
    15833 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15834 Date:   Sat Jun 19 18:06:59 2010 +0200
    15835 
    15836     Merge branch 'StructureRefactoring' of jupiter:espack into StructureRefactoring
    15837 
    15838 commit da3024e9900eac30b2cab75bedab6250961eb4f3
    15839 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15840 Date:   Sat Jun 19 17:58:32 2010 +0200
    15841 
    15842     Fixed various compiler warnings.
    15843    
    15844     - Process::Process() - Action and Observer in wrong order.
    15845     - WorldRepeatBoxAction::performCall() - parenthesis missing.
    15846     - builder.cpp: SaveConfig() removed by extending #endif, function is not used.
    15847     - ParseCommandLineOptions() - unused variables removed.
    15848     - main() - unused variables removed.
    15849 
    15850 commit bf0edf6cc675dc6b4fcb371e999060afd9323b60
    15851 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15852 Date:   Sat Jun 19 17:58:01 2010 +0200
    15853 
    15854     Added Searchengine to generated doxygen documentation.
    15855    
    15856     I.e. One has now a little search text field up and right, where one can enter function names or others and obtains links to their explanatory pages. I think this is helpful as the whole code has grown quite a lot recently.
    15857    
    15858     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15859 
    15860 commit 274d45ac1a71ab65f0579050d6a972f174caf5e2
    15861 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15862 Date:   Sat Jun 19 14:35:01 2010 +0200
    15863 
    15864     FIX: Atoms were stored not in the sequence they were loaded.
    15865    
    15866     1. The main problem is molecule::atomSet which is a set<atom *>, i.e. atoms are sorted by their appearance in memory. As memory need not be allocated sequentially, this gives rise to extreme arbitririty which is not desired. Instead the atoms should be stored in the sequence they were loaded/created. The solution is as follows:
    15867     - config::SaveAll()
    15868        - uses SimpleMultiMerge() instead of SimpleMultiAdd(). I.e. no atoms are copied (with new ids) but are relinked into a single molecule.
    15869        - also, in case of only a single molecule in the list, we don't merge anything to avoid mol id changes.
    15870        - MaxMinSteps were set according to MaxPsiDouble overriding correct results from molecule::CalculateOrbitals()
    15871     - molecule::atomSet is now a list<atom *>
    15872     - molecule::atomIds is a new set<atomId_t> (atomIdSet) which controls that (global) ids remain unique in the no more Atomset's set (but list)
    15873     - molecule::erase() erases also in atomIds
    15874     - molecule::insert() checks whether id is present by atomIds
    15875     - molecule::find() as std::list does not have a find, we just go through the list until the object is found (or not), this may be speeded up by another internal list.
    15876     - molecule::InternalPointer made lots of confusion as virtual function GoToFirst() is const, hence begin() (needed therein) returns const_iterator, which then cannot be simply re-cast into an iterator: We make it a pointer, reinterpret_cast the pointer and reference it back. Although InternalPointer is mutable, the compiler cannot use the non-const function begin() (it cannot be made const, as overloading is not allowed). (this is noted in the code also extensively.)
    15877     - molecule::containsAtom() does not use count but the new find, as it returns only boolean anyway.
    15878     - rewrote MoleculeListClass::SimpleMerge() to get rid of the extra iterator, as we remove all atoms in the end anyway.
    15879     - FIX: MoleculeListClass::SimpleMultiMerge() - the created mol was not inserted into the moleculelist in the end, although it is the only one to remain.
    15880    
    15881     2. All other databases had missing headers with respect to those stored in elements_db.cpp. Hence, valence of hydrogen was not parsed and this caused several failures in CalculateOrbitals() (Psi numbers and MaxMinSetp in pcp conf file).
    15882    
    15883     3. Subsequenytly, various test cases (12, 21, 30, 31, 36-38, 39) were broken. This had two reasons:
    15884     - Seemingly, CalculateOrbitals() was broken before hence MaxMinStep (pcp config) and MaxPsiDouble/PsiMaxNn[Up|Down] were always 0. (10-21,30-31,39)
    15885     - As the order is now correct, fixes from commits c9217161ec2a5d5db508557fe98a32068461f45b and 22a6da8380911571debebd69444d2615450bbbd8 were obselete and have been reverted (order of the Ion?_Type...): Molecules/6 (30), Molecules/7 (31), Filling/1 (39)
    15886     - Due to different ordering, Tesselation/3 (38) had completely different .dat file (though same tesselation)
    15887     - r3d had small differences, mostly order or epsilon (0 not being 0 but ..-e16), hence diffing was deactivated, as r3d is deprecated anyway (since vmd can render triangles as well and better).
    15888    
    15889     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15890 
    15891 commit ad2b411bce1e0560ebf2e3ba6134e4b38b4681ea
    15892 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15893 Date:   Sat Jun 19 14:13:45 2010 +0200
    15894 
    15895     atom::getId() should be a const function as it changes nothing in the class.
    15896    
    15897     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15898 
    15899 commit f2cefdb2905d750f0ec25e01b28d6ca3d82fe2a7
    15900 Author: Frederik Heber <heber@ins.uni-bonn.de>
    15901 Date:   Sat Jun 19 14:10:47 2010 +0200
    15902 
    15903     FIX: ObservedIterator::operator--() (prefix) was missing return statement.
    15904    
    15905     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    15906 
    15907 commit f932b7b1786c6ff2283e1fed18917476a226e500
    15908 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15909 Date:   Fri Jun 18 16:40:02 2010 +0200
    15910 
    15911     Added a method to calculate the intersection of a line with the unit sphere
    15912 
    15913 commit 394529331b65caadbef479aaeeaa1e16ed50a188
    15914 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15915 Date:   Fri Jun 18 12:46:57 2010 +0200
    15916 
    15917     Added small sanity check to the arguments of Resize_impl
    15918 
    15919 commit e09b70d7a588dbbff293dc4d06351cffd07f187a
    15920 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15921 Date:   Fri Jun 18 12:44:04 2010 +0200
    15922 
    15923     Added basic operations on shapes
    15924 
    15925 commit e38447444304566cccc4a9f79d61ec95482b450b
    15926 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15927 Date:   Fri Jun 18 12:18:10 2010 +0200
    15928 
    15929     Added some basic shapes to the shape framework
    15930 
    15931 commit 997784156d1dc26d2ac261687508df7c71e2a7b7
    15932 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15933 Date:   Fri Jun 18 12:03:23 2010 +0200
    15934 
    15935     Added basic structure for definition of geometric 3D shapes.
    15936 
    15937 commit 9f3b85ca21f1768f8726e03a5aba27f042618333
    15938 Merge: b47bfce d386e85
    15939 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15940 Date:   Thu Jun 17 17:24:24 2010 +0200
    15941 
    15942     Merge branch 'stable' into QT4Refactoring
    15943 
    15944 commit b47bfce85c995a562a7a73f752c8e74cc40cc9de
    15945 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15946 Date:   Thu Jun 17 17:23:53 2010 +0200
    15947 
    15948     Added forgotten files in previous commit
    15949 
    15950 commit d386e85d6e0aa4e0e8ea9ee687510515e0592c35
    15951 Merge: 1dc9ece cb16fe0
    15952 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15953 Date:   Thu Jun 17 17:12:54 2010 +0200
    15954 
    15955     Merge branch 'VectorSetMixin' into stable
    15956 
    15957 commit 1dc9ece817dde18f1ddda86a6a9bf1ceed029ec3
    15958 Merge: 5f5a7be 0c7ed86
    15959 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15960 Date:   Thu Jun 17 17:09:22 2010 +0200
    15961 
    15962     Merge branch 'VectorRefactoring' into stable
    15963    
    15964     Conflicts:
    15965         molecuilder/src/vector.cpp
    15966 
    15967 commit 257c77c0c7706fd4745edd8fffdb365d94c06777
    15968 Merge: 992fd78 5f5a7be
    15969 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15970 Date:   Thu Jun 17 16:55:56 2010 +0200
    15971 
    15972     Merge branch 'stable' into QT4Refactoring
    15973    
    15974     Conflicts:
    15975         molecuilder/src/Actions/TesselationAction/ConvexEnvelopeAction.hpp
    15976         molecuilder/src/Helpers/MemDebug.hpp
    15977         molecuilder/src/Makefile.am
    15978         molecuilder/src/UIElements/Dialog.cpp
    15979         molecuilder/src/UIElements/MainWindow.cpp
    15980         molecuilder/src/UIElements/TextUI/TextUIFactory.cpp
    15981         molecuilder/src/builder.cpp
    15982 
    15983 commit 5f5a7be8b7a95cd7fe35e9d728b89d6bc36b2f6a
    15984 Merge: fc60537 190326d
    15985 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15986 Date:   Thu Jun 17 14:56:48 2010 +0200
    15987 
    15988     Merge branch 'MenuRefactoring' into stable
    15989    
    15990     Conflicts:
    15991         molecuilder/src/UIElements/TextUIFactory.cpp
    15992         molecuilder/src/UIElements/UIFactory.cpp
    15993         molecuilder/src/UIElements/UIFactory.hpp
    15994         molecuilder/src/builder.cpp
    15995 
    15996 commit fc60537725dce1fccdbfab4a892a9fb6d37d5f8c
    15997 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    15998 Date:   Thu Jun 17 14:25:43 2010 +0200
    15999 
    16000     Made the complete MemDebug file conditional, to speed up compilation
    16001 
    16002 commit 4922793995be9d95cb066183ffb6f6bd1f01af1f
    16003 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16004 Date:   Thu Jun 17 13:55:29 2010 +0200
    16005 
    16006     FIX: Repaired MemDebug to use safe (C-Style) pthread-mutexes instead of object oriented boost::thread::mutexes
    16007 
    16008 commit e6317b4b368fa20de1aaa2983bd1421caecd6287
    16009 Merge: f8e4867 980dd65
    16010 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16011 Date:   Wed Jun 16 14:24:21 2010 +0200
    16012 
    16013     Broken: Merge commit 'Gitosis/stable' into stable
    16014    
    16015     Conflicts:
    16016    
    16017         molecuilder/src/Actions/AnalysisAction/PairCorrelationToPointAction.cpp
    16018         molecuilder/src/Actions/AnalysisAction/PairCorrelationToSurfaceAction.cpp
    16019         molecuilder/src/Makefile.am
    16020 
    16021 commit 1b2d30e4f20f9cf99960f0856222c0470911beec
    16022 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16023 Date:   Sat Jun 12 23:59:36 2010 +0200
    16024 
    16025     Extended PcpParser, completed MpqcParser.
    16026    
    16027     - BUGFIX: ConfigFileBuffer::InitFileBuffer() did not clear istream before re-use.
    16028     - class PcpParser
    16029       - operator== - compares every variable by ASSERTs.
    16030       - constructor initializes variables all to sensible values.
    16031     - class MpqcParser
    16032       - new function save() - calls either SaveHessian() or Save() according to flag HessianPresent.
    16033       - new functions SaveHessian() and Save() which contain both parts of config::SaveMPQC().
    16034       - no function load() - this functionality has not been present and is not needed right away.
    16035     - Extended ParserUnitTest
    16036      - new test case readwritePcpTest() - load from static string, store, load again and compare both.
    16037      - new test case writeMpqcTest() - write a state of the world and compare to one from static string.
    16038      - all static strings have been made static and set before all functions.
    16039      - new string containing an example pcp config file.
    16040      - we check whether hydrogen and oxygen are known to the world as we test with these two elements.
    16041     - atom::OutputMPQCLine() - now takes ostream instead of ofstream.
    16042     - config::SaveMPQC() - adapted accordingly (cast is necessary)
    16043 
    16044 commit 43dad65dfe7e2b0ebca47285b180df260a3dfd9c
    16045 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16046 Date:   Sat Jun 12 17:54:26 2010 +0200
    16047 
    16048     Introducing (but not yet incorporated) FormatParser specializations for MPQC and PCP config files.
    16049    
    16050     - new modules MpqcParser.[ch]pp and PcpParser.[ch]pp.
    16051     - class MpqcParser:
    16052       - just a skeleton so far
    16053     - class PcpParser:
    16054       - load and save basically adapted from config::Load and config::Save.
    16055       - new functions OutputAtoms() and OutputElements() from molecule::Output() and molecule::CheckOut().
    16056       - ne function ParseThermostats() - as the parsing is specific to the format it should be handled by the FormatParser, not bz ThermoStatContainer.
    16057       - most of the variables from config placed into struct to put them into groups (for later splitting up load&save into subfunctions).
    16058     - new overload ConfigFileBuffer::InitFileBuffer() accepting streams (FormatParser works on streams, config still with filenames).
    16059     - World: new member Thermostats which contains all thermostat parameters with getter function.
    16060     - ThermoStatContainer::ParseThermostats() moved over to PcpParser and re-introduced in config.
    16061     - atom::OutputArrayIndexed() now works on ostream, not ofstream.
    16062     - molecule::Output() adapted to ostream change.
    16063 
    16064 commit a3fded485f7f96b3a75bd175b6c7cdda9af47a7a
    16065 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16066 Date:   Sat Jun 12 15:05:12 2010 +0200
    16067 
    16068     New class ThermoStatContainer containing all parameters and changes to ConfigFileBuffer.
    16069    
    16070     - include "bondgraph.hpp" replaced by forward declaration
    16071     - Hence, include missing in the following files: BondLengthTableAction.cpp, DepthFirstSearchAction.cpp, FragmentationAction.cpp, moleculelist.cpp, config.cpp
    16072     - ConfigFileBuffer changes:
    16073       - new functions: Init/RemoveMapping(), InitFileBuffer() and RemoveBuffer()
    16074       - new flag: MapAllocated states whether LineMapping is allocated
    16075     - new class ThermoStatContainer:
    16076       - gets InitThermostats() and ParseThermostats() from config.cpp
    16077       -  all thermostat-related parameters moved from config thereto
    16078     - TrajectoryParticle(), config::Load() and molecule:Thermostats() adapted due to new Thermostats container.
    16079     - define MaxThermostats and enum thermostats moved from molecule.hpp to declaration of ThermoStatContainer
    16080 
    16081 commit 88104f086073b22665cda040c1703bc0f50a7de1
    16082 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16083 Date:   Sat Jun 12 13:12:20 2010 +0200
    16084 
    16085     Placed class ConfigFileBuffer into its own module.
    16086    
    16087     - this is a first step in clearing up config.[ch]pp and implementing PcpParser.
    16088 
    16089 commit 980dd655b657aeb3ce3173a95b5ac1122b2f7062
    16090 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16091 Date:   Fri Jun 11 21:41:45 2010 +0200
    16092 
    16093     Case 'N' is now handled by CommandLineUI.
    16094    
    16095     - TESTFIX: Tesselation/1 and Tesselation/3 molecuilder calls have been changed.
    16096     - TESTFIX: Tesselation/defs.in call of molecuilder has been changed.
    16097 
    16098 commit f6bd32663ea9fa338315b53ec627587c5be08a37
    16099 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16100 Date:   Fri Jun 11 21:22:37 2010 +0200
    16101 
    16102     Case 'o' is now handled by CommandLineUI.
    16103    
    16104     - As of now, multiple "--offset" do not work. Hence, we invented new --convex-file and --nonconvex-file.
    16105 
    16106 commit f8e48676b87bf0f42739924444d277b2d0744db3
    16107 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16108 Date:   Fri Jun 11 18:01:49 2010 +0200
    16109 
    16110     Repaired compilation with -DNO_CACHING option
    16111 
    16112 commit 6866aa7c49cdc09ce8a84ee021aa65f313e82887
    16113 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16114 Date:   Fri Jun 11 17:59:53 2010 +0200
    16115 
    16116     Case 'I' is now handled by CommandLineUI.
    16117 
    16118 commit a802418d734a3ae0fa779a318ce2fc35ae74868d
    16119 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16120 Date:   Fri Jun 11 17:53:52 2010 +0200
    16121 
    16122     Made the atoms remove all their bonds upon destruction
    16123 
    16124 commit a307afaf868689418b2f1803da4afde3c8e01e78
    16125 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16126 Date:   Fri Jun 11 17:52:44 2010 +0200
    16127 
    16128     Case 'S' is now handled by CommandLineUI.
    16129 
    16130 commit a024627b6670da09d98bfc67ad4d3d28393f939c
    16131 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16132 Date:   Fri Jun 11 17:48:32 2010 +0200
    16133 
    16134     Case 'L' is now handled by CommandLineUI.
    16135 
    16136 commit 6cfa368945b3056d4735abf7d3286f8d7a07aa72
    16137 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16138 Date:   Fri Jun 11 17:41:41 2010 +0200
    16139 
    16140     Made atoms remove themselves from molecules upon destruction
    16141 
    16142 commit aacce839dff40761d1bbe945e9724e91fa2b50ea
    16143 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16144 Date:   Fri Jun 11 17:27:20 2010 +0200
    16145 
    16146     Case 'P' is now handled by CommandLineUI.
    16147    
    16148     - TESTFIX: "--molecule-by-id 0" added to test call.
    16149 
    16150 commit 77b2d7c74ef5d3d1f96600b9768c905b445340ac
    16151 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16152 Date:   Fri Jun 11 17:21:51 2010 +0200
    16153 
    16154     Cases 't' and 'T' are now handled by CommandLineUI.
    16155    
    16156     - TESTFIX: both cases have "--molecule-by-id 0 --periodic 0/1" added.
    16157     - ParseCommandLineOptions()- case 'T' removed as is handled by --periodic switch.
    16158     - added missing Action instantiation to CommandLineWindow::populateMoleculeActions().
    16159 
    16160 commit e2b47c937167a3e72fb72e019f375a4bbd32d280
    16161 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16162 Date:   Fri Jun 11 17:07:11 2010 +0200
    16163 
    16164     Case 'R' is now handled by CommandLineUI.
    16165    
    16166     - again, for each atom to remove all molecules are gone through and it is tried to be erased (due to storing done molecule- not atom-wise)
    16167     - TESTFIX: "--position" introduced
    16168 
    16169 commit 9d2a9276f94fe257f7259e9ad59fcd484a8722c2
    16170 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16171 Date:   Fri Jun 11 16:49:15 2010 +0200
    16172 
    16173     ParseCommandLineOptions() - re-added removed argument count checking in cases to make new notation of action calls clearer.
    16174 
    16175 commit f4bd01c2def3fb661cc9b90940415de28b290f9b
    16176 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16177 Date:   Fri Jun 11 16:38:34 2010 +0200
    16178 
    16179     Case 'A' is now handled by CommandLineUI.
    16180    
    16181     - TESTFIX: "--molecule-by-id 0" added to test call.
    16182 
    16183 commit d55743edc4142644288d8bf9343d19ea95e5c454
    16184 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16185 Date:   Fri Jun 11 16:37:51 2010 +0200
    16186 
    16187     Case 'r' is now handled by CommandLineUI.
    16188 
    16189 commit 77de817d0562d36c9416af818dbfc17a59a68a99
    16190 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16191 Date:   Fri Jun 11 16:18:22 2010 +0200
    16192 
    16193     Cases 'J' and 'j' are now handled by CommandLineUI.
    16194    
    16195     - TESTFIX: "--molecule-by-id 0" added to calls.
    16196 
    16197 commit 54b95350c635ef205ff520b17801e884164b717f
    16198 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16199 Date:   Fri Jun 11 12:39:39 2010 +0200
    16200 
    16201     Case 'E' is now handled by CommandLineUI.
    16202    
    16203     - TESTFIX: --element is required now.
    16204 
    16205 commit f0a3ec30883f7671a6d9b42f3fef781efea8f232
    16206 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16207 Date:   Fri Jun 11 12:22:45 2010 +0200
    16208 
    16209     Case 'a' is now handled by CommandLineUI.
    16210    
    16211     - NOTE: atom has still to be added to a molecule to get saved in the end, this is fixed with new parser and should be corrected then (TODO is in the code)
    16212     - TESTFIX: Scanning for "Not enough or invalid" for invalid commands test cases has been replaced by just "Not enough"
    16213 
    16214 commit 6c7352cd441286633d02a559a31f6b99a0e2658f
    16215 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16216 Date:   Fri Jun 11 11:40:23 2010 +0200
    16217 
    16218     Removed commented-out LoadPeriodentafel() and (second) LoadBondLengthTable() parts from ParseCommandLineOptions().
    16219 
    16220 commit 387b36d5638a57ee36515af008ca45c020f7a49f
    16221 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16222 Date:   Fri Jun 11 11:36:09 2010 +0200
    16223 
    16224     Case 'X' is now handled by CommandLineUI, World::get/setDefaultName() operate on std:string not on char * anymore.
    16225    
    16226     - the char array is very fault-prone and is deprecated. Hence, replacement by std::string is good idea in any case.
    16227     - Here, setDefaultName deleted and re-allocated the pointer with a certain length. Good for memory, bad for safety.
    16228     - molecule::molecule() - changes due to the above.
    16229 
    16230 commit f821d64e8528cffecaf27ded1ba9fa8fce0cb4e5
    16231 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16232 Date:   Fri Jun 11 10:44:25 2010 +0200
    16233 
    16234     Case 'n' is now handled by CommandLineUI.
    16235    
    16236     - TESTFIX: fastparsing switch now has a parameter (0/1). This is due to queryEmpty being designed for messages only, fastparsing instead has a default value of 0.
    16237 
    16238 commit bdaacd8efe6f6b9ef2489b1334a0503013b89d42
    16239 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16240 Date:   Thu Jun 10 18:46:07 2010 +0200
    16241 
    16242     Case 'M' is now handled by CommandLineUI.
    16243 
    16244 commit 48c338b962fc8c9728af30644409aeeabaea8a7d
    16245 Merge: 39af9fc 0bcd11d
    16246 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16247 Date:   Fri Jun 11 12:44:46 2010 +0200
    16248 
    16249     Merge branch 'FixTestSuiteMaxOrderFail2' into stable
    16250 
    16251 commit 0bcd11dd8367158918c04ef1c4dda2a7559fc49f
    16252 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16253 Date:   Fri Jun 11 12:43:16 2010 +0200
    16254 
    16255     TESTFIX: Deactivated check of return code for MaxOrder, is declared BROKEN anyway.
    16256 
    16257 commit 756b5318facc694e4cc281e7d9b72ff50dc8c0f9
    16258 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16259 Date:   Thu Jun 10 18:25:42 2010 +0200
    16260 
    16261     TESTFIX: Fragmentation/3 is set to BROKEN.
    16262    
    16263     - somehow sequence of atoms is mixed about in each call and thus adjacencies are never the same.
    16264     - this bug should be mentioned, hence set test case to BROKEN and have remark why close-by.
    16265 
    16266 commit 39af9fcd84261dabd6be575928275dd216d89fc2
    16267 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16268 Date:   Thu Jun 10 18:24:24 2010 +0200
    16269 
    16270     Case 'g' is now handled by CommandLineUI.
    16271 
    16272 commit 198494d9bdb96377e7d421a1ab096e7cec9ef909
    16273 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16274 Date:   Thu Jun 10 18:20:36 2010 +0200
    16275 
    16276     Case 'e' is now handled by CommandLineUI.
    16277    
    16278     - BUGFIX: ElementDbAction did copy databasepath not when dialog was finished but before.
    16279 
    16280 commit 61745ccc38dc041f5dfcbdd3771f3ac5c9c786cf
    16281 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16282 Date:   Thu Jun 10 18:17:22 2010 +0200
    16283 
    16284     BUGFIX: LoadPeriodentafel() did not close files and elements have to be replaced in-place.
    16285    
    16286     - LoadPeriodentafel() - input file was never closed or cleared.
    16287     - LoadPeriodentafel() - new element in case of presence of same-Z, deleted the old one and installed a new one. However, atoms::type knows nothing about this change! Has to be done in-place.
    16288     - LoadPeriodentafel() - insertion is now tested with ASSERT
    16289     - periodentafel::RemoveElement() now return number of removed elements (good for ASSERT checks)
    16290 
    16291 commit 7e6b008345766c6fe1944b6cb57c2847aa592191
    16292 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16293 Date:   Thu Jun 10 18:13:23 2010 +0200
    16294 
    16295     FIX: Sequence of actions called from command line is now corrected.
    16296    
    16297     - MapOfActions: new function getShortFormToActionMap() which gives the inverse of the ShortFormMap.
    16298     - CommandLineParser: new function scanforSequenceOfArguments() added to Run() which:
    16299       - goes through the arguments
    16300       - picks out the command
    16301       - if prefixed by "-" uses the map to look up the actionname, for "--" the name is the command.
    16302     - main(): creates the map by calling getShortFormToActionMap() and handing over to CommandLineParser::Run()
    16303 
    16304 commit 623e89168dc407fe77c5dbbf192859477cae91d7
    16305 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16306 Date:   Thu Jun 10 18:05:53 2010 +0200
    16307 
    16308     Compilation took ages because of CommandLineParser.hpp being unnecessarily included in every action.
    16309    
    16310     - it was actually needed in HelperAction.cpp and copy&pasted itself from there into almost all others.
    16311 
    16312 commit 6d6b5491705c9d7eaf181c02b89e656d2ad2ae18
    16313 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16314 Date:   Thu Jun 10 17:10:19 2010 +0200
    16315 
    16316     Made the memory-tracker output the function from which it was called.
    16317 
    16318 commit 112b090c14e4507fb9dde0a3a340b9a3d61823ba
    16319 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16320 Date:   Thu Jun 10 15:11:28 2010 +0200
    16321 
    16322     Added #include "Helpers/MemDebug.hpp" to all .cpp files
    16323 
    16324 commit 2b5574e2ed38f6d3582dab8cd70d735f7f0a370b
    16325 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16326 Date:   Wed Jun 9 17:05:22 2010 +0200
    16327 
    16328     Case 'm' is now handled by CommandLineUI.
    16329    
    16330     - TESTCHANGE: Analysis/5 had to be switched off, as --principal-axis-system is hard to put into argclist by hand and counterproductive.
    16331 
    16332 commit 31b09efe60555434eafcd99fb4bf0adf4626b407
    16333 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16334 Date:   Wed Jun 9 17:09:55 2010 +0200
    16335 
    16336     Added new MoleculeDescriptor by name.
    16337    
    16338     - molecule Ids are rather clumsy to use (not as efficiently handled yet as those of atoms by World).
    16339     - but this would need another queryMolecule as the one present so far, looks for ints not strings.
    16340 
    16341 commit 58bbd3f2e470541a11fee67100edb3e8b589c40f
    16342 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16343 Date:   Wed Jun 9 17:08:46 2010 +0200
    16344 
    16345     Cases 'C' are now handled by CommandLineUI.
    16346    
    16347     - TESTFIX: Analysis/3/post/bin_output.csv was wrong, bins had max around 10, not 5. (which must be the max, as the box of water molecules is from 5:15 centered at 10 for each axis)
    16348     - PeriodicPairCorrelartion(): Old commented-out block removed.
    16349     - MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs() - MolName and id is printed.
    16350 
    16351 commit cd504777a814c6a07f5ee0afa968688b74c98db2
    16352 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16353 Date:   Wed Jun 9 16:30:10 2010 +0200
    16354 
    16355     Added Logging capabilities to Observer Framework
    16356 
    16357 commit 1e6913b9968cc6beb553ca42434c08a099e00d98
    16358 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16359 Date:   Wed Jun 9 16:09:46 2010 +0200
    16360 
    16361     Order of actions called did not conincide with order on command line.
    16362    
    16363     CommandLineWindow::display()
    16364      - Actions were called by going through the repository and checking whether present on CommandLine, this causes different sequence of actions to be called.
    16365      - Now, we go through all command lind parameters and check whether they correspond to an action in the registry which we call.
    16366    
    16367     ActionRegistry:
    16368     - new function: ActionRegistry::isActionByNamePresent() checks whether action is present in registry
    16369    
    16370     - TESTFIX: MaxOrder now failws if not another action is called before (here now, -v 1). Otherwise, return code only occurs on third call not on second
    16371 
    16372 commit 94d131220b911d708c24560616b4800dd3578f08
    16373 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16374 Date:   Wed Jun 9 16:06:23 2010 +0200
    16375 
    16376     Helpful messages added to find failing queries in CommandLineUI.
    16377    
    16378     - all ..CommandLineQuery() functions give missing warning on failure
    16379     - Dialog::display() admonished which query failed (and needed to friend of its own Query subclass for that ...)
    16380 
    16381 commit 1045249f0bb2378aa1e7ffeb512c7f6a371bc022
    16382 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16383 Date:   Wed Jun 9 13:21:58 2010 +0200
    16384 
    16385     Changed PairCorrelationAction to incorporate all three cases and handled different parameters needed for each, changed queryElement to list of elements.
    16386    
    16387     PairCorrelationAction:
    16388     - PairCorrelationAction has now three cases for Pair, Point and Surface.
    16389     - removed PairCorrelationToPointAction, PairCorrelationToSurfaceAction files and from Makefile.am
    16390    
    16391     queryElement:
    16392     - queryElement, ElementCommandLineQuery, ElementTextQuery, ElementQuery all changed to use vector<element *>* instead of element **
    16393     - ChangeElementAction changed accordingly
    16394     - oldmenu::AddAtoms() changed accordingly
    16395    
    16396     Others:
    16397     - CommandLineWindow::populateAnalysisActions() - missing MolecularVolumeAction and PrinicipalAxisSystemAction.
    16398 
    16399 commit c78d4478f91e8205044bcdcfb3ee915115126e76
    16400 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16401 Date:   Wed Jun 9 13:12:08 2010 +0200
    16402 
    16403     Change to PairCorrelation...() functions, accept now vector<element *> instead of ptrs to element *.
    16404    
    16405     - modified ParseCommndLineOptions for all three cases 'C': Pair (E), Point (P) and Surface (S).
    16406     - modified all Analysis(Pair)Correlation...() unit tests to have a vector of elements be delivered.
    16407 
    16408 commit 8540f07e82cb345c4dd82592eefae4aeb47705f4
    16409 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16410 Date:   Tue Jun 8 15:57:09 2010 +0200
    16411 
    16412     Case 'D' is now handled by CommandLineUI.
    16413 
    16414 commit e4b5de3092d7deccd5df82703dcd50757372d70a
    16415 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16416 Date:   Tue Jun 8 15:49:27 2010 +0200
    16417 
    16418     Case 'f' is now handled by CommandLineUI.
    16419    
    16420     - FragmentationFragmentationAction::handle() has not been implemented, copied from ParseCommandLineOptions()
    16421     - FIX: FragmentationFragmentationAction had wrong NAME.
    16422     - World has new ExitFlag variable and getter and setter functions.
    16423     - TESTFIX: Fragmentation/3 does not copy all BondFragment* files from pre but runs Fragmentation twice and tests the ExitFlag. This makes the test more independent and closer to what it's suppose to test (i.e. iterative fragmentation with increasing order).
    16424     - TESTFIX: removed all Fragmentation/3/pre/BondFragment* files
    16425     - FIX: CommandLineWindow::populateFragmentationActions() was missing two of its three actions still.
    16426 
    16427 commit 48ab70ab46459550f30b5526d868ebaef5b918e5
    16428 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16429 Date:   Tue Jun 8 14:13:11 2010 +0200
    16430 
    16431     Case 'u' is now handled by CommandLineUI.
    16432 
    16433 commit f2a1d3a2a5da8edb824b9f513362646108169507
    16434 Merge: 4ed18b5 e58856b
    16435 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16436 Date:   Tue Jun 8 13:18:45 2010 +0200
    16437 
    16438     Merge branch 'FixRemovedElementsDBFromMakefile' into stable
    16439    
    16440     - elements_db.[ch]pp had been removed as it was inserted too early (before files were added), but this confused recursive merge. Hence had to be reintroduced by hand here.
    16441 
    16442 commit 4ed18b5079e3f4ea8a189543a78e279bb579b049
    16443 Merge: 9907e77 b0e9c9b
    16444 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16445 Date:   Tue Jun 8 13:13:33 2010 +0200
    16446 
    16447     Merge branch 'FixPeriodenTafelConstructorLoadDBs' into stable
    16448 
    16449 commit e58856b1e8e0c3cba8153a568d0e09b787f1ce5c
    16450 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16451 Date:   Tue Jun 8 13:12:24 2010 +0200
    16452 
    16453     BUGFIX: elements.db has disappeared to early from .._DATA.
    16454    
    16455     - we need it till the switch to CommandLineUI and internal elements' db is done.
    16456     - FIX: elements_db.cpp/.hpp were already in den Makefile, but not added yet.
    16457 
    16458 commit b0e9c9b269a10c150b013b7fb592c9bf4771717b
    16459 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16460 Date:   Tue Jun 8 13:00:53 2010 +0200
    16461 
    16462     BUGFIX: Constructor of periodentafel had ASSERTs with function calls inside.
    16463    
    16464     - This is very serious as when debugging is switched off, ASSRTs are not getting compiled anymore, hence the functions to load the database are never called.
    16465 
    16466 commit 9907e774dbebe0f523b34cdd51927af10f1b83c2
    16467 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16468 Date:   Tue Jun 8 01:55:30 2010 +0200
    16469 
    16470     Case '-F' is now handled by CommandLineUI.
    16471    
    16472     - FIX: FillWithMoleculeAction was still using internally created water instead of molecule parsed from xyz file.
    16473 
    16474 commit 19c0e3e1d4f92d1e97268b4dba8d29dcbfc80b9c
    16475 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16476 Date:   Tue Jun 8 01:54:32 2010 +0200
    16477 
    16478     FIX: Boost >1.38 is needed for program_options to have working multitoken()
    16479 
    16480 commit 0286bc68dfc4d223023e8fa98a68a958f8bc8a40
    16481 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16482 Date:   Tue Jun 8 01:48:31 2010 +0200
    16483 
    16484     BUGFIX: ListOfDoubles changed to Box and Vector.
    16485    
    16486     - ListOfDoubles is now Box/Vector at appropriate places thanks to new validators and types
    16487     - new types BoxValue and VectorValue, being structures for symmetric 3x3 matrices and 3-dim vectors
    16488     - new file Values.hpp, containing the definitions added to Makefile.am
    16489     - new overloaded validate functions for boost::program_options
    16490     - CommandLineUI
    16491      - adapted VectorCommandLineQuery and BoxCommandLineQuery to expect VectorValue and BoxValue
    16492      - BUGFIX: CommandLineDialog::BooleanCommandLineQuery::handle() had copy&paste from Menu instead of program_options
    16493     - MapOfActions
    16494      - center-in-box and change-box expect Box not ListOfDoubles
    16495      - distances and lengths expect Vector not ListOfDoubles
    16496      - new DoRotate option
    16497      - inserted fill-molecule action
    16498 
    16499 commit 2c893432d10d5f709a426218ed12192005dc55e8
    16500 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16501 Date:   Fri Jun 4 14:19:41 2010 +0200
    16502 
    16503     Repaired broken NDEBUG mode of ASSERT
    16504 
    16505 commit 76c0d685b7570bb1f520bbd307e7486df6502bb4
    16506 Merge: e058267 27ac00c
    16507 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16508 Date:   Fri Jun 4 11:28:46 2010 +0200
    16509 
    16510     Merge branch 'StructureRefactoring' into stable
    16511    
    16512     Conflicts:
    16513    
    16514         molecuilder/src/Makefile.am
    16515         molecuilder/src/periodentafel.cpp
    16516 
    16517 commit e0582670720906c59f098684b31f4fd9f892fc21
    16518 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16519 Date:   Fri Jun 4 11:01:15 2010 +0200
    16520 
    16521     Small corrections on Makefile
    16522 
    16523 commit 3610bbd6dd22cef268eb768a7a49227356ab66d0
    16524 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16525 Date:   Wed Jun 2 18:31:10 2010 +0200
    16526 
    16527     test.conf.in was missing for test Simple_configuration/5.
    16528    
    16529     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16530 
    16531 commit e30ce84fbef084941d63f2e2a7066172cc844cb4
    16532 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16533 Date:   Wed Jun 2 17:41:52 2010 +0200
    16534 
    16535     Case 'd' is now handled by CommandLineUI (RepeatBoxAction).
    16536    
    16537     - rewritten the RepeatBoxAction quite a bit by allowing to build (x,y,z) matrices out of single molecules.
    16538     - implemented bew MoleculePtrDescriptor, which accepts the pointer to a molecule (so far, CommandLineQuery is as of yet lacking maybes/default values).
    16539    
    16540     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16541 
    16542 commit cb16fe02e8ab0e4ed02ea5cf121e406af58e092c
    16543 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16544 Date:   Wed Jun 2 17:18:11 2010 +0200
    16545 
    16546     Added a mixin that allows specifying methods for complete sets of vectors.
    16547 
    16548 commit 584a2a322e04645b47cee8b1353d66e700542023
    16549 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16550 Date:   Wed Jun 2 16:39:32 2010 +0200
    16551 
    16552     Case '-O' is now handled by CommandLineUI (CenterOnEdgeAction).
    16553    
    16554     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16555 
    16556 commit 116f37657626f7b5645e891423a19cb605191b28
    16557 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16558 Date:   Wed Jun 2 16:38:07 2010 +0200
    16559 
    16560     Case '-c' is now handled by CommandLineUI.
    16561    
    16562     - BUGFIX: WorldAddEmptyBoundaryAction() - forgot to add boundary on atom translation.
    16563 
    16564 commit accebe8bc59ac265078590b2779dbe11dbaa7e55
    16565 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16566 Date:   Wed Jun 2 16:25:12 2010 +0200
    16567 
    16568     Fix of PrepareClustersInWater (at least it does not stumble over memory issues).
    16569    
    16570     - note: this was just done to make check test Filling/2 work again (which only runs and does not check the output)
    16571     - GetBoundaryPoints() - using now left and right to have a good runner even if it is discarded/deleted, flag check when loop is through
    16572     - PrepareClustersinWater() - LCList is now a pointer and removed after FindConvexBorder()
    16573     - DOCUFIX: Tesselation::RemoveTesselationTriangle() - triangles attached to lines are printed starting on next line, not current
    16574     - BUGFIX: Tesselation::FlipBaseline() - as we remove the two connected triangles, the baseline who they are attached to will be deleted and removed, hence the loop over the line's triangles does not work. Now, we first put all into a list, then delete the triangles.
    16575    
    16576     This was the last test to fail. All unit tests (33), all testsuite cases (45) and all tesselation tests (15) work.
    16577    
    16578     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16579 
    16580 commit 7fd416194cc480b9626bf9368e61666164c47ec7
    16581 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16582 Date:   Wed Jun 2 14:22:47 2010 +0200
    16583 
    16584     FIX: CorrelationToSurface() was broken.
    16585    
    16586     - DOCU: CorrelationToSurface() is more verbose on empty molecules, molecule::doCountAtoms() is verbose on naming atoms only for high verbosity levels
    16587     - MEMFIX: ParseCommandLineOptions() - case 'CP' did not set counter to zero for re-setting active flag.
    16588     - BUGFIX: molecule::DeterminePeriodicCenter() - InverseMatrix() was called with cell_size instead of full matrix.
    16589     - rewritten MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs() a bit:
    16590       - molname and contained atoms are given
    16591       - no more stupid map, atoms are directly transfered from Leaf to molecules[]
    16592       - mol that contained all was not destroyed after use
    16593 
    16594 commit 6ef0a48dcb16ec5e06a6051a6f5432a8f9e8f020
    16595 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16596 Date:   Wed Jun 2 14:21:38 2010 +0200
    16597 
    16598     Removed Info objects from the small pointcloud implementation functions in molecule_pointcloud.cpp.
    16599    
    16600     - They made lots of noise for little use.
    16601    
    16602     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16603 
    16604 commit 992fd78d0cb2f68ddae2cbbc7bf29ef8a4fdc1d8
    16605 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16606 Date:   Wed Jun 2 14:11:52 2010 +0200
    16607 
    16608     Repaired some QT4 related memory leaks
    16609 
    16610 commit 67c75bd2dd15c9031c4c7a08a824e1a1fd2b47b7
    16611 Merge: 82b71ad 190326d
    16612 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16613 Date:   Wed Jun 2 13:44:00 2010 +0200
    16614 
    16615     Merge branch 'MenuRefactoring' into QT4Refactoring
    16616    
    16617     Conflicts:
    16618    
    16619         molecuilder/src/Makefile.am
    16620         molecuilder/src/builder.cpp
    16621         molecuilder/src/unittests/Makefile.am
    16622         molecuilder/src/vector.cpp
    16623 
    16624 commit 190326dfcdf83119424cbc4a7e16803961408c23
    16625 Merge: 9cf88c1 27ac00c
    16626 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16627 Date:   Wed Jun 2 13:19:27 2010 +0200
    16628 
    16629     Merge branch 'StructureRefactoring' into MenuRefactoring
    16630 
    16631 commit 0c7ed8641ea0c9f19538167d4633515f9dc0bc2e
    16632 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16633 Date:   Wed Jun 2 13:03:06 2010 +0200
    16634 
    16635     Passed the internal gsl_vector structure from Vector to linearSystemOfEquations.
    16636 
    16637 commit d690faa6ae4fab0442354d2d17cf5b7dd59c0f1e
    16638 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16639 Date:   Wed Jun 2 12:51:38 2010 +0200
    16640 
    16641     Replaced array inside of Vector with gsl_vector structure.
    16642 
    16643 commit d466f0823884cfb859e6b670d503b847b4f9f716
    16644 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16645 Date:   Wed Jun 2 12:46:31 2010 +0200
    16646 
    16647     Made the internal parts of Vector use accessor functions instead of direct access
    16648 
    16649 commit 27ac00cfe9f7342b99332c01a04df19c1db85e13
    16650 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    16651 Date:   Fri May 28 14:44:09 2010 +0200
    16652 
    16653     Made the line-plane intersection method take a line instead of two vectors
    16654 
    16655 commit 98a8b413a5a918be28c8c6dd7fe6fbaf41364d59
    16656 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16657 Date:   Wed Jun 2 10:37:17 2010 +0200
    16658 
    16659     TESTFIX: Analysis/... no more diff of output.csv (nameing dependent)
    16660    
    16661     - bin_output.csv in Analysis/1-2 were false! This was checked against version from commit 075729fddff01a99fa949f619de12b443235cd81.
    16662     - As, 62 in the bin of 0.5 is sensible, as there are 31 water molecules with 62 hydrogens, each seeing on oxygen (the one it is bound to) in 0.95 distance
    16663     - bin_output.csv are replaced by the ones generated from the above commit (not from the current one) and they perfectly match.
    16664    
    16665     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16666 
    16667 commit 009607edc36ccb36a9ffaf235b0da1289b350e41
    16668 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16669 Date:   Tue Jun 1 23:36:36 2010 +0200
    16670 
    16671     Small changes to ...Correlation...().
    16672    
    16673     - Calling doCountAtoms on all molecules before performing correlation calculations in ...Correlation...()
    16674     - Output of correlationmap in ParseCommandLineOptions().
    16675 
    16676 commit d51975159322114aa06fdaf99922a91c0070c4bd
    16677 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16678 Date:   Tue Jun 1 23:36:22 2010 +0200
    16679 
    16680     Small changes to FindConvexBorder().
    16681    
    16682     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16683 
    16684 commit e0aee2b0c326989ff24c035a5908461cfca18048
    16685 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16686 Date:   Tue Jun 1 23:04:17 2010 +0200
    16687 
    16688     Bugfix of FillBoxWithMolecule() and Testfix of Filling/1
    16689    
    16690     - BUGFIX: FillBoxWithMolecule() - increased filler in loop instead of iter (and iter is const now)
    16691     - FillBoxWithMolecule() - uses now const int FillerCount instead of filler->getAtomCount()
    16692     - TESTFIX: Filling/1 - replaced test.conf, as is exactly the same (after filling!) except ordering of initial atoms (of butane), checked visually and by diff.
    16693 
    16694 commit 15b670b004539c99ea55f410a0b9129ca76edf7c
    16695 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16696 Date:   Tue Jun 1 22:25:36 2010 +0200
    16697 
    16698     Testfixes for Tesselations/1-3 and bugfixes for molecule::DetermineCenterOfAll()
    16699    
    16700     - BUGFIX: molecule::DetermineCenterOfAll() - would scale by -1./Num, which is not the right center.
    16701     - TESTFIX: Tesselations/1-3 all suffered ... replaced in regression dir.
    16702      - (Non)ConvexEnvelope.r3d to be disordered, due to IonType2 appear before IonType1 in test.conf
    16703      - (Non)ConvexEnvelope.r3d from test and from regression to differ by 4.4e-16 and 0 (now nodes coordinates are set to 0, if fabs(.) is below MYEPSILON)
    16704      - Tesselations/3: NonConvexEnvelope.dat was disorder (but the exactly same tesselation) due to IonType (did not occur for Tesselations/1-2)
    16705 
    16706 commit 0de7e81363c14651e95003837debfa7013ab2edb
    16707 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16708 Date:   Tue Jun 1 21:59:25 2010 +0200
    16709 
    16710     FIX: Test Fragmentation is at MaxOrder was broken.
    16711    
    16712     - BUGFIX: molecule::CheckAdjacencyFileAgainstMolecule() called AtomCount() all the time instead of storing in const integer.
    16713     - DOCUFIX: "done"/"failed" is now always indented by hand "\t" for better readability
    16714     - DOCUFIX: Improved wordiness of CreateFatherLookupTable(), CheckAdjacencyFileAgainstMolecule_CompareBonds(), molecule::CheckAdjacencyFileAgainstMolecule()
    16715     - TESTFIX: Molecules/2 created a dir sdt and movedf all BondFragment*conf* files thereto and counted, what for?
    16716     - TESTFIX: Molecules/3 actually made only one fragmentation call. I guess before old stuff was not cleaned up and thus worked. But we need present KeySet and OrderAtSite to recognize MaxOrder! Hence, we now call it twice, first expecting 0, then 2 as return code which marks the correct procedure.
    16717 
    16718 commit acf8008e455ed1851656ff9d81044edf766929e0
    16719 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16720 Date:   Tue Jun 1 10:02:48 2010 +0200
    16721 
    16722     TESTFIX: Wrong (old) ordering of conf files (IonTyp2 before IonType1) causes wrong id's in dbond and adj.
    16723    
    16724     - replaced test.conf, replaced test.dbond and test.adj to correct.
    16725     - bonds are ok and have been checked to be correct.
    16726    
    16727     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16728 
    16729 commit bd6bfac107ab7ca8d1788ff529d3fa4c3a27439f
    16730 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16731 Date:   Tue Jun 1 09:28:15 2010 +0200
    16732 
    16733     Fixes after first,last removal.
    16734    
    16735     - BUGFIX: molecule::OutputGraphInfoPerBond() - had removal loop, not go-through-each-loop.
    16736     - BUGFIX: MoleculeListClass::~MoleculeListClass() - did falsely destroy molecules too although this is done by World.
    16737     - new function MoleculeListClass::erase() - handles signing off molecule as observer and removes from list.
    16738     - FIX: MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs()
    16739       - all molecules are removed from MoleculeListClass and also from World.
    16740       - all bonds are removed, by going through all atoms of World.
    16741       - molecule::getAtomCount() - calls doCountAtoms() which re-numbers and -labels atoms. This confused stuff.
    16742     - TESTFIX: Molecules/6 and Molecules/7 had wrong (old) ordering in their test.conf
    16743 
    16744 commit 1b93210482401ac84634a9154269150b34017ddf
    16745 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16746 Date:   Mon May 31 21:46:59 2010 +0200
    16747 
    16748     Added missing test.conf.xyz for Domain/6.
    16749    
    16750     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16751 
    16752 commit e08c46a527abafdd358c8cd066c13f33e9b77ab1
    16753 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16754 Date:   Mon May 31 20:41:12 2010 +0200
    16755 
    16756     Removed molecule::first, molecule::last.
    16757    
    16758     - molecule does not have a chained list of bonds.
    16759     - we have to go through atoms and its bonds, by checking (*BondRunner)->leftatom against (*AtomRunner) we exclude the other half.
    16760     - first,last were present in only a few structures.
    16761     - new functions:
    16762       - molecule::hasBondStructure() - replaces first->next != last construct
    16763       - molecule::CountBonds() - replaces first->next->next == last (i.e. one bond present) and alikes.
    16764    
    16765     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16766 
    16767 commit 1024cbc27eef62ed70b770868d078bd3df38ada6
    16768 Merge: 42af9ec a7b761b
    16769 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16770 Date:   Mon May 31 19:29:30 2010 +0200
    16771 
    16772     Merge commit 'jupiter/MoleculeStartEndSwitch' into CommandLineActionMapping
    16773    
    16774     Conflicts:
    16775    
    16776         molecuilder/src/Makefile.am
    16777         molecuilder/src/builder.cpp
    16778         molecuilder/src/config.cpp
    16779         molecuilder/src/helpers.hpp
    16780         molecuilder/src/molecule.cpp
    16781         molecuilder/src/molecule_dynamics.cpp
    16782         molecuilder/src/molecule_fragmentation.cpp
    16783         molecuilder/src/molecule_geometry.cpp
    16784         molecuilder/src/molecule_graph.cpp
    16785         molecuilder/src/moleculelist.cpp
    16786         molecuilder/src/unittests/AnalysisCorrelationToPointUnitTest.cpp
    16787         molecuilder/src/unittests/listofbondsunittest.cpp
    16788    
    16789     Integration of MoleculeStartEndSwitch had the following consequences:
    16790     - no more AtomCount -> getAtomCount()
    16791     - no more start/end -> begin(), end() and iterator
    16792     - no more decent ordering in atomic ids (hence, Simple_configuration/8 and Domain/5, Domain/6 now check by comparing sorted xyz, not confs)
    16793    
    16794     There is still a huge problem with bonds. One test runs into an endless loop.
    16795    
    16796     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16797 
    16798 commit 42af9ec72d1b004ed85b6db33bdcaeeecd94a23a
    16799 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16800 Date:   Mon May 31 16:27:12 2010 +0200
    16801 
    16802     MEMFIXES: no more default saving/loading of element's db, config::SaveTREMOLO(), molecule::CreateMappingLabelsToConfigSequence()
    16803    
    16804     - ParseCommandLineOptions() - loading element's db only when path was given
    16805     - main() - default storing at end removed, should be handled by config::~config()
    16806     - config::SaveTREMOLO() - LocalNotoGlobalNoMap is now an STL map, id must not be continuous, so old way is very error-prone
    16807     - molecule::CreateMappingLabelsToConfigSequence() - don't delete SortIndex (is done in FragmentMolecule)
    16808     - molecule::FragmentMolecule() - dont' delete FragmentList in the block
    16809     - testsuite-simple_configuration.at - removing atoms around sphere is not broken anymore, changed testsuite accordingly.
    16810    
    16811     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16812 
    16813 commit 920c708861f3c5528d44b9973722fa719f892ce0
    16814 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16815 Date:   Mon May 31 15:09:58 2010 +0200
    16816 
    16817     Removed all Malloc/Calloc/ReAlloc (&Free) and replaced by new and delete/delete[].
    16818    
    16819      Due to the new MemDebug framework there is no need (or even unnecessary/unwanted competition between it and) for the MemoryAllocator and ..UsageObserver anymore.
    16820      They can however still be used with c codes such as pcp and alikes.
    16821    
    16822      In Molecuilder lots of glibc corruptions arose and the C-like syntax make it generally harder to get allocation and deallocation straight.
    16823    
    16824     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16825 
    16826 commit 87b5978573759a5d986895a3ec448a92690612fc
    16827 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16828 Date:   Mon May 31 10:34:52 2010 +0200
    16829 
    16830     TESTFIX: Removed diff of output.csv for surface correlation as this is very tesselation-dependent.
    16831    
    16832     - i.e. it may fail without being wrong just because triangles are in different ordering (same as with comparison of triangles in Tesselations testpart)
    16833    
    16834     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16835 
    16836 commit 5ddb8a76c0957333ad68a9e64b106326e5855b32
    16837 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16838 Date:   Mon May 31 10:34:09 2010 +0200
    16839 
    16840     Added out-sourced testsuite files to Makefile.am such that they are checked for changes, too.
    16841    
    16842     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    16843 
    16844 commit 158c594ea323081685d67516e8bc7041f8e453fc
    16845 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16846 Date:   Mon May 31 01:40:04 2010 +0200
    16847 
    16848     Case '-b' now handled by CommandLineUI and fixes.
    16849    
    16850     - ParseCommandLineOptions() - rather use the old code still to check whether appropriate number of arguments present
    16851     - bound-in-box is just ensuring all atoms are within current box, i.e. no new box is specified (there is no pendant to that in ParseCommandLineOptions)
    16852     - WorldCenterInBox action however has to parse a box, corrected.
    16853 
    16854 commit 2a92ffb38b7c7646235b990f61cd5dc07e6290fd
    16855 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16856 Date:   Mon May 31 01:12:50 2010 +0200
    16857 
    16858     Case '-s' now handled by CommandLineUI.
    16859    
    16860     - FIX: Type Vector has to be ->multitoken() in MapOfActions.
    16861     - action scale-box was also missing DesriptonMap entry
    16862 
    16863 commit 6ca1f7793fa2dad297e98f4405497e00f487dc9b
    16864 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16865 Date:   Mon May 31 00:52:33 2010 +0200
    16866 
    16867     case '-B' now handled by CommandLineUI.
    16868 
    16869 commit 26f75a9168a4715bd185c7d52b9736805d848a59
    16870 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16871 Date:   Mon May 31 00:49:13 2010 +0200
    16872 
    16873     FIX: Box was not parsed correctly.
    16874    
    16875     - ListOf... types have to be multitoken() in MapOfActions class.
    16876     - BoxQuery::setResult() - had *target[] instead of (*target)[] (priorities of ops)
    16877     - change-box, bound-in-box, center-in-box all have ListOfDoubles now
    16878 
    16879 commit 8c574b448e9fad0becd230ba3f007eeeac383aed
    16880 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16881 Date:   Sun May 30 22:55:12 2010 +0200
    16882 
    16883     Split up testsuite into several at-scripts.
    16884    
    16885     - the testsuite has grown quite large due to the numerous new tests and is more readible now.
    16886 
    16887 commit afd01c58a1876a8f3b51eadda0ef2372a5eb92c6
    16888 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16889 Date:   Sun May 30 21:40:32 2010 +0200
    16890 
    16891     Added case '-d' (duplicate box) to testsuite.
    16892 
    16893 commit 746c57f266b68036ce9d31c51dc74a5d2fab1db8
    16894 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16895 Date:   Sun May 30 21:05:43 2010 +0200
    16896 
    16897     Added case '-u' (suspend in water) to testsuite.
    16898    
    16899     - this is broken still and quite so.
    16900 
    16901 commit d6d6c1f0c133722c713970e693c90b090ce669c2
    16902 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16903 Date:   Sun May 30 20:24:05 2010 +0200
    16904 
    16905     Added case '-m' (principal axis system) to testsuite.
    16906 
    16907 commit 8048a4d343c98d242baafca3011e38863181ead3
    16908 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16909 Date:   Sun May 30 19:31:15 2010 +0200
    16910 
    16911     Added case '-s' (scaling box) to testsuite.
    16912 
    16913 commit eddea2f743da55581bef38f6a884adf1edc42937
    16914 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16915 Date:   Sun May 30 19:03:25 2010 +0200
    16916 
    16917     Added case '-T' (periodic translation) to testsuite.
    16918    
    16919     - BUGFIX: Vector::WrapPeriodically() added half of the box on top which is not as intended.
    16920       - this broke testcase '-b', which relied on the half of the box adding.
    16921       - new function molecule::DetermineCenterOfBox()
    16922       - is used instead to additionally add this center in molecule::CenterInBox()
    16923     - BUGFIX: molecule::TranslatePeriodically() subtracted vector instead of adding.
    16924 
    16925 commit 5d12d2d5999e6272d2e2354b6cde0d11cccf0c04
    16926 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16927 Date:   Sun May 30 18:55:04 2010 +0200
    16928 
    16929     Added case '-t' (translation) to testsuite.
    16930 
    16931 commit 9b7db1407040d125d217e62995a5301e5038bfd3
    16932 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16933 Date:   Sun May 30 18:51:45 2010 +0200
    16934 
    16935     Added case '-R' (removing atoms outside of sphere) to testsuite.
    16936    
    16937     - basically works, but molecuilder crashes with SIGABT when destroying world.
    16938 
    16939 commit c7a473c7b271cbf7b6e3555547735d4fb61d8f77
    16940 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16941 Date:   Sun May 30 18:09:06 2010 +0200
    16942 
    16943     Added cased '-P' (force integration) to testsuite.
    16944    
    16945     - this is currently not working at all with los of memory corruption, hence testsuite checks for this failure only.
    16946 
    16947 commit f8f14dff3949f34b6f8ef531f3cb3a99aa629c12
    16948 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16949 Date:   Sun May 30 17:37:53 2010 +0200
    16950 
    16951     Added case '-L' (linear interpolation) to testsuite.
    16952    
    16953     - this just calls the function and does not check anyhting, as this is currently not at all working properly.
    16954 
    16955 commit 13bfeb275d19d51dbc53ba9b18ec9c8ceae993df
    16956 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16957 Date:   Sun May 30 17:30:32 2010 +0200
    16958 
    16959     Added case '-S' (storing temperature) to testsuite.
    16960    
    16961     - made three trajectory steps by shifting atoms per step by (0.1,0,0) and giving speed (0.1,0,0)
    16962 
    16963 commit 72e36f72d796c7991497b7d6eb601e376977b8dc
    16964 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16965 Date:   Sun May 30 17:24:29 2010 +0200
    16966 
    16967     Added cases '-j' (storing bonds) and '-J' (storing adjacency) to testsuite.
    16968 
    16969 commit c68c90483054a6450b0cf9cfb7d30fc4333e125b
    16970 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16971 Date:   Sun May 30 17:18:50 2010 +0200
    16972 
    16973     Added case '-A' (parsing bonds) to testsuite.
    16974    
    16975     - ParseCommandLineOptions() - input was not delete'd, is now instantiated directly.
    16976     - molecule::CreateAdjacencyListFromDbondFile() was buggy, needed line-by-line parsing via stringstream ro fix.
    16977     - bond file has been created by storing bond information.
    16978 
    16979 commit 1325ba2a70cd4c53a15d898817be78a5d79deb8a
    16980 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16981 Date:   Sun May 30 16:46:39 2010 +0200
    16982 
    16983     Added case '-F' (filling with molecule) to testsuite.
    16984 
    16985 commit 5e11e475d9ec76d0b6a2f8a1f765cdafef0a17fe
    16986 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16987 Date:   Sun May 30 16:45:50 2010 +0200
    16988 
    16989     In-code created water molecule has been removed in ParseCommandLineOptions() - case 'F'.
    16990    
    16991     Water can really be obtained anywhere (at least its coordinates).
    16992 
    16993 commit ef2b39795daace9d596f4ac75173cba4e7a59e07
    16994 Author: Frederik Heber <heber@ins.uni-bonn.de>
    16995 Date:   Sun May 30 15:58:31 2010 +0200
    16996 
    16997     Added case '-C S' (correlation to surface) to testsuite.
    16998    
    16999     - created test.conf with a butane surrounded by 205 water molecules.
    17000 
    17001 commit 08f6ff74de126d266b8c8b83e1a528520ef6447c
    17002 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17003 Date:   Sun May 30 15:42:26 2010 +0200
    17004 
    17005     Added case '-C P' (correlation to point) to testsuite.
    17006    
    17007     - DOCUFIX: Same as above also for this part.
    17008 
    17009 commit 06f8ee2cd45a117a11b0b58435dfe842c76dbcc7
    17010 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17011 Date:   Sun May 30 14:27:08 2010 +0200
    17012 
    17013     Added case '-C E' (pair correlation analysis) to testsuite.
    17014    
    17015     - DOCUFIX: ParseCommandLineOptions() - lacked parameters binstart and binend on error description
    17016     - FIX: test.conf for regression test was not centered to (20, 0, 20, 0, 0, 20)-box
    17017 
    17018 commit 046a1e94c023e06f7a7ca03a07a7ad4ccb14fa10
    17019 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17020 Date:   Sun May 30 13:51:28 2010 +0200
    17021 
    17022     Added case '-I' (subgraph dissection) to testsuite.
    17023    
    17024     - constructed example with 31 water molecules which are to be dissected.
    17025 
    17026 commit 5188f5195ea3fe98810ef55e431af37da97c2a31
    17027 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17028 Date:   Sun May 30 13:31:10 2010 +0200
    17029 
    17030     Added case '-M' (MPQC basis) to testsuite.
    17031    
    17032     - ParseCommandLineOptions() - moved case 'M' to area, where no present config is needed (just sets a string after all)
    17033     - DOCUFIX: Error message for case 'M' would say -B instead of -M
    17034 
    17035 commit 93d732be93a6b37406163b3a4e71ccf9f75741ba
    17036 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17037 Date:   Sun May 30 13:05:54 2010 +0200
    17038 
    17039     Added case '-X' (default mol name) to testsuite and bugfix.
    17040    
    17041     - rewrote World::SetDefaultName() a bit to make memory allocation more fail-proof
    17042     - BUGFIX: ParseCommandLineOptions() used getDefaultName() with a *, hence only the first character was printed.
    17043 
    17044 commit e8e48ab6455f4577a906de8472a0a43c10e27f4c
    17045 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17046 Date:   Sun May 30 12:57:14 2010 +0200
    17047 
    17048     Added case '-n' (fast parsing) to testsuite.
    17049 
    17050 commit 403637277d7c37d5622eb4c88b966a4c0f40108a
    17051 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17052 Date:   Sun May 30 12:56:08 2010 +0200
    17053 
    17054     Added case '-g' (load bond table) to testsuite.
    17055 
    17056 commit ff73a278ed6aab371dc050b0b8eece6637145589
    17057 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17058 Date:   Sun May 30 12:53:16 2010 +0200
    17059 
    17060     Refined check for case '-e' of testsuite and some found bugfixes of periodentafel loading.
    17061    
    17062     - LoadPeriodentafel() gives always a properly allocated istream, hence checking for NULL in all Load..Database() is nonsense, checking for fail() is needed.
    17063     - LoadElementsDatabase()
    17064       - counts the number of parsed elements (returns false when zero)
    17065       - discards empty lines (elements that dont' make sense)
    17066 
    17067 commit 2f0c427f05cd991c397883e37e6c66062634ba5f
    17068 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17069 Date:   Sun May 30 12:00:41 2010 +0200
    17070 
    17071     Added test for parsing specified element database to testsuite.
    17072 
    17073 commit a97f55878bc66c3c8475e3c3d6feefcbe3478eff
    17074 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17075 Date:   Sun May 30 11:54:26 2010 +0200
    17076 
    17077     Extended standard options part of testsuite to include further tests.
    17078 
    17079 commit 745874088f9b5e6fda5ef4e8ae0793f1c9c6a9de
    17080 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17081 Date:   Sun May 30 11:49:37 2010 +0200
    17082 
    17083     Added case '-O' to testsuite.
    17084 
    17085 commit 8df4e3beb4f36ea13856fd0578c1d6a96aa0156c
    17086 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17087 Date:   Sun May 30 11:46:13 2010 +0200
    17088 
    17089     Removed src/Actions from subdirs as this is handled in src/Makefile.am already.
    17090    
    17091     - this broke 'make distclean' as distclean was executed twice in src/Actions and Makefile was thus missing on second run.
    17092 
    17093 commit 0335a28413a0412462fc56a5d6b6fd870f0c6146
    17094 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17095 Date:   Sun May 30 11:45:41 2010 +0200
    17096 
    17097     Added case '-c' to testsuite.
    17098 
    17099 commit 318cea7c681aa1b7cad2c3f8eb67b410c41fe1ea
    17100 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17101 Date:   Sun May 30 11:21:01 2010 +0200
    17102 
    17103     FIX: Tesselations test failed on first.
    17104    
    17105     - defs.in would go into first testdir and perform all tests therein instead of own testdir per molecule to tesselate, fixed.
    17106 
    17107 commit b2b47f735d9af7a5b6d1967e4cb3c041f3959512
    17108 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17109 Date:   Sun May 30 11:18:14 2010 +0200
    17110 
    17111     Shifted regression testsuite into folder regression.
    17112    
    17113     This is to allow for calling make check only on the regression testsuite without Tesselations test, too.
    17114     - atlocal.in, molecuilder.in, Makefile.am were moved
    17115     - molecuilder.in had ../../atconfig now sourced and call of molecuilder is different
    17116     - configure.src has TEST_DIR tests/regression (to create atconfig at the right place)
    17117     - Makefile.am in tests folder just SUBDIRs to regression and Tesselations
    17118 
    17119 commit e3989ae15496fb502928eef192b39ea83fe71dbc
    17120 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17121 Date:   Sat May 29 20:57:36 2010 +0200
    17122 
    17123     Added case '-b' to testsuite.
    17124 
    17125 commit c827202aa2e314c8cd2fb20e7cb636483025addc
    17126 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17127 Date:   Sat May 29 20:29:33 2010 +0200
    17128 
    17129     Added case '-B' to testsuite.
    17130    
    17131     - added new set of tests 'Domain'
    17132 
    17133 commit d8c0edb40a1eb91db8b50b37f1515e671fca963f
    17134 Merge: 62680ec f37746b
    17135 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17136 Date:   Sat May 29 17:13:36 2010 +0200
    17137 
    17138     Merge branch 'FixTestsuiteDetermineCenterOfAllBug' into CommandLineActionMapping
    17139 
    17140 commit f37746b3594740cf70d4b40cfba179f483b06139
    17141 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17142 Date:   Sat May 29 17:11:06 2010 +0200
    17143 
    17144     FIX: As molecule::DetermineCenterOfAll() was broken, centers used in .r3d files were wrong.
    17145    
    17146     - All .r3d files in the regression tests have been replaced with those with correct center calculation.
    17147    
    17148     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17149 
    17150 commit 62680ec4fe7be04b13dec92780c0774fe489775b
    17151 Merge: 9757d99 99fcafa
    17152 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17153 Date:   Sat May 29 16:18:41 2010 +0200
    17154 
    17155     Merge branch 'FixReintroduceExitFlagtoParseCommandLineCall' into CommandLineActionMapping
    17156    
    17157     Conflicts:
    17158    
    17159         molecuilder/src/builder.cpp
    17160    
    17161     Due to this old merge, at the end of main() there were still old memory cleanup routines which got mixed in again.
    17162    
    17163     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17164 
    17165 commit 99fcafa9e68ebff1a10d32cc5cb21cccebb6350f
    17166 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17167 Date:   Sat May 29 16:10:24 2010 +0200
    17168 
    17169     FIX: Flag returned by ParseCommandLineOptions() needs to be heeded, e.g. for FragmentMolecule().
    17170    
    17171     - now, there is again an ExitFlag and if {0,1} we return 0 and else the ExitFlag on exit.
    17172    
    17173     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17174 
    17175 commit 9757d99965979a40ce365519c2cb709297772849
    17176 Merge: b13ea48 60f50af
    17177 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17178 Date:   Sat May 29 16:00:12 2010 +0200
    17179 
    17180     Merge branch 'FixTestsuiteCode134onElementsDB' into CommandLineActionMapping
    17181 
    17182 commit b13ea48e067db1fc970a347074f5df706a4ec190
    17183 Merge: 0fb9f62 6670a97
    17184 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17185 Date:   Sat May 29 16:00:08 2010 +0200
    17186 
    17187     Merge branch 'FixtestsuiteforVerboseChanges' into CommandLineActionMapping
    17188 
    17189 commit 6670a97b53114ec805580d45caaa85f9b2b8731e
    17190 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17191 Date:   Sat May 29 15:16:55 2010 +0200
    17192 
    17193     Change to testsuite as verbosity is now defined as (-v 3) not as (-vvv) anymore.
    17194    
    17195     - MapofActions.cpp: verbose and version shortforms were mixed (-v,-V), corrected.
    17196    
    17197     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17198 
    17199 commit 60f50af51620d85b7bb4c37d9d46626c8d561e24
    17200 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17201 Date:   Sat May 29 15:24:29 2010 +0200
    17202 
    17203     TESTFIX: Testuite expected return code 134 instead of 255 for wrong element's db.
    17204    
    17205     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17206 
    17207 commit 0fb9f623c5aff409731c2b2cb3a7b97ccb5a6812
    17208 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17209 Date:   Sat May 29 15:11:22 2010 +0200
    17210 
    17211     Fixes to prevent seg'faults.
    17212    
    17213     - CommandLineWindow::~CommandLineWindow() - does not unregister and delete all actions as this is done by the ActionRegistry anyway
    17214     - main() - use atexit(cleanUp) (by Till) to ensure correct order of the cleanup
    17215     - performCriticalExit() - don't free still allocated memory as this is handled by any good operation system nowadays
    17216 
    17217 commit b32dbbf2ada08a37282007f3e8fe996602fb6e14
    17218 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17219 Date:   Thu May 27 13:04:42 2010 +0200
    17220 
    17221     Fixes and changes to tesselation and concavity measurements.
    17222    
    17223     Here, we implement two attempts for a concavity measure:
    17224     1. Measure concavity per point by looking at neighbouring triangles
    17225      - BoundaryLineSet::CheckConvexityCriterion() split up (calculation of angle outsourced to CalculateConvexity())
    17226      - CHANGE: CalculateConcavityPerBoundaryPoint() uses new concavity measure per BoundaryPointSet containing:
    17227       - concavity per line uses angle instead of +/-1 for line, averaged by number of lines
    17228       - also concavity over all attached triangles uses area of triangle and only in case of concavity, averaged by total area
    17229      - new functions
    17230       - BoundaryLineSet::CalculateConvexity() - calculates the angle between two triangles.
    17231       - BoundaryLineSet::GetOtherTriangle() - for a closed line returns the other triangle for a given one
    17232       - BoundaryTriangleSet::GetThirdLine() - for a given boundary point returns the line of the three which does not contain it (opposite line to a point)
    17233       - CalculateAreaofGeneralTriangle() - calculates area of arbitrary triangle
    17234    
    17235     2. Measure concavity by the distance to a more convex envelope (i.e. created with bigger sphere radius)
    17236      - ParseCommandLineOptions(): case 'N' - two envelopes are created and the distance used as concavity measure via CalculateConstrictionPerBoundaryPoint()
    17237      - FIX: CandidateForTesselation::CheckValidity() - checked against OptCenter instead of (*VRunner), animate_sphere line is printed as error, hence always visible
    17238      - FIX: Tesselation::FindThirdPointForTesselation() - error if circumcenter is not the equidistant from each triangle node is now an error mesage
    17239      - BUGFIX: Tesselation::RemoveDegeneratedTriangles() - would fail for more than two degenerate triangles to remove due to faulty loop construction and break instead of continue
    17240      - BUGFIX: GetCenterofCircumcircle() - is numerically unstable (>1e-10) for big sphere radii, there are two other variants, not using angles.
    17241      - FindNonConvexBorder() - RemoveDegeneratedTriangles() commented-out as runs into infinite loop for small radii (<5) for L-shaped cluster
    17242    
    17243     Other unrelated stuff:
    17244      - DOCUFIX: CalculateVolumeofGeneralTetraeder() - four times "first vector"
    17245      - FIX: Tesselation::FindAllDegeneratedTriangles() - iterator integrated into for-loop statement
    17246    
    17247     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17248 
    17249 commit 55898585945a37bf6084730eeeafcd2047d6a8f8
    17250 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17251 Date:   Fri May 28 13:50:14 2010 +0200
    17252 
    17253     Added methods to construct orthogonal planes from lines and vice versa
    17254 
    17255 commit ccf826e812f27853833b1b3f0938dcdcf4675568
    17256 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17257 Date:   Fri May 28 13:41:08 2010 +0200
    17258 
    17259     Removed Vector::mirror() in favour of Plane::mirror()
    17260 
    17261 commit 42a101a868efe57386bf87ed2524b862729e936a
    17262 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17263 Date:   Fri May 28 10:25:27 2010 +0200
    17264 
    17265     Removed RotateVector() function in favor of Line::rotateVector() method.
    17266    
    17267     Line::rotateVector() is able to rotate any vector around any line in space.
    17268 
    17269 commit 643e7632e285a017dfb1b785b9f930ba145de897
    17270 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17271 Date:   Thu May 27 16:24:34 2010 +0200
    17272 
    17273     Removed getIntersectionOfTwoLinesOnPlane() in favor of the Line::getIntersection() method.
    17274 
    17275 commit 45ef76d8bee7dfcd142bef7a7cea8b1bc62fbafd
    17276 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17277 Date:   Thu May 27 16:15:57 2010 +0200
    17278 
    17279     Added several methods to the line class.
    17280 
    17281 commit 47191b1ae27caa0201c747b3e4ef4f867251bd9d
    17282 Merge: 215df0b 1ac51b4
    17283 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17284 Date:   Thu May 27 13:28:58 2010 +0200
    17285 
    17286     Merge branch 'PeriodenRefactoring' into StructureRefactoring
    17287 
    17288 commit 215df0bc95301e8d9ef7ed1a4816b6367f8dc1b4
    17289 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17290 Date:   Thu May 27 13:28:37 2010 +0200
    17291 
    17292     Simplified some methods.
    17293 
    17294 commit a7b761bc6e1b696b9f7a380da8984083300d3d7b
    17295 Merge: 8f215dc 05a97c1
    17296 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17297 Date:   Thu May 27 12:46:54 2010 +0200
    17298 
    17299     Merge branch 'MoleculeStartEndSwitch' into StructureRefactoring
    17300    
    17301     Conflicts:
    17302    
    17303         molecuilder/src/Helpers/Assert.cpp
    17304         molecuilder/src/Helpers/Assert.hpp
    17305         molecuilder/src/Legacy/oldmenu.cpp
    17306         molecuilder/src/Makefile.am
    17307         molecuilder/src/Patterns/Cacheable.hpp
    17308         molecuilder/src/Patterns/Observer.cpp
    17309         molecuilder/src/Patterns/Observer.hpp
    17310         molecuilder/src/analysis_correlation.cpp
    17311         molecuilder/src/boundary.cpp
    17312         molecuilder/src/builder.cpp
    17313         molecuilder/src/config.cpp
    17314         molecuilder/src/helpers.hpp
    17315         molecuilder/src/molecule.cpp
    17316         molecuilder/src/molecule.hpp
    17317         molecuilder/src/molecule_dynamics.cpp
    17318         molecuilder/src/molecule_fragmentation.cpp
    17319         molecuilder/src/molecule_geometry.cpp
    17320         molecuilder/src/molecule_graph.cpp
    17321         molecuilder/src/moleculelist.cpp
    17322         molecuilder/src/tesselation.cpp
    17323         molecuilder/src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp
    17324         molecuilder/src/unittests/ObserverTest.cpp
    17325         molecuilder/src/unittests/ObserverTest.hpp
    17326 
    17327 commit bfd839afaa19cf687475c7163024108135b3d1ce
    17328 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17329 Date:   Thu May 27 11:17:11 2010 +0200
    17330 
    17331     Changed and added counting of hydrogen bonds to menu.
    17332    
    17333     - CountHydrogenBonds() now receives two interface elements. This was needed to overcome double-couting in CSH-experiments.
    17334     - Unit test CountHBonds has been changed accordingly, but not test for the new feature has been added.
    17335     - case 'H' in builder.cpp is now used for counting hydrogen bonds not for giving help screen
    17336     - option has been added to MeasureAtoms() menu
    17337    
    17338     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17339 
    17340 commit 1ac51b41d9e008b83bb1c5e147817fbfb179f6d1
    17341 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17342 Date:   Fri May 21 12:23:40 2010 +0200
    17343 
    17344     Made the construction of the names of database files simpler
    17345 
    17346 commit 8f215dce65749c25388ebef18067edea4650186a
    17347 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17348 Date:   Fri May 21 12:08:40 2010 +0200
    17349 
    17350     Simplified tesselation.cpp by allowing direct access to derived triangle internals
    17351 
    17352 commit f2f4ae653593ee7da86b543fbbb0de89955e6797
    17353 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17354 Date:   Thu May 20 18:12:03 2010 +0200
    17355 
    17356     Made the memory debugger thread safe
    17357 
    17358 commit 93dfc7b133daaec4158cbde03034fcda54d7f1b6
    17359 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17360 Date:   Thu May 20 17:57:02 2010 +0200
    17361 
    17362     Made the delete handle deletion of NULL pointers more gracefully
    17363 
    17364 commit d4c9ae30e4ca0690c71556dd2dc87a2d3a54a18b
    17365 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17366 Date:   Thu May 20 17:51:14 2010 +0200
    17367 
    17368     Removed the DistanceToPlane method in the Vector class in favor of a method that computes the distance to arbitrary spaces
    17369 
    17370 commit 570228002c9c11af2f39436798c605553bace8bb
    17371 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17372 Date:   Thu May 20 15:42:43 2010 +0200
    17373 
    17374     Made it possible to disable the MemoryTracker using Compileflags
    17375 
    17376 commit 8de375a10c8076bafe565e2807dd494420ff8f2f
    17377 Merge: eff648e bab12a0
    17378 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17379 Date:   Wed May 19 20:45:23 2010 +0200
    17380 
    17381     Merge branch 'StructureRefactoring' into CommandLineActionMapping
    17382    
    17383     Conflicts:
    17384         molecuilder/src/atom_particleinfo.cpp
    17385         molecuilder/src/builder.cpp
    17386    
    17387     The following conflicts were solved:
    17388     - in atom_particleinfo constructor the bugfix could not be merged automatically
    17389     - in builder.cpp at the end of main() cleanup and memory:getstate() were still present.
    17390 
    17391 commit eff648ea6c40f6b6387a20155b52c998f6b8b8a3
    17392 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17393 Date:   Wed May 19 20:41:05 2010 +0200
    17394 
    17395     BUGFIX: In ParseCommandLineOptions() -v and -V were mixed.
    17396    
    17397     - execution was interrupted for -v (verbose) instead of -V (version)
    17398 
    17399 commit bab12a0d45377cc2d9b3ced24da38260bf5153bd
    17400 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17401 Date:   Wed May 19 16:03:42 2010 +0200
    17402 
    17403     FIX: Fix of bug introduced during Vector Refactoring
    17404    
    17405     Testsuite now working again
    17406 
    17407 commit 673c7f581ef700fbed50d573fc0eb6126c06cb19
    17408 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17409 Date:   Tue May 18 17:58:58 2010 +0200
    17410 
    17411     BUGFIX: molecule::DetermineCenterOfAll() was broken for single atom.
    17412    
    17413     - in case of single atom center would be (nan, nan, nan) due to wrong list treatment.
    17414 
    17415 commit 4eb4fe704b5f87bedd7f4eec06861f2f98bff9df
    17416 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17417 Date:   Tue May 18 17:20:52 2010 +0200
    17418 
    17419     "-e <db path>" not necessary anymore.
    17420    
    17421     Removed necessity of specifying path to databases (this was one check of molecuilder/test/testsuite.at which cannot be fulfilled anymore with boost::program_options)
    17422     For this to work a great number of small changes have been necessary:
    17423    
    17424     class periodentafel:
    17425      - all .db files merged into const char * arrays in elements_db.cpp
    17426      - periodentafel rewritten:
    17427       - each database has its own function and uses a istream: LoadElementsDatabase(), LoadValenceDatabase(), LoadOrbitalsDatabase(), LoadHBondAngleDatabase(), LoadHBondLengthsDatabase()
    17428       - constructor periodentafel::LoadPeriodentafel() calls each function on the above const char * arrays
    17429       - it is still possible to call LoadPeriodentafel with an external path.
    17430      - FindElement(), AskElement() and EnterElement return element * const instead of const element * (i.e. the contents of the pointer is const (the element) not the pointer itself which is very vexatious (i.e. FindElement() yields const element * which can subsequently not be used for RemoveElement(), ...)
    17431      - parsedElems is not needed anymore. Instead we operate on map elements directly
    17432      - new unittest periodentafelTest which is made friend of periodentafel to be able to access private loading functions directly
    17433    
    17434     A number of unit tests had to be changed (all that create elements during setUp() which is now unnecessary)
    17435      - element creation removed: AnalysisCorrelationToPointUnitTest, AnalysisCorrelationToSurfaceUnitTest, AnalysisPairCorrelationUnitTest, CountBondsTest, LinkedCellTest, ParserUnitTest, AnalysisBondsTest, BondGraphTest, ListOfBondsTest
    17436      - adapted parsed bond table (carbon is no Z=6 not 2): AnalysisBondsTest, BondGraphTest
    17437    
    17438     Some of the analysis_bonds function's signatures were changed in the process:
    17439      - have const element * instead of element *: MinMeanMaxBondDistanceBetweenElements(), CountHydrogenBridgeBonds()
    17440    
    17441     Finally, the respective tests are removed from molecuilder/tests/testsuite.at.
    17442 
    17443 commit 5079a05ba5b3e06c57bfc08de15dc8d8b7709ce8
    17444 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17445 Date:   Tue May 18 17:18:24 2010 +0200
    17446 
    17447     Actions put into libMolecuilderActions, UIElements into libMolecuilderUI
    17448    
    17449     - due to great number of Actions it is sensible to put them into their own library
    17450     - this is advantageous overall, but right now especially as all the unit tests do not depend on this lib.
    17451     - it was also needed as Actions depend on UIElements and to resolve to correct ordering, UIElements have to be available before the libMolecuilderActions is aded (if compiled into libmolecuilder it is appended after!)
    17452 
    17453 commit 2a5eb766139b7fca18d10b77fc10658f94bc8b6b
    17454 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17455 Date:   Mon May 17 19:32:33 2010 +0200
    17456 
    17457     TESTFIX: Changed return code on wrong arguments from 255 to 134.
    17458    
    17459     - boost::program_options returns 134, not 255 in case of invalid arguments.
    17460 
    17461 commit f65e1fecf1431cd336fb21966248bbb25b4aa5fc
    17462 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17463 Date:   Mon May 17 19:31:35 2010 +0200
    17464 
    17465     FIX: list of arguments passed to ParseCommandLineOptions() should be unique.
    17466    
    17467     - converted list<> to set<> such that argument counters are unique.
    17468 
    17469 commit a779764488e271567f195eef285c14446c560663
    17470 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17471 Date:   Mon May 17 19:31:00 2010 +0200
    17472 
    17473     TESTFIX: testsuite looks for a very specific help message.
    17474    
    17475     - changed message in MapOfActions for Action help to this message.
    17476 
    17477 commit daa714c145cf3d58c83832bb88aec6d5e7fe68a9
    17478 Merge: f941b14 4917cc4
    17479 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17480 Date:   Sun May 16 14:06:42 2010 +0200
    17481 
    17482     Merge remote branch 'bespin/CommandLineActionMapping' into CommandLineActionMapping
    17483 
    17484 commit f941b14c7a92d23575eccdfcd7bbb7ef127d1bad
    17485 Merge: 97ebf8b 12872df
    17486 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17487 Date:   Sun May 16 00:14:44 2010 +0200
    17488 
    17489     Merge branch 'FixTesselationTestDiff' into CommandLineActionMapping
    17490 
    17491 commit 12872df33639e521d4b0225d6064ea91bd4f18e8
    17492 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17493 Date:   Sun May 16 00:11:50 2010 +0200
    17494 
    17495     FIX: Don't compare tesselation files directly but rather sorted list of triangle nodes.
    17496    
    17497     - As the order of the triangle's creation is not fixed (unknown why), the order of the triangle nodes in the tesselation files is not fixed.
    17498     - Hence, checking by diff'ing whether it's the same as the reference is not sensible.
    17499     - Now, we pick out the triangle nodes, sort them and compare against reference.
    17500 
    17501 commit 97ebf8b2670d891c06f34ede7594c6708e07d886
    17502 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17503 Date:   Fri May 14 22:14:27 2010 +0200
    17504 
    17505     Added all commands defined in ParseCommandLineOptions() as Actions.
    17506    
    17507     - Actions are not yet used, except verbose, version and help.
    17508     - Files are present and included in Makefile.am
    17509     - not unit tests written so far
    17510     - no action has been tested so far (except for MapOfActions)
    17511     - structure introduced to to transition from ParseCommandLineOptions to actions.
    17512     - program name and config file are fixed arguments.
    17513    
    17514     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17515 
    17516 commit 498c519f5f85d12aba5dc98b7adde3d2c7f45c5b
    17517 Merge: 50dfdae cee0a17
    17518 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17519 Date:   Fri May 14 21:57:06 2010 +0200
    17520 
    17521     Merge remote branch 'bespin/FixTestRunnerClient' into CommandLineActionMapping
    17522 
    17523 commit 4917cc47b998f048c7f61a1a4ba94748ca92aad2
    17524 Merge: 50dfdae cee0a17
    17525 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17526 Date:   Fri May 14 21:55:36 2010 +0200
    17527 
    17528     Merge branch 'FixTestRunnerClient' into CommandLineActionMapping
    17529 
    17530 commit cee0a17a1e62832f65ac6bb6775b3263ef3122d0
    17531 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17532 Date:   Fri May 14 21:53:36 2010 +0200
    17533 
    17534     FIX: TestRunner is broken when TestRunnerClient.[h|cpp] can not be found.
    17535    
    17536     - config.h is included (has define HAVE_ECUT)
    17537     - UnitTestMain.cpp is included if HAVE_ECUT is not set
    17538    
    17539     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17540 
    17541 commit de8e451f9ad5eaab2568025e291c290ca4ec1ddd
    17542 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17543 Date:   Wed May 12 11:47:20 2010 +0200
    17544 
    17545     Added explanation to various UIElements.
    17546    
    17547     - documentation in CommandLineParser.hpp on how to create new actions to appear by doxygen documentation.
    17548     - explaination of UIFactory, Dialog and Query.
    17549    
    17550     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17551 
    17552 commit 50dfdae6d8f0ccc9165dcc2f73a1adcd35dd66e1
    17553 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17554 Date:   Sun May 9 14:00:08 2010 +0200
    17555 
    17556     Added VersionAction.
    17557    
    17558     - new CmdAction/VersionAction that prints the ESPACKVERSION using EmptyQuery.
    17559     - in CommandLineWindow populater functions for all Action types have been added.
    17560    
    17561     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17562 
    17563 commit 86466e070d1b66f70981d199068ca4eb345320b0
    17564 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17565 Date:   Sun May 9 13:15:17 2010 +0200
    17566 
    17567     new query class EmptyQuery for showing text messages.
    17568    
    17569     - new class in Dialog EmptyQuery and function queryEmpty to install and register
    17570     - specializations added to Text and CommandLine UI
    17571      - new class EmptyTextQuery that prints "title:description" to console
    17572      - new class EmptyCommandLineQuery that prints "title:description" to console
    17573     - FIX: CommandLineDialog was so far lacking the added _description parameter
    17574     - FIX: CommandLineUIFactory::makeDialog() was returning NULL instead of available new CommandLineDialog
    17575     - HelpAction now uses EmptyQuery to show the help message
    17576    
    17577     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17578 
    17579 commit 148d8f042c90bf58b016bf5fd1feec9a2b925406
    17580 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17581 Date:   Sun May 9 00:59:14 2010 +0200
    17582 
    17583     FIX: cleanup() still deleted configuration although is part of the World now.
    17584    
    17585     - note: HelpAction is working! (i.e. molecuilder -h, or molecuilder --help prints help and exits)
    17586 
    17587 commit bcd0729d739a3d164c82e6ae9c756aeca8ec236a
    17588 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17589 Date:   Sun May 9 00:57:18 2010 +0200
    17590 
    17591     FIX: wrong use of Singleton pattern for CommandLineParser.
    17592    
    17593     - we set _may_create to false, which is only needed for Factories.
    17594     - if we set to true, then we have to make constructor and destructor private and introduce the Singleton<> as friend.
    17595     - BUGFIX: setOptions() was called with internal argc,argv instead of given parameters in CommandLineParser::Run().
    17596 
    17597 commit d90762f553a3a92fdd57a313cd732767d945cc01
    17598 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17599 Date:   Sun May 9 00:52:19 2010 +0200
    17600 
    17601     Rewrote all CommandLineDialog's Query... to use the prorgam_options::vm.
    17602    
    17603     - we scan for the given title of the Query in program_options::vm and return the value.
    17604     - in case of molecule we use MoleculeIdDescriptor.
    17605     - in case of vector, new vector is created and components initialized from vector<double>
    17606     - in case of element we use Periodetafel::FindElement()
    17607    
    17608     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17609 
    17610 commit 4380afb3a800522b34cadb57cb8428e36bee274f
    17611 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17612 Date:   Sun May 9 00:51:22 2010 +0200
    17613 
    17614     CommandLineWindow::display() goes through all Actions in ActionRegistry.
    17615    
    17616     - we check whether title of Action can be found in program_options::vm and if so, execute Action.
    17617    
    17618     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17619 
    17620 commit e3ecc1abd0ddd62a2dfc2aa75739cd9a03141338
    17621 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17622 Date:   Sun May 9 00:00:57 2010 +0200
    17623 
    17624     New HelpAction that will print the help from boost::program_options.
    17625    
    17626     - new class CommandLineHelpAction that will print the boost::program_options help
    17627     - therefore CommandLineParser::visible had to be made public
    17628     - CommandLineHelpAction is instantiated in CommandLineWindow::populateParserActions()
    17629 
    17630 commit fa56f00d317e981e0d73607b8a0861b1088fd307
    17631 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17632 Date:   Sun May 9 00:00:16 2010 +0200
    17633 
    17634     ActionRegistry now is iterable due to new functons getBeginIter() and getEndIter().
    17635    
    17636     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17637 
    17638 commit 808fd3b9b29a086418d64f85da19ca7f14e55a0f
    17639 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17640 Date:   Sun May 9 00:00:03 2010 +0200
    17641 
    17642     performUndo/Redo were missing for ParserLoadXyzAction and ParserSaveXyzAction, added stubs.
    17643    
    17644     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17645 
    17646 commit d893f79361685f6c7211b58647e4225285583faa
    17647 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17648 Date:   Sat May 8 23:59:27 2010 +0200
    17649 
    17650     removed menuPopulaters from MainWindow.
    17651    
    17652     - menuPopulaters is too specific to TextUIFactory.
    17653     - for CommandLineUIFactory a different structure was needed.
    17654     - the shift of struct menuPopulaters inside of class MainWindow makes it superflous.
    17655    
    17656     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17657 
    17658 commit 8e1f7afc1ebe0013bd96a58b79957fdade051cb8
    17659 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17660 Date:   Sat May 8 22:30:27 2010 +0200
    17661 
    17662     class config added to World.
    17663    
    17664     - World now has the global configuration.
    17665     - new function World::getConfig().
    17666     - TextWindow::TextWindow() uses thr above to obtain the configuration.
    17667    
    17668     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17669 
    17670 commit 4a75d9fe88b150cd8a65bf75e04c21f37e355b28
    17671 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17672 Date:   Sat May 8 22:14:04 2010 +0200
    17673 
    17674     ...UIFactory::makeMainWindow() now has only a single parameter, namely menuPopulaters.
    17675    
    17676     - as molecules and periodentafel can be accessed globally from singleton World, there is no need to pass these around anymore.
    17677     - typedef MenuMaker and populateEditMoleculesMenu() equally stripped.
    17678 
    17679 commit ecb799f93fbb2fa0d7303a32021e627c4640f375
    17680 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17681 Date:   Sat May 8 22:06:45 2010 +0200
    17682 
    17683     shortened NAME of ParserLoadXyz and ParserSaveXyz actions, as it is the key in the ActionRegistry.
    17684    
    17685     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17686 
    17687 commit c6efc1bebb2dfa54bcc55b4be6a63f1b8b1eb9d2
    17688 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17689 Date:   Sat May 8 20:40:49 2010 +0200
    17690 
    17691     Begin of Refactoring of ParseCommandLineOptions().
    17692    
    17693     - new singleton class CommandLineParser which wraps boost's program_options
    17694     - main() uses the new CommandLineParser and calls UIFactory with CommandLine specizliation if commands detected.
    17695     - files added toe Makefile.am
    17696     - BOOST_PROGRAM_OPTIONS added to configure.ac
    17697     - BOOST_PROGRAM_OPTIONS_LIB added to molecuilder/src/Makefile.am
    17698    
    17699     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17700 
    17701 commit 18eecfae17fd836c83b37d4b2f283254e413cadc
    17702 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17703 Date:   Sat May 8 20:39:10 2010 +0200
    17704 
    17705     minor change: put entries in molecuilder/src/unittests/Makefile.am into alphabetical ordering and also single-tab indenting
    17706    
    17707     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17708 
    17709 commit 03bb998b19ff3476cb46cd730ffbbf4258d54389
    17710 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17711 Date:   Sat May 8 20:36:22 2010 +0200
    17712 
    17713     Introducing small actions.
    17714    
    17715     - new directory  MoleculeAction to contain actions manipulating molecules.
    17716     - small_actions.?pp renamed to MoleculeAction/ChangeNameAction.?pp
    17717     - classes ChangeMoleculeName... renamed to MoleculeChangeName...
    17718     - builder.cpp: populateEditMoleculesMenu() adapted accordingly.
    17719     - new parser actions and new directory ParserAction
    17720       - LoadXyzAction
    17721       - SaveXyzAction
    17722     - new variables for all grouped actions in molecuilder/src/Makefile.am
    17723     - all files added to Makefile.am
    17724    
    17725     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17726 
    17727 commit a2ab15ba2cc94cbece043d75b16c7c3e7c81f308
    17728 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17729 Date:   Sat May 8 20:30:53 2010 +0200
    17730 
    17731     Extended UIFactory to a CommandLine derivate.
    17732    
    17733     - Dialog now has besides the title also a description, which however may be left empty.
    17734     - added standard files for CommandLineUIFactory, CommandLineDialog, CommandLineWindow and CommandLineStatusIndicator.
    17735     - also all added to Makefile.am, compiles fine.
    17736    
    17737     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17738 
    17739 commit efc3cb9ffa0e3dc29c97a339e0879a611a41bf3f
    17740 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17741 Date:   Sat May 8 20:27:57 2010 +0200
    17742 
    17743     minor change: put entries in molecuilder/src/Makefile.am into alphabetical ordering and also single-tab indenting
    17744    
    17745     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17746 
    17747 commit 6d789df588a0f8ea0b282dc989b29a5fe69f76eb
    17748 Merge: 68f03de bdedb12
    17749 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17750 Date:   Sat May 8 14:48:58 2010 +0200
    17751 
    17752     Merge commit 'Gitosis/StructureRefactoring' into StructureRefactoring
    17753 
    17754 commit 68f03de65d20f5bc62721f02e90844545a292e53
    17755 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17756 Date:   Sat May 8 14:47:57 2010 +0200
    17757 
    17758     FIX: Memory corruption in particleInfo class
    17759 
    17760 commit b9b604056c3887ec9d83c4814e5d8b0c68daabc1
    17761 Merge: bdedb12 b8d4a36
    17762 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17763 Date:   Sat May 8 14:17:30 2010 +0200
    17764 
    17765     Merge branch 'StateAndFormatParser' into CommandLineActionMapping
    17766    
    17767     Conflicts:
    17768    
    17769         molecuilder/src/Makefile.am
    17770         molecuilder/src/tesselation.cpp
    17771         molecuilder/src/unittests/Makefile.am
    17772    
    17773     The following conflicts had to be resolved:
    17774     - molecuilder/src/Makefile.am had an old version of the HEADER definition which would not be merged automatically. ${PARSERHEADER} was missing.
    17775     - molecuilder/src/unittests/Makefile.am had an blank line too much
    17776     - TesselPoint::TesselPoint() had an older version where TesselPoint::Name was initialized to "-" instead of NULL. The latter should be correct due to missing delete(Name) in destructor.
    17777     - compilation errors arose due to the private nature of Vector::x[] introduced in the branch VectorRefactoring. This has been fixed in XyzParser, TremoloParser and the ParserUnitTest.
    17778     - ParserUnitTest runs fine.
    17779    
    17780     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17781 
    17782 commit bdedb126fe1a1073239174c61698ac3e49dc53b1
    17783 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17784 Date:   Sat May 8 13:33:50 2010 +0200
    17785 
    17786     Change of the Tesselation testsuite.
    17787    
    17788     - tests C16_0Torus, cluster, round_cluster removed (they need too long and don't add much safety).
    17789     - all tests have been extended by the following radii: 1.5, 2, 2.5, 3, 3.5 and 25.
    17790     - standard tesselations for all radii added.
    17791     - diff is re-introduced but should be changed by a more sensible check (i.e. checking the tesselations not the file structure).
    17792    
    17793     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17794 
    17795 commit b8d4a36310666e7e35fa9d7064e994e48d9b0e54
    17796 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    17797 Date:   Sun May 2 18:47:18 2010 +0200
    17798 
    17799     Tremolo format parser
    17800 
    17801 commit 6f646daac2a79d773e6c693f4b1be99293a5b3a1
    17802 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17803 Date:   Fri Apr 30 16:01:28 2010 +0200
    17804 
    17805     Added a line class that represents one dimensional subspaces
    17806 
    17807 commit fa5a6afe5abec6b36502dfd0ee72e520831287b7
    17808 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17809 Date:   Fri Apr 30 15:33:12 2010 +0200
    17810 
    17811     Added unittests for planes
    17812 
    17813 commit 1513a7402fe19aa16ecbdf33eddd7a4e2e403ff8
    17814 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17815 Date:   Fri Apr 30 12:07:23 2010 +0200
    17816 
    17817     Declared the Vector class as single point spaces
    17818 
    17819 commit 005e18586d73b26dba1b60be3f7e42777f664c67
    17820 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17821 Date:   Fri Apr 30 11:53:16 2010 +0200
    17822 
    17823     Added const correctness to plane class and simplified interface
    17824 
    17825 commit 0e01b4d1d3f78f1c315ae92840cd9657481799c3
    17826 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17827 Date:   Fri Apr 30 11:35:01 2010 +0200
    17828 
    17829     FIX: small bug in the Plane::isContained() method
    17830 
    17831 commit 2cbe979219340e83dbe8f5f98c73fcef7c337d12
    17832 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17833 Date:   Fri Apr 30 11:32:59 2010 +0200
    17834 
    17835     Added exception specifiers to plane class
    17836 
    17837 commit 3cdd1646dce0ec74ac3a0a447635dc12e8b69841
    17838 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17839 Date:   Fri Apr 30 11:23:37 2010 +0200
    17840 
    17841     Added more Exceptions to the project to signal differen Math erorrs
    17842 
    17843 commit 2247a948dcf209ad31d8e876f040a37ae13d4500
    17844 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17845 Date:   Fri Apr 30 10:26:28 2010 +0200
    17846 
    17847     Added a class Space to represent general subspaces of R^3 (planes and lines)
    17848 
    17849 commit cdf8fbb689ef19e7da3a7b5ba93f051dfa3e50a1
    17850 Merge: c61c872 28c3510
    17851 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17852 Date:   Thu Apr 29 23:25:44 2010 +0200
    17853 
    17854     Merge branch 'FixMemDebug_strncpy' into StructureRefactoring
    17855 
    17856 commit 28c351085177bd0f8014422f461b534e27b03063
    17857 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17858 Date:   Thu Apr 29 23:23:24 2010 +0200
    17859 
    17860     FIX: strncpy was lacking cstring include.
    17861 
    17862 commit c61c8725850c6d02d926e8d32afdd26a187113b8
    17863 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17864 Date:   Thu Apr 29 18:11:43 2010 +0200
    17865 
    17866     Added a method that allows construction of three arbitrary points on a plane.
    17867 
    17868 commit 1829c4c468952cea89d8bceafd5e4fe3acaefe96
    17869 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17870 Date:   Thu Apr 29 18:03:30 2010 +0200
    17871 
    17872     FIX: Bug that caused memory corruption in Vector::GetOneNormalVector() when a two component system was given
    17873 
    17874 commit 1f7864b5174f61bde9636b387233ebf96161518c
    17875 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17876 Date:   Thu Apr 29 17:30:55 2010 +0200
    17877 
    17878     FIX: Stupid bug in the Debug-new that destroyed some memory
    17879 
    17880 commit d7963907ebbad1cc3ce39e6e25909d13d2b83c40
    17881 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17882 Date:   Thu Apr 29 16:38:29 2010 +0200
    17883 
    17884     Improved comments for the memory tracker
    17885 
    17886 commit 8cbb9792c39564b3033f03b7e9dc61143585d5f4
    17887 Merge: 632bc3e 753f026
    17888 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17889 Date:   Thu Apr 29 15:55:21 2010 +0200
    17890 
    17891     Merge branch 'VectorRefactoring' into StructureRefactoring
    17892    
    17893     Conflicts:
    17894    
    17895         molecuilder/src/Legacy/oldmenu.cpp
    17896         molecuilder/src/Makefile.am
    17897         molecuilder/src/analysis_correlation.cpp
    17898         molecuilder/src/boundary.cpp
    17899         molecuilder/src/builder.cpp
    17900         molecuilder/src/config.cpp
    17901         molecuilder/src/ellipsoid.cpp
    17902         molecuilder/src/linkedcell.cpp
    17903         molecuilder/src/molecule.cpp
    17904         molecuilder/src/molecule_fragmentation.cpp
    17905         molecuilder/src/molecule_geometry.cpp
    17906         molecuilder/src/molecule_graph.cpp
    17907         molecuilder/src/moleculelist.cpp
    17908         molecuilder/src/tesselation.cpp
    17909         molecuilder/src/tesselationhelpers.cpp
    17910         molecuilder/src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp
    17911         molecuilder/src/unittests/bondgraphunittest.cpp
    17912         molecuilder/src/vector.cpp
    17913         molecuilder/src/vector.hpp
    17914 
    17915 commit 753f026a17e1d05846e903705efe2ac582c0d091
    17916 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17917 Date:   Wed Apr 28 16:52:56 2010 +0200
    17918 
    17919     Removed Algebraic Hierachy from vector.
    17920 
    17921 commit 632bc3e6a3aa135a6299c878abd3a7b67f1b355c
    17922 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    17923 Date:   Wed Apr 28 15:31:57 2010 +0200
    17924 
    17925     Added a small memory tracker to the programm.
    17926 
    17927 commit 5f612eea044e919bffc18a83cd7ddd35f981c765
    17928 Merge: 13d5a97 c695c94
    17929 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17930 Date:   Tue Apr 27 16:25:42 2010 +0200
    17931 
    17932     Merge branch 'Analysis_PairCorrelation' into StructureRefactoring
    17933    
    17934     Conflicts:
    17935    
    17936         molecuilder/src/Makefile.am
    17937         molecuilder/src/World.cpp
    17938         molecuilder/src/World.hpp
    17939         molecuilder/src/boundary.cpp
    17940         molecuilder/src/builder.cpp
    17941         molecuilder/src/log.cpp
    17942         molecuilder/src/moleculelist.cpp
    17943         molecuilder/src/periodentafel.cpp
    17944         molecuilder/src/tesselation.cpp
    17945         molecuilder/src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp
    17946         molecuilder/src/unittests/Makefile.am
    17947         molecuilder/src/unittests/bondgraphunittest.cpp
    17948         molecuilder/src/unittests/gslvectorunittest.cpp
    17949         molecuilder/src/unittests/logunittest.cpp
    17950         molecuilder/src/unittests/tesselation_boundarytriangleunittest.hpp
    17951         molecuilder/src/vector.cpp
    17952         molecuilder/tests/Tesselations/defs.in
    17953    
    17954     Conflicts have been many and too numerous to listen here, just the few general cases
    17955      - new molecule() replaced by World::getInstance().createMolecule()
    17956      - new atom() replaced by World::getInstance().createAtom() where appropriate.
    17957      - Some DoLog()s added interfered with changes to the message produced by Log() << Verbose(.) << ...
    17958      - DoLog() has been erroneously added to TestRunner.cpp as well, there cout is appropriate
    17959      - ...
    17960    
    17961     Additionally, there was a bug in atom::clone(), sort was set to atom::nr of the atom to clone not of the clone itself. This caused a failure of the fragmentation.
    17962    
    17963     This merge has been fully checked from a clean build directory with subsequent configure,make all install and make check.
    17964     It configures, compiles and runs all test cases and the test suite without errors.
    17965    
    17966     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17967 
    17968 commit c695c94acd7f6fb7cff4a57d3acd27a99260ce7b
    17969 Merge: 260c291 4918764
    17970 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17971 Date:   Mon Apr 26 20:19:38 2010 +0200
    17972 
    17973     Merge branch 'FixMolecuilderTestsTesselations_defs' into Analysis_PairCorrelation
    17974 
    17975 commit 4918764d5f9ad800cf1507450f4ee80856aaeff4
    17976 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17977 Date:   Mon Apr 26 20:13:40 2010 +0200
    17978 
    17979     FIX: Tesselation does not work in first run due to still present directories (defs.in in molecuilder/tests/Tesselations)
    17980    
    17981     - now all NonConvexEnvelope*-files, .xyz- and .dbond--file is removed in CLEANUP of defs.in
    17982     - also there has been an additional erroneous files tecplot.phy in the case 1_2-dimethylbenzene
    17983    
    17984     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17985 
    17986 commit 260c2914633232cd5779aa590938d8580093a085
    17987 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17988 Date:   Mon Apr 26 19:25:44 2010 +0200
    17989 
    17990     Regression test of Tesselation for test case 15 "Big non-convex envelope" changed.
    17991    
    17992     - the sequence of the triangles had changed due to the changes in the algorithm. The surface itself has not changed (checked).
    17993    
    17994     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    17995 
    17996 commit d6c4852478486ca47c1d76135f0f112ac8432077
    17997 Merge: b8c9d83 70378e0
    17998 Author: Frederik Heber <heber@ins.uni-bonn.de>
    17999 Date:   Mon Apr 26 18:38:47 2010 +0200
    18000 
    18001     Merge branch 'FixWorld_wrongauthor' into Analysis_PairCorrelation
    18002 
    18003 commit 70378e0022d1bf398dbed67806604b9cadb6026a
    18004 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18005 Date:   Mon Apr 26 18:38:14 2010 +0200
    18006 
    18007     FIX: Author of World.cpp has been wrongly set (by eclipse) to heber instead of crueger.
    18008    
    18009     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18010 
    18011 commit b8c9d83bb0cc97b1525626cec620fdde02ec69e7
    18012 Merge: 6cd16bc fd179fd
    18013 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18014 Date:   Mon Apr 26 18:35:42 2010 +0200
    18015 
    18016     Merge branch 'FixWorld_differentdefaultcell_size' into Analysis_PairCorrelation
    18017    
    18018     Conflicts:
    18019    
    18020         molecuilder/src/World.cpp
    18021    
    18022     Conflict has been due to added cell_size initialization.
    18023 
    18024 commit fd179fd5d64c806adc39173b9bf6cbb44ffe8065
    18025 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18026 Date:   Mon Apr 26 18:34:22 2010 +0200
    18027 
    18028     FIX: cell_size in World has not been set to a default size, i.e. has been uninitialized.
    18029    
    18030     - cell_size is now set to {20,0,20,0,0,20}, the default value it was set to before.
    18031    
    18032     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18033 
    18034 commit 6cd16bc4b2635b48c1eb855a13b887a00af82259
    18035 Merge: fe6c3eb 6056f1f
    18036 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18037 Date:   Mon Apr 26 18:22:17 2010 +0200
    18038 
    18039     Merge branch 'FixAnalysisBonds_carbonwrongZ' into Analysis_PairCorrelation
    18040    
    18041     Conflicts:
    18042    
    18043         molecuilder/src/unittests/analysisbondsunittest.cpp
    18044    
    18045     Conflict has been due to mixing of lines setting Z and vDw and CoV of carbon.
    18046    
    18047     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18048 
    18049 commit 6056f1f6a543f7dbfa9dde0b7705d6820addf1c4
    18050 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18051 Date:   Mon Apr 26 18:19:32 2010 +0200
    18052 
    18053     FIX: AnalysisBondsUnitTests has been broken due to Z of carbon same as of hydrogen.
    18054    
    18055     - carbon now has Z equal to 2.
    18056    
    18057     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18058 
    18059 commit fe6c3ebb308cd98263ce878b67158bb765693f51
    18060 Merge: 3b9e349 3d9df58
    18061 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18062 Date:   Mon Apr 26 18:13:02 2010 +0200
    18063 
    18064     Merge branch 'FixAnalysisCorrelation_zeroinitallbins' into Analysis_PairCorrelation
    18065 
    18066 commit 3d9df58fa479a3d17fada0e138f7a5e3aa5e1851
    18067 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18068 Date:   Mon Apr 26 18:11:23 2010 +0200
    18069 
    18070     FIX: AnalysisCorrelationToPointUnitTest has been broken due to init of all bins in range to zero.
    18071    
    18072     - number of bins is thus 3, not 2, though there are only two non-zero values, in AnalysisCorrelationToPointUnitTest::CorrelationToPointBinNoRangeTest()
    18073     - also shifted and corrected (new parameter ofstream) OutputCorrelation() in front of ASSERT to allow checking in case of failure.
    18074 
    18075 commit 3b9e3493fade0a8429f762185dce340105f3ea8a
    18076 Merge: ee7e252 c6394d0
    18077 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18078 Date:   Mon Apr 26 18:04:41 2010 +0200
    18079 
    18080     Merge branch 'FixAnalysisCorrelation_zeroinitallbins' into Analysis_PairCorrelation
    18081    
    18082     Conflicts:
    18083    
    18084         molecuilder/src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp
    18085    
    18086     There have been conflicts due to shifted OutputCorrelation() and being commented-out in one commit, not in the other though.
    18087    
    18088     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18089 
    18090 commit c6394d07942e077c77082bff7fb9f99306df5ccc
    18091 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18092 Date:   Mon Apr 26 18:00:24 2010 +0200
    18093 
    18094     FIX: AnalysisCorrelationToSurfaceUnitTest has been broken since change of initialisizing bins to zero.
    18095    
    18096     - test of binmap size in CorrelationToSurfaceCarbonBinNoRangeTest() has to find 9, not 2 bins (due to init). There are still only two non-zero bins.
    18097     - Shifted output of binmap in front of size() test as then the error can be spotted, otherwise execution is interrupted before binmap is output.
    18098    
    18099     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18100 
    18101 commit ee7e252e66e5303e8480b6ab88de56905f963244
    18102 Merge: b5c2d79 e5ad5c3
    18103 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18104 Date:   Mon Apr 26 17:47:54 2010 +0200
    18105 
    18106     Merge branch 'FixBondGraphUnitTest_hydrogencarbon' into Analysis_PairCorrelation
    18107    
    18108     Conflicts:
    18109    
    18110         molecuilder/src/molecule_graph.cpp
    18111    
    18112     There have been conflicts due to LinkedNodes now being local in context LinkedCell.
    18113    
    18114     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18115 
    18116 commit e5ad5c3df7c9095bb2e7bac5d6425aa9d5c295b3
    18117 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18118 Date:   Mon Apr 26 17:42:45 2010 +0200
    18119 
    18120     BUGFIX: BondGraphUnitTest was not working.
    18121    
    18122     Changes:
    18123      - atoms are now carbon, not hydrogen
    18124      - added covalent and van-der-Waals radii to element creation
    18125      - FIX: carbon now has Z = 2.
    18126      - added test case for NULL BondTable (i.e. from covalent radii)
    18127    
    18128     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18129 
    18130 commit 13d5a97104c8a5c13d2e78b8d620f8f625a062ac
    18131 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18132 Date:   Mon Apr 26 15:49:59 2010 +0200
    18133 
    18134     Added macros that allow type safe casting using the Assert mechanism
    18135 
    18136 commit 8bb2fdac28a006989f0feae29f712cc826b109ee
    18137 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18138 Date:   Sun Apr 25 15:36:17 2010 +0200
    18139 
    18140     FIX: Repaired some of the NDEBUG macros for ASSERT
    18141 
    18142 commit 8de8f7b299a3c2fc402aaddc75ea02cd83785773
    18143 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18144 Date:   Sun Apr 25 15:16:09 2010 +0200
    18145 
    18146     Made the input methods more robust to invalid inputs.
    18147 
    18148 commit 033a05dea520cc72044418c6e997d23c15418bf7
    18149 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18150 Date:   Sun Apr 25 14:48:24 2010 +0200
    18151 
    18152     Small improvements to Observer code
    18153 
    18154 commit ccacba2c5291cdd3b8dd37487372b1fbff7ed55c
    18155 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18156 Date:   Sat Apr 24 17:27:00 2010 +0200
    18157 
    18158     Added methods for specialized Notifications from the Observer Framework
    18159 
    18160 commit b5c2d7967acac9af4702516eb19840fbca47017d
    18161 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18162 Date:   Fri Apr 23 10:09:40 2010 +0200
    18163 
    18164     Don't exit when no starting triangle has been found.
    18165    
    18166     - The issue is that this is not a bug, but just a limitation of the so-far employed algorithm for obtaining a starting triangle.
    18167     - If we exit, no .dat file is written, not even an empty one, indicating a perpetual running of the routine, which it does not.
    18168    
    18169     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18170 
    18171 commit b1a6d85a26df47e4dee079a76deafefb5dad552f
    18172 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18173 Date:   Thu Apr 22 22:09:48 2010 +0200
    18174 
    18175     BUGFIX in Tesselation::FindThirdPointForTesselation() - ThirdPoint of the base triangle must never have the smaller angle, but must always be the backside (i.e. the other center).
    18176    
    18177     - this fixes a bug with CNTorus (16,0) with (56,1) (l,r) working and (57,1) not, due to angle suddenly being 0 for the same as the base triangle.
    18178 
    18179 commit ce709706c3fffbf879b5a176c285e789f97d7218
    18180 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18181 Date:   Thu Apr 22 17:47:22 2010 +0200
    18182 
    18183     FIX: Tesselation::FindStartingTriangle() returns false when no triangle could have been created.
    18184    
    18185     - this may act in the future as the beginning to some mean of increasing radii or another way to find a starting triangle.
    18186 
    18187 commit cfe56d268fef163363819b54b51553e5ec95214b
    18188 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18189 Date:   Thu Apr 22 17:03:42 2010 +0200
    18190 
    18191     BUGFIX of Tesselation::FindStartingTriangle() - second Point Temporary not initialised to NULL.
    18192    
    18193     - this caused a segfault with tesselating cluster with radius 1., as the second point added was not present actually.
    18194 
    18195 commit b0a5f12326a780d951acf8dedc559132ca922fac
    18196 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18197 Date:   Thu Apr 22 16:13:32 2010 +0200
    18198 
    18199     BUGFIX of Tesselation::AddTesselationLine() - comparing Vector against Vector is numerically unstable.
    18200    
    18201     - Instead of checking the Vector of both Centers by operator==, we use DistanceSquared().
    18202     - This fixes a bug in tesselating bpti with radius 1.5, where three lines remained open due to not being correctly associated with their degenerated other sides.
    18203 
    18204 commit 620a3f003153866f96efb363bfba5564699acbfe
    18205 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18206 Date:   Thu Apr 22 16:10:08 2010 +0200
    18207 
    18208     BUGFIX in Tesselation::FindThirdPointForTesselation() - regarding three points in a line
    18209    
    18210     - three points in a line, i.e. the baseline with the candidate on this extended line, is numerically unstable.
    18211     - GetCenterofCircumCircle() warns already about "aum of angle"s
    18212     - now, candidate is rejected if the distance from both baseline's endpoints to the NewPlaneCenter is not equal as it should be.
    18213     - i.e. the error message present before has been converted into an additional check.
    18214    
    18215     - This solved problems with tesselating a CNT (6,0) with radius 1.5 which has lots of triples in a line.
    18216 
    18217 commit f04f11a7b99101e6d35061360e4ca6061b20dea2
    18218 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18219 Date:   Thu Apr 22 16:07:14 2010 +0200
    18220 
    18221     small changes to tesselation.
    18222    
    18223     - Tesselation::FindDegeneratedCandidatesforOpenLines() - sets CandidateLine::T to Tesselation::BTS, being the last added triangle.
    18224     - Tesselation::AddCandidatePolygon() - remark about above added to call of function
    18225     - Tesselation::FindCandidatesforOpenLines() - added assert to check that there is only one triangle attached to this CandidateForTesselation::baseline
    18226 
    18227 commit b40a93e770ee2969e2bdd4cc63e56a5205c664b9
    18228 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18229 Date:   Thu Apr 22 16:05:32 2010 +0200
    18230 
    18231     FindNonConvexBorder(): Instead of listing all open lines, just list those without candidates.
    18232 
    18233 commit 29955407eeb6f84cd775a755f6e7b4d9beba3aa5
    18234 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18235 Date:   Thu Apr 22 16:02:09 2010 +0200
    18236 
    18237     Changed verbosity of "sum of angle"-warning in GetCenterofCircumcircle() to 2 instead of 1.
    18238    
    18239     - This is in most case an error, but due to linearity of the involved three points. And we don't check it.
    18240     - The check is done later by comparing the lengths from both baseline's endpoints to NewPlaneCenter, which have to be equal.
    18241 
    18242 commit a67d19a01c3b0bbb8bd6d255ed9a4ffbe37f3138
    18243 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18244 Date:   Thu Apr 22 16:00:03 2010 +0200
    18245 
    18246     Huge change: Log() << Verbose(.) --> DoLog(.) && (Log() << Verbose(.) << ...);
    18247    
    18248     Most of the files are affected, but this is necessary as if DoLog() says verbosity is not enough, all the stream operators won"t get executed which saves substantial amount of computation time.
    18249    
    18250     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18251 
    18252 commit 6613ec959229c059f4df050384fc4621ea87dcc0
    18253 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18254 Date:   Wed Apr 21 13:51:53 2010 +0200
    18255 
    18256     Rewrite of tesselation: treatment of degenerated triangles and polygons
    18257    
    18258     several tricks have been necessary to make it work for heptane:
    18259      - AddDegeneratedTriangle() is not used, instead AddCandidateTriangle() gets told which OptCenter to use, i.e. which triangle side to add
    18260      - afterwards, in the case of a polygon (multiple candidates for a baseline) we have to set the candidate of internal edges in the polygon to the next point, such that AddTesselationLine() picks the right one
    18261      - The we fill other open lines, needed in case of a degenerated triangle
    18262      - If CheckDegeneracy() - which removes all candidates from the ListOfPoints, not just the first - results in true
    18263      - Then we call AddCandidateTriangle() for the other side of it
    18264      - and again in the case of a polygon, set the candidate for the internal edge accordingly.
    18265    
    18266     - new
    18267       - Tesselation::FindCandidatesforOpenLines() - checks for OpenLines with no candidates and calls FindNextSuitableTriangle() for each
    18268       - Tesselation::FindDegeneratedCandidatesforOpenLines() - sets the candidate of an open line between two points to a given point (for above polygons)
    18269       - enum centers is either Opt or OtherOpt for normal or back side of the triangle, used in AddCandidateTriangle()
    18270    
    18271     - associated changes:
    18272       - Tesselation::CheckDegeneracy() - needs current CandidateForTesselation for Baseline's endpoints and candidate list (not just the current trianglre in TPS), removes these instead of TPS
    18273       - lots of identation changes made by eclipse, bust mostly sensible, due to coding on other laptop before
    18274       - Tesselation::AddCandidateTriangle() - picks OptCenter according to given enum centers
    18275       - Tesselation::AddTesselationLine() - in polygon case, a base line may have multiple candidates, though with same OptCenter, we check all of these against desired ThirdNode
    18276       - FindNonConvexBorder() - removed call of CorrectAllDegeneratedPolygons(), as they should be created correctly now
    18277    
    18278     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18279 
    18280 commit bc84ffc76ba4d3b32c0699d8504d57183a64c18f
    18281 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18282 Date:   Wed Apr 21 13:46:40 2010 +0200
    18283 
    18284     Made some remaining cout's "info Log() << Verbose(.)"'s ...
    18285    
    18286     - changes in: MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs(), TriangleIntersectionList::GatherIntersectionsWithTriangles() and Vector::GetIntersectionOfTwoLinesOnPlane()
    18287 
    18288 commit 90f680c53e4ddbba28a2d848d6a36d17b1d66325
    18289 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18290 Date:   Wed Apr 21 13:42:54 2010 +0200
    18291 
    18292     FIX: errorLogger now has absolute verbosity (i.e. CRITIAL is whatever level of recursion printed to screen)
    18293    
    18294     - new function Verbose::DoErrorOutput() which does check only against given verbosityLevel, not plus Info:verbosity ad DoOutput()
    18295     - operator<< of errorLogger
    18296       - uses this function DoErrorOutput()
    18297       - everything above or at verbositylevel of 2 two is prefixed with WARNING:
    18298     - setVerbosity() does not set verbosity of errorLogger, is set to 2 in the code and is fixed
    18299     - DoLog() and DoeLog() have their return value in parenthesis (no change, just safer)
    18300 
    18301 commit 711ac235cedd19a7f06cfb285964b12e50269c03
    18302 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18303 Date:   Tue Apr 20 14:20:10 2010 +0200
    18304 
    18305     Memory leak fixes and code cleanup after tesselation rewrite.
    18306    
    18307     - MEMFIX:
    18308       - Tesselation::FindStartingTriangle() - BaseLine was not deleted when triangle had been created
    18309       - Tesselation::FindStartingTriangle() - BaseLine was not deleted when no second point had been found
    18310       - Tesselation::CorrectAllDegeneratedPolygons() - DegeneratedTriangles was not deleted
    18311    
    18312     - cleanup
    18313       - BoundaryTriangleSet - removed function SetTopNode() and variables top and AngleFromTop
    18314       - Tesselation::AddDegeneratedTriangle() - returns now void, the second triangle is not needed
    18315       - Tesselation::AddDegeneratedTriangle() - removed comment out parts and switch cases, also setting top and AngleFromTop
    18316       - Tesselation::AddDegeneratedTriangle() - open lines from second triangle are associated to second triangle
    18317       - Tesselation::AddCandidateTriangle() - removed setting of top and AngleFromTop
    18318 
    18319 commit a26ca5140652c255825d40c6ec097d98b9ff01c1
    18320 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18321 Date:   Tue Apr 20 14:19:24 2010 +0200
    18322 
    18323     Fixed a warning in BondGraph::LoadBondLengthTable() due to missing parenthesis.
    18324 
    18325 commit b60a29bb0956cffca4efd9bd9eab1da4ac478f14
    18326 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18327 Date:   Tue Apr 20 12:35:15 2010 +0200
    18328 
    18329     WriteTecplotFile() checked whether Tesselation::LastTriangle is not NULL.
    18330 
    18331 commit f07f86dfd5c3d53451892e6e07e8f3b5b79e84dd
    18332 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18333 Date:   Tue Apr 20 11:26:30 2010 +0200
    18334 
    18335     Rewrite of tesselation procedure: treatment of degenerated triangles.
    18336    
    18337     The central idea is that when matching open lines are present, then we have to check whether candidate matches desired ThirdPoint and that the calculated OptCenter matches as well. The latter is essential for degenerated triangles, that can only be decerned by their (Other)OptCenter.
    18338    
    18339     - BoundaryTriangleSetCheckDegeneracy() moved back to Tesselation and gets points from TPS.-
    18340     - Tesselation:.AddCandidateTriangle()
    18341       - candidates are now in TPS
    18342       - sole parameter is CandidateLine which contains other data to be stored in the new triangle.
    18343       - which is done here not in AddCandidatePolygon() anymore
    18344     - Tesselation::AddTesselationLine()
    18345       - new parameter OptCenter to pick the right OpenLine if multiples present
    18346         - functions adapted: Tesselation::RemovePointFromTesselatedSurface(), Tesselation::AddBoundaryPointByDegeneratedTriangle(), Tesselation::CorrectAllDegeneratedPolygons()
    18347       - when an open line is present, we check whether the candidate matches ThirdPoint and OptCenter's match as well
    18348     - FIX: CandidateForTesselation::CheckValidity()
    18349      - endpoint and candidate inside check have both been wrong way round  (< instead of >)
    18350      - MYEPSILON replaced by HULLEPSILON (there are case with 1.16e-13)
    18351     - Tesselation::FindStartingTriangle()
    18352       - if one axis fail for obtaining a starting triangle, the other two are tried as well
    18353       - For this BaseLine is now a pointer, allocated newly for each axis
    18354     - Tesselation::AddCandidatePolygon()
    18355      - everything is done in either AddCandidateTriangle() or AddDegeneratedTriangle()
    18356      - only setting TPS to the current three endpoints and calling CheckDegeneracy() remains
    18357     - Tesselation::AddDegeneratedTriangle()
    18358      - parameter triangle replaced by CandidateLine
    18359      - no more LineCase et al, but subsequent creation of two triangles and everything done in AddTesselationLine()
    18360     - FIX: Tesselation::FindThirdPointForTesselation() - we check whether we actually have candidates before CheckValidity() is called.
    18361    
    18362     Asparagine is now tesselated correctly from radius 1.5 up to 25.
    18363 
    18364 commit 061b06f8530350ff81a7566f11cc3defeed3d984
    18365 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18366 Date:   Tue Apr 20 11:21:51 2010 +0200
    18367 
    18368     BUGFIXES: LinkedCell::SetIndexToNode() had wrong boundaries in zero case, LinkedCell::GetPointsInsideSphere() took only half the right radius
    18369    
    18370     - BUGFIX: LinkedCell::SetIndexToNode() - upper and lower were set to 0 instead of n[i] when step=0 only worked
    18371     - BUGFIX: LinkedCell::GetPointsInsideSphere() called GetallNeighbours() with RADIUS instead if 2.*RADIUS
    18372 
    18373 commit d5fea7a6cc54da0d3f5270434d5c95520d12570a
    18374 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18375 Date:   Fri Apr 16 15:52:20 2010 +0200
    18376 
    18377     FIX: If multiple open lines can be chosen in AddTesselationLine(), then pick the one for which candidate matches first.
    18378    
    18379     - Tesselation::AddTesselationLine() adapted by setting a WinningLine and calling AddExistingTesselationTriangleLine() afterwards.
    18380       - therefore, we need additional parameter which is the third point.
    18381     - Tesselation::AddDegeneratedTriangle() adds itself to CandidateForTesselation of its open lines.
    18382 
    18383 commit 474961217a06b448d3cee3f8771fba98ec83555f
    18384 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18385 Date:   Fri Apr 16 14:26:16 2010 +0200
    18386 
    18387     New approach to degenerated triangles: Recognize on creation and add both sides at once.
    18388    
    18389     - FindNonConvexBorder(): Approach with constructing a tree of smallest ShortestAngle has bee abandoned.
    18390    
    18391     - new function BoundaryTriangleSet::CheckDegeneracy(): Similar to CandidateForTesselation::CheckValidity()
    18392       - checks by looking whether points are inside the sphere at OtherOptCenter
    18393     - new function AddCandidateTriangle(): refactored out of AddCandidatePolygon()
    18394     - new function AddDegenerateTriangle(): basically just checks which lines to take, newly created or existing ones and which
    18395     - AddCandidatePolygon(): (renamed from AddCandidateTriangle())
    18396       - Now needs radius of sphere and LinkedCell structure (for the degenerated searches), adapted where called
    18397       - calls AddCandidateTriangle() for one triangle in the polygon, subsequently calls CheckDegeneracy()
    18398       - if appropriate, calls AddDegenerateTriangle() for the other side triangle
    18399     - rename AlwaysAddTesselationTriangleLine() -> AddNewTesselationTriangleLine()
    18400     - new function AddExistingTesselationTriangleLine(), refactored out of AddTriangleLine()
    18401 
    18402 commit ebb50e92f343ddc5757c15e6f311911268da15c7
    18403 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18404 Date:   Thu Apr 15 17:22:51 2010 +0200
    18405 
    18406     Renamed AddCandidateTriangle() -> AddCandidatePolygon()
    18407    
    18408     - AddCandidateTriangle() may actually add more than one triangle in degenerated Delauney case.
    18409 
    18410 commit bc3f2a8883e09abf804f9f9ab52fe2cc70f5e8cd
    18411 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18412 Date:   Thu Apr 15 16:57:49 2010 +0200
    18413 
    18414     FIX: string instead of string.h was included for strcpy()
    18415 
    18416 commit 8a343929d462595f19dbd79fc4a77406c88f7b7a
    18417 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18418 Date:   Thu Apr 15 15:17:15 2010 +0200
    18419 
    18420     Improved documentation for the Action pattern
    18421 
    18422 commit 1bd79efa209ce2203a329de83169d52ea290fa17
    18423 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18424 Date:   Thu Apr 15 12:54:26 2010 +0200
    18425 
    18426     Changed implementation of Vector to forward operations to contained objects
    18427 
    18428 commit 2733825a2c3f421fa61f61e58f954fa295e6e23d
    18429 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18430 Date:   Tue Apr 13 15:22:42 2010 +0200
    18431 
    18432     Prepared interface of Vector Class for transition to VectorComposites
    18433 
    18434 commit f8bd7d3884f6cedfee5aabbd81b91b0a44140bce
    18435 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18436 Date:   Mon Apr 12 18:45:07 2010 +0200
    18437 
    18438     FIX: changed the order in which triangles are picked next during tesselation.
    18439    
    18440     - FindNonConvexBorder(): we do a check based on AngleFromTop. We always want AngleFromTop to be smaller than the Runner's ShortestAngle. If then no open line can be found, we discard this criteria.
    18441     - FindNonConvexBorder(): also we store initial starting triangle if DoSingleStepOutput
    18442 
    18443 commit 09898c37093ccfcb202b1fbcb57f502704896dc9
    18444 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18445 Date:   Mon Apr 12 18:35:12 2010 +0200
    18446 
    18447     Changes to BoundaryTriangleSet and CandidateForTesselation.
    18448    
    18449     - BoundaryTriangleSet:
    18450       - new member variable top which references the triangle we have been "tesselated from"
    18451       - new member variable AngleFromTop which stores the angle that was used during tesselation from top
    18452       - new member function SetTopNode()
    18453       - Tesselation::AddCandidateTriangle() sets top and AngleFromTop
    18454    
    18455     - CandidateForTesselation:
    18456       - new member ThirdPoint contains third point of triangle whose baseline is the base line
    18457       - new member T which contains the whole triangle
    18458       - constructor receives this third point additionally
    18459       - destructor does not set Baseline to NULL (due to being const)
    18460       - BUGFIX: CheckValidity() checks only OptCenter, other is not valid anyway!, did not went through pointlist at all (begin, begin), some verbosity changes, added animate_sphere script call
    18461       - Tesselation::FindThirdPointForTesselation() sets ThirdPoint
    18462       - Tesselation::FindNextSuitableTriangle() sets T
    18463    
    18464     - BUGFIX: Tesselation::FindThirdPointForTesselation() clear CandidateLine.pointlist, which seemed to have contained old candidates from old runs.
    18465     - Tesselation::FindNextSuitableTriangle(): tesselPoint ThirdNode is now a BoundaryPointSet ThirdPoint (which has a name!)
    18466    
    18467     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18468 
    18469 commit ffe885d4a42092788786723c1711831629789caa
    18470 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18471 Date:   Mon Apr 12 18:25:50 2010 +0200
    18472 
    18473     BUGFIX: LinkedCell::GetPointsInsideSphere() did not work if center of sphere was outside of LinkedCell's domain.
    18474    
    18475     - new function LinkedCell::SetClosestIndexToOutsideVector() similar to LinkedCell::SetIndexToVector(), only vector may be outside of domain. Then, closest cell is taken and minimum distance calculated.
    18476     - LinkedCell::GetPointsInsideSphere() uses LinkedCell::SetClosestIndexToOutsideVector() instead of LinkedCell::SetIndexToVector()
    18477 
    18478 commit 72e7faca3bcf25ab3ecf4cbdb09c889f2985787f
    18479 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18480 Date:   Fri Apr 9 16:45:49 2010 +0200
    18481 
    18482     Started work on the VectorComposites
    18483 
    18484 commit 4f9e47db1137edf81831073a1fe536e3a06b1945
    18485 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18486 Date:   Fri Apr 9 15:41:52 2010 +0200
    18487 
    18488     Full-working LinkedCellUnitTest.
    18489    
    18490     - new unit test for class LinkedCell now checks all functions and runs fine.
    18491    
    18492     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18493 
    18494 commit a3696fd1bc3d13bd782c3786b4647a8407d74d8f
    18495 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18496 Date:   Fri Apr 9 15:41:26 2010 +0200
    18497 
    18498     ofstream operators now check for Name being NULL and print NULL in that case.
    18499    
    18500     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18501 
    18502 commit 893bea4f34d6843af595d33ac7763c591e64648a
    18503 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18504 Date:   Fri Apr 9 15:39:03 2010 +0200
    18505 
    18506     changes to LinkedCell::GetNeighbourBounds(), LinkedCell::GetallNeighbours() and LinkedCell::GetPointsInsideSphere()
    18507    
    18508     - LinkedCell::GetNeighbourBounds() has a step up to which step-nearest neighbours cells are included, heeding boundaries
    18509     - LinkedCell::GetallNeighbours() uses GetNeighbourBounds()
    18510     - LinkedCell::GetPointsInsideSphere() uses GetallNeighbours() and then removes all points outside sphere from this list.
    18511 
    18512 commit 82b71ada15772f942643cd59ff97a96b8a7f71bf
    18513 Merge: fdd840f 9cf88c1
    18514 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18515 Date:   Fri Apr 9 14:32:59 2010 +0200
    18516 
    18517     Merge branch 'MenuRefactoring' into QT4Refactoring
    18518    
    18519     Conflicts:
    18520    
    18521         molecuilder/src/UIElements/UIFactory.cpp
    18522         molecuilder/src/UIElements/UIFactory.hpp
    18523         molecuilder/src/builder.cpp
    18524 
    18525 commit 9cf88c12264eb5a7b3d1f383cbeb3db314a03b0e
    18526 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18527 Date:   Fri Apr 9 14:15:58 2010 +0200
    18528 
    18529     Changed UIFactory to use injector pattern to let it know about existing factories.
    18530 
    18531 commit dcea0ff41d177c467f6145566a26f86eb3065627
    18532 Author: heber <heber@ins.uni-bonn.de>
    18533 Date:   Fri Apr 9 11:14:20 2010 +0100
    18534 
    18535     New Unit test for class LinkedCell.
    18536    
    18537     - this is just the skeleton, so far it does nothing useful.
    18538    
    18539     Signed-off-by: heber <heber@ins.uni-bonn.de>
    18540 
    18541 commit 734816af34f8c7429239e028a7a80e4081d008ab
    18542 Author: heber <heber@ins.uni-bonn.de>
    18543 Date:   Fri Apr 9 10:55:39 2010 +0100
    18544 
    18545     LinkedNodes is now declared inside LinkedCell and some new functions.
    18546    
    18547     - as prepraratory measure we placed LinkedNodes as typedef into LinkedCell class. This caused same namespace changes elsewhere where LinkedNodes is used.
    18548     - new function GetallNeighbours() which performs going through linked cells.
    18549     - new function GetPointsInsideaSphere() which performs going through linked cells and returns all neighbours up to a given distance to a given center.
    18550    
    18551     Note: New functions are not yet used elsewhere. Unit test has to be written beforehand.
    18552    
    18553     Signed-off-by: heber <heber@ins.uni-bonn.de>
    18554 
    18555 commit fdd840f75304796b41bf1a6c5bfe0a99b2f29f01
    18556 Merge: 68d781e a295d1e
    18557 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18558 Date:   Thu Apr 8 16:28:59 2010 +0200
    18559 
    18560     Merge branch 'StructureRefactoring' into QT4Refactoring
    18561 
    18562 commit a295d1e6f8f5e96d80fab1f8dd96d22c12d51408
    18563 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18564 Date:   Thu Apr 8 16:28:21 2010 +0200
    18565 
    18566     More documentation for Action class added
    18567 
    18568 commit 2efa90bc8adc160c042069f38fe65a8bd9258496
    18569 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18570 Date:   Thu Apr 8 16:00:11 2010 +0200
    18571 
    18572     Added detailed documentation for the Action class
    18573 
    18574 commit 0a4f7fd0df08c7bf001c21de0e7b7462fb56da1d
    18575 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18576 Date:   Wed Apr 7 17:45:38 2010 +0200
    18577 
    18578     Made data internal data-structure of vector class private
    18579    
    18580     - Replaced occurences of access to internals with operator
    18581     - moved Vector-class into LinAlg-Module
    18582     - Reworked Vector to allow clean modularization
    18583     - Added Plane class to describe arbitrary planes in 3d space
    18584 
    18585 commit fe238cf71232d91769e9d08c5867eb5c16052491
    18586 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18587 Date:   Thu Apr 1 20:52:09 2010 +0200
    18588 
    18589     Enhanced CountHydrogenBridgeBonds() a bit.
    18590    
    18591     - new functions CheckHydrogenBridgeBondAngle() and CalculateAngle()
    18592     - CountHydrogenBridgeBonds() now discards when two oxygen show each both a hydrogen (two test cases in CountBondsUnitTest.cpp for this)
    18593     - this however also no effect over the criteria by Marry, Rotenberg and Turq.
    18594 
    18595 commit 388049e8a31cd0cd058d1ddd9577886a8a3c2fa8
    18596 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18597 Date:   Thu Apr 1 14:42:07 2010 +0200
    18598 
    18599     Moved functions CountBondsOfTwo(), CountBondsOfThree() and CountHydrogenBridgeBonds() from bondgraph.cpp to analysis_bonds.cpp
    18600    
    18601     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18602 
    18603 commit 4415da8b5d52d38b3578718b456b8c0b28cad75d
    18604 Merge: 9131f32 f9352dc
    18605 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    18606 Date:   Thu Apr 1 14:16:29 2010 +0200
    18607 
    18608     Merge Till's structure refactoring
    18609    
    18610     Merge commit 'till/StructureRefactoring' into StateAndFormatParser
    18611    
    18612     Conflicts:
    18613    
    18614         molecuilder/src/Makefile.am
    18615         molecuilder/src/unittests/Makefile.am
    18616 
    18617 commit 62c9c0c2483b1a08eff78913d9f36d67e8168744
    18618 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18619 Date:   Thu Apr 1 11:35:42 2010 +0200
    18620 
    18621     Added output of test cases for visualization. Is commented out though.
    18622    
    18623     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18624 
    18625 commit dfe8ef3f8a081bf5a259359237ae9e5b9f66cdb1
    18626 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18627 Date:   Tue Mar 30 20:49:01 2010 +0200
    18628 
    18629     BUGFIX: CountHydrogenBridgeBonds() was half-broken, CountBondsOfThree() double-counted.
    18630    
    18631     - CountBondsOfThree() was counting O-H molecules as having a H-O-H and also a O-H-O triple bond because of a missing break.
    18632     - CountHydrogenBridgeBonds() was broken in several places:
    18633       - Checking for Hydrogen on the other oxygen atom is not part of the criteria by Marry, Rotenberg and Turq.
    18634       - HydrogenFlag could have been set by previous atom making next hydrogen also a h-bridge bond.
    18635    
    18636     Found thanks to newly implemented unit test CountBondsUnitTest.
    18637    
    18638     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18639 
    18640 commit 9131f3237e4267925646cb453f950b49e3540f7f
    18641 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    18642 Date:   Tue Mar 30 15:22:20 2010 +0200
    18643 
    18644     WIP tremolo parser
    18645 
    18646 commit f9352dcaf0cbc4cbcee464d7d03984eb5eeee659
    18647 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18648 Date:   Fri Mar 26 16:13:31 2010 +0100
    18649 
    18650     Added mechanism that deactivates undo and redo menupoint if not applicable
    18651 
    18652 commit 68d781e05c955813adeac99c094cf27f14b90f46
    18653 Merge: cd032d4 f6bbc6f
    18654 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18655 Date:   Thu Mar 25 14:36:36 2010 +0100
    18656 
    18657     Merge branch 'MenuRefactoring' into QT4Refactoring
    18658    
    18659     Conflicts:
    18660    
    18661         molecuilder/src/Makefile.am
    18662         molecuilder/src/defs.hpp
    18663 
    18664 commit f6bbc6fe2ddb7221bc4f6acc3efeef505cfb0301
    18665 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18666 Date:   Thu Mar 25 14:08:39 2010 +0100
    18667 
    18668     Added undo and redo menupoints
    18669    
    18670     TODO: make it possible to disable menupoints conditionally
    18671 
    18672 commit 5605032d8e19d603e79ac940ea3a26205e7e7fdc
    18673 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18674 Date:   Thu Mar 25 14:01:35 2010 +0100
    18675 
    18676     Repaired code that was broken by merge
    18677 
    18678 commit 9848bad258f40a89bb332d796c0c40bdaa89fc99
    18679 Merge: b31bc44 975a116
    18680 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18681 Date:   Thu Mar 25 14:00:29 2010 +0100
    18682 
    18683     Merge branch 'StructureRefactoring' into MenuRefactoring
    18684 
    18685 commit 975a1166eddd2bdd29dd2ff9f0637ce8834b71d5
    18686 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18687 Date:   Thu Mar 25 13:59:20 2010 +0100
    18688 
    18689     Repaired broken unittest
    18690 
    18691 commit b31bc446e44e3bd112547bd6f6c98e4deebd860d
    18692 Merge: 66e95ea d566405
    18693 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18694 Date:   Thu Mar 25 13:01:58 2010 +0100
    18695 
    18696     Merge branch 'StructureRefactoring' into MenuRefactoring
    18697 
    18698 commit d56640502d4cc2a4450b681ccb0bc442573add28
    18699 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18700 Date:   Thu Mar 25 12:59:56 2010 +0100
    18701 
    18702     Added full undo functioniality
    18703 
    18704 commit 5b0b98b2ea8b24976731e525dc2aa2811d18dc20
    18705 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18706 Date:   Thu Mar 25 11:06:49 2010 +0100
    18707 
    18708     Switched type of pointer used for ActionStates
    18709 
    18710 commit 67e2b3572734296ec6d1bd4e7c867fa823cee04f
    18711 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18712 Date:   Wed Mar 24 17:26:21 2010 +0100
    18713 
    18714     Added methods that allow bookkeeping of actions for undo/redo methods
    18715 
    18716 commit 05a97c1f2c9e8ddf80a668a86107708aa36770e5
    18717 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18718 Date:   Wed Mar 24 14:58:30 2010 +0100
    18719 
    18720     Replaced some error conditions with ASSERTs
    18721 
    18722 commit c721129bba15cb7f2e3255bdf6f7c8df64cbc52a
    18723 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18724 Date:   Wed Mar 24 13:54:47 2010 +0100
    18725 
    18726     Repaired GetMAxId() method of molecule
    18727 
    18728 commit ce1d8c6dd957c9a4ffa937e721e549badd23c4e5
    18729 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18730 Date:   Wed Mar 24 11:27:37 2010 +0100
    18731 
    18732     Added detailed instruction on how to use ASSERT()
    18733 
    18734 commit adc42b8134b08a947db2f24929ef450e6470041f
    18735 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18736 Date:   Fri Mar 19 17:24:47 2010 +0100
    18737 
    18738     Made the cacheable always recalculate when the owner is in the process of updating
    18739     (cherry picked from commit 6234ef6106a5d0b8c1d29976e4e4304c66bb5c8b)
    18740 
    18741 commit 4fb5a3f0f43733a24f210c3e9a5c666bd091f7dc
    18742 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18743 Date:   Fri Mar 19 17:13:28 2010 +0100
    18744 
    18745     Improved Observer Framework to include methods to report the state
    18746    
    18747     - bool Observable::isBlocked() will tell if the Observer is currently updating itself
    18748     - The Circle detection test now uses ASSERT to report when a circle was detected (can be caught by CPPUNIT)
    18749 
    18750 commit 052b8d0f457c092d6ce25003e75db72970ba2fb0
    18751 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18752 Date:   Fri Mar 19 16:50:01 2010 +0100
    18753 
    18754     Rebuilt Cacheables using the state pattern
    18755 
    18756 commit 5be0eb5b503e36533a617d7c857b0c9324a0e178
    18757 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18758 Date:   Fri Mar 19 11:50:06 2010 +0100
    18759 
    18760     Added more functionality to custom asserts.
    18761    
    18762     - Asserts allow now setting any choice as default behaviour
    18763     - Asserts allow setting of hooks that have to be performed before the exit is done
    18764 
    18765 commit 760ef4a258435c48d94d371f74c03c5c5c7c6858
    18766 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18767 Date:   Fri Mar 19 17:24:47 2010 +0100
    18768 
    18769     Made the cacheable always recalculate when the owner is in the process of updating
    18770 
    18771 commit b64313e36c83a0a04f3ea0272076852e9bcd8016
    18772 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18773 Date:   Fri Mar 19 17:13:28 2010 +0100
    18774 
    18775     Improved Observer Framework to include methods to report the state
    18776    
    18777     - bool Observable::isBlocked() will tell if the Observer is currently updating itself
    18778     - The Circle detection test now uses ASSERT to report when a circle was detected (can be caught by CPPUNIT)
    18779 
    18780 commit e0b6fd7a16e107779197cef07ad3b711cc457e33
    18781 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18782 Date:   Fri Mar 19 16:50:01 2010 +0100
    18783 
    18784     Rebuilt Cacheables using the state pattern
    18785 
    18786 commit f18185ccc3610b5c8c0eae54138d97f1e55c8bca
    18787 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18788 Date:   Fri Mar 19 15:03:54 2010 +0100
    18789 
    18790     Implemented counting of bonds over all atoms.
    18791    
    18792     - new functions in bondgraph.cpp: CountBondsOfTwo(), CountBondsOfThree()
    18793     - both are introduced into MergeMolecules(), case 'b' and 'B'
    18794    
    18795     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18796 
    18797 commit ea71760f1257d93e6396b87b269d71544d16a690
    18798 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18799 Date:   Fri Mar 19 14:29:01 2010 +0100
    18800 
    18801     FIX: Made AtomCount a Cacheable so that the number of atoms in a molecule will always be correct
    18802    
    18803     All unittests working.
    18804     All Complete testcases fail.
    18805 
    18806 commit 80c63dfc81000104a9b183a1ba9f5565e15b9757
    18807 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18808 Date:   Fri Mar 19 11:50:06 2010 +0100
    18809 
    18810     Added more functionality to custom asserts.
    18811    
    18812     - Asserts allow now setting any choice as default behaviour
    18813     - Asserts allow setting of hooks that have to be performed before the exit is done
    18814 
    18815 commit 8d27720451e7340d82da7537d832ffb204273b10
    18816 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18817 Date:   Thu Mar 18 17:45:41 2010 +0100
    18818 
    18819     Changed conditional criticalExit in constructor of BoundaryTriangleSet to Assertion.
    18820 
    18821 commit 24725c2fc8fd6c005751d91c920162a6e74b1f8c
    18822 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18823 Date:   Thu Mar 18 16:59:46 2010 +0100
    18824 
    18825     FIX: repaired PairCorrelation() by using IDs assigned by the world instead of internal molecule numbers
    18826 
    18827 commit 53731fa36c4e43ccfbcc75e2b60b6036be2ec500
    18828 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18829 Date:   Thu Mar 18 16:40:37 2010 +0100
    18830 
    18831     Fixed two unittests by forcibly assigning numbers on Atoms in CreateAdjacencyList
    18832 
    18833 commit 1cbf477d77154171f9c093ad6d333a48cd3d068b
    18834 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18835 Date:   Thu Mar 18 16:29:54 2010 +0100
    18836 
    18837     Introduced CountHydrogenBridgeBonds() function.
    18838    
    18839     - CountHydrogenBridgeBonds() in bondgraph.cpp counts hydrogen bridges in a system.
    18840     - MergeMolecules has a new case 'h'. The placement is this menu is however nonsense and should be corrected, when MeasureAtoms has a MoleculeListClass as parameter instead of a single molecule.
    18841    
    18842     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18843 
    18844 commit f2bb0ffe6b4609ebd531d524d61604a99d4ec5fd
    18845 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18846 Date:   Thu Mar 18 16:32:00 2010 +0100
    18847 
    18848     FIX: Repaired memory smashing in CreateAdjacencyList
    18849    
    18850     BROKEN: Unittests still fail
    18851 
    18852 commit 75ac0c5e42d4edfac5a3b6e0939f309270191119
    18853 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18854 Date:   Thu Mar 18 15:48:20 2010 +0100
    18855 
    18856     Added custom Assert makro that allows ignoring asserts
    18857 
    18858 commit 229e3ccb4e9cb5051f35390f07ad9812609ea0d4
    18859 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18860 Date:   Thu Mar 18 15:48:20 2010 +0100
    18861 
    18862     Added custom Assert makro that allows ignoring asserts
    18863 
    18864 commit c7b1e7cc5f71dc867ab9cd60f52387cc20f52e45
    18865 Merge: b48ba6e 8ab0407
    18866 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18867 Date:   Thu Mar 18 12:39:57 2010 +0100
    18868 
    18869     Merge branch 'FixGeneralizeStoreAdjacencyToFile' into Analysis_PairCorrelation
    18870 
    18871 commit b48ba6ea1ca00a1d01e06d07c7ada8ade3b7a415
    18872 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18873 Date:   Thu Mar 18 12:39:21 2010 +0100
    18874 
    18875     Shifted BONDTHRESHOLD from defs.hpp over to bondgraph.hpp and lowered to 0.4
    18876    
    18877     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18878 
    18879 commit 8ab04072a27154b43480fa7e701691aeef336c95
    18880 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18881 Date:   Thu Mar 18 12:34:39 2010 +0100
    18882 
    18883     molecule::StoreAdjacencyToFile() and molecule::StoreBondsToFile() now take additional filename.
    18884    
    18885     - since ParseCommandLineOptions() has cases j and J which use the above functions, we have to generalize these functions to work also without a given path and with arbritrary filename.
    18886    
    18887     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18888 
    18889 commit 58ed4a7c2bc8ff58164d0438ee813b30de7a34da
    18890 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18891 Date:   Thu Mar 18 11:26:55 2010 +0100
    18892 
    18893     Log() and eLog() are prepended by a DoLog()/DoeLog() construct.
    18894    
    18895     - Most of the run time (95%) is spent on verbosity that it is discarded anyway due to a low verbosity setting. However, the operator << is evaluated from the right-hand side, hence the whole message is constructed and then thrown away.
    18896     - DoLog() and DoeLog() are new functions that check the verbosity beforehand and are used as follows:
    18897       DoLog(2) && (Log() << verbose(2) << "message" << endl);
    18898    
    18899     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18900 
    18901 commit 7ee87fc14c8174aaa7e562acd4b38bbed5239316
    18902 Author: Frederik Heber <heber@ins.uni-bonn.de>
    18903 Date:   Thu Mar 18 11:21:13 2010 +0100
    18904 
    18905     BUGFIX: DefaultName of molecule was too small an array.
    18906    
    18907     - We saw wrong molecule names such as "none@4", this is fixed.
    18908    
    18909     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    18910 
    18911 commit 6e97e5a6b0503856e9b6e879ddf32a1028016550
    18912 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18913 Date:   Wed Mar 17 15:53:26 2010 +0100
    18914 
    18915     Added a generic Iterator that can be used to iterate only over certain parts of an internal data structure
    18916 
    18917 commit 745a85115338256436238e5f4ac69f413362c5af
    18918 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18919 Date:   Fri Mar 12 15:20:15 2010 +0100
    18920 
    18921     Fixed memory leak in periodentafel
    18922 
    18923 commit ead4e6027f420d4abbcb4f74854b4daa8dad64ea
    18924 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18925 Date:   Fri Mar 12 14:16:01 2010 +0100
    18926 
    18927     Made the periodentafel use STL-containers instead of custom llists
    18928 
    18929 commit c3dbe0f164703a2c4da1a1d7818c146f2b3ceb31
    18930 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18931 Date:   Thu Mar 11 17:53:08 2010 +0100
    18932 
    18933     Improved documentation for Singleton
    18934 
    18935 commit 0f6f3a2fa9484f91d921afb035cddfdb256bde6a
    18936 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18937 Date:   Thu Mar 11 16:17:29 2010 +0100
    18938 
    18939     Small improvements to singleton pattern
    18940 
    18941 commit cd032d428ec733430510dfedd7dc4bcf1df63fd4
    18942 Merge: a77c96f ed58ad5
    18943 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18944 Date:   Thu Mar 11 15:46:41 2010 +0100
    18945 
    18946     Merge branch 'StructureRefactoring' into QT4Refactoring
    18947    
    18948     Conflicts:
    18949    
    18950         molecuilder/src/builder.cpp
    18951         molecuilder/src/defs.hpp
    18952 
    18953 commit ed58ad584a17c2510df74004042b2452b8b42f01
    18954 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18955 Date:   Thu Mar 11 15:29:04 2010 +0100
    18956 
    18957     Made the errorLogger use the new Singleton framework
    18958 
    18959 commit aee1a3013f12e500c5025aaa69850fcc29933ad2
    18960 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18961 Date:   Thu Mar 11 15:19:53 2010 +0100
    18962 
    18963     Made logger class use the new Singleton framework
    18964 
    18965 commit e73a8a2f90ce3ebc52e5a08bae476c290ee4cee0
    18966 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18967 Date:   Thu Mar 11 15:08:44 2010 +0100
    18968 
    18969     Changed ActionRegistry to use the new Singleton Mechanism
    18970 
    18971 commit 7ca80618ed8bb20b2ffc293ef03e46c6b5299ae1
    18972 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18973 Date:   Thu Mar 11 12:32:17 2010 +0100
    18974 
    18975     Changed the mutex type used in the Singleton pattern to allow multiple locks in the same thread
    18976 
    18977 commit d2586382328211710e80bd41bf762f1dc0d9d61a
    18978 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18979 Date:   Thu Mar 11 12:21:55 2010 +0100
    18980 
    18981     Added Unittest for Singleton pattern
    18982 
    18983 commit d7940eed393ef000764eb1d5dc9282588a111a23
    18984 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18985 Date:   Thu Mar 11 11:37:32 2010 +0100
    18986 
    18987     Made the UIFactory an instance of the Singleton Pattern
    18988 
    18989 commit 23b547e0a280f674d85f218c4cce67c6c3f2ee85
    18990 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18991 Date:   Wed Mar 10 18:51:48 2010 +0100
    18992 
    18993     Added generic singleton Pattern that can be inherited to any class making that class a singleton.
    18994 
    18995 commit a77c96f4ed702d9adfd764de713b4db0c2023488
    18996 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    18997 Date:   Fri Mar 5 11:26:16 2010 +0100
    18998 
    18999     Started work on a tab view for Molecule Content
    19000 
    19001 commit cb2146212f0e6343f8c302f924a2e8bfb3401b6e
    19002 Merge: 7dc1026 31af190
    19003 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    19004 Date:   Fri Mar 5 14:45:35 2010 +0100
    19005 
    19006     solve merge conflict
    19007    
    19008     Merge commit 'till/StructureRefactoring' into StateAndFormatParser
    19009    
    19010     Conflicts:
    19011    
    19012         molecuilder/src/unittests/Makefile.am
    19013 
    19014 commit 7dc1026fa042673a3afb826472ab3fa660390ba6
    19015 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    19016 Date:   Fri Mar 5 14:33:45 2010 +0100
    19017 
    19018     WIP
    19019 
    19020 commit ab4b55cc08f483f1cbbf9225a92e2996e8d60b39
    19021 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    19022 Date:   Fri Mar 5 13:53:13 2010 +0100
    19023 
    19024     the XYZ parser
    19025 
    19026 commit d3347e51ec76a8b2c512f9c40cd24e2a622a37da
    19027 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19028 Date:   Fri Mar 5 12:40:05 2010 +0100
    19029 
    19030     FIX: repaired compiler problems for latest refactoring
    19031 
    19032 commit 9879f6f8e5ad9364ccd32e2d6735f2ffc89cf18d
    19033 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19034 Date:   Fri Mar 5 11:08:44 2010 +0100
    19035 
    19036     Huge Refactoring due to class molecule now being an STL container.
    19037    
    19038     - molecule::start and molecule::end were dropped. Hence, the usual construct
    19039       Walker = start
    19040       while (Walker->next != end) {
    19041         Walker = walker->next
    19042         ...
    19043       }
    19044       was changed to
    19045       for (molecule::iterator iter = begin(); iter != end(); ++iter) {
    19046         ...
    19047       }
    19048       and (*iter) used instead of Walker.
    19049     - Two build errors remain (beside some more in folder Actions, Patterns and unittest) in molecule_pointcloud.cpp and molecule.cpp
    19050     - lists.cpp was deleted as specialization of atom* was not needed anymore
    19051     - link, unlink, add, remove, removewithoutcheck all are not needed for atoms anymore, just for bonds (where first, last entries remain in molecule)
    19052     - CreateFatherLookupTable() was put back into class molecule.
    19053     - molecule::InternalPointer is now an iterator
    19054     - class PointCloud: GoToPrevious() and GetTerminalPoint() were dropped as not needed.
    19055     - some new STL functions in class molecule: size(), empty(), erase(), find() and insert()
    19056 
    19057 commit 31af190705ad6f16748534860be756c1d13b38c1
    19058 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19059 Date:   Thu Mar 4 17:03:57 2010 +0100
    19060 
    19061     Made the World Iterators conform to STL-Structure
    19062 
    19063 commit e87acf50f98112d75e2652d26e782186d90e5f4e
    19064 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19065 Date:   Thu Mar 4 16:22:56 2010 +0100
    19066 
    19067     BROKEN: removed legacy AtomList from molecule class
    19068 
    19069 commit bd58fb2b24b4e60efc12ec92eea4888bf318d98e
    19070 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19071 Date:   Thu Mar 4 16:20:51 2010 +0100
    19072 
    19073     Added an iterator pattern for observed Data structures
    19074 
    19075 commit 6e6e1060a418df49545378378991506d6ae25dea
    19076 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19077 Date:   Thu Mar 4 15:57:48 2010 +0100
    19078 
    19079     BUGFIX: config::SaveTREMOLO() - TREMOLO does not like particle Id 0
    19080    
    19081     - particle Id 0 are thrown away on saving by TREMOLO. Hence, we add one on each particle number and bond id and molecule number (i.e. counting from one).
    19082    
    19083     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    19084 
    19085 commit 63b56a73e21b1784b8d53fca43194af559c7eece
    19086 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19087 Date:   Thu Mar 4 11:56:58 2010 +0100
    19088 
    19089     Changed Name of the QTMoleculesView
    19090 
    19091 commit e6a9c182065a2c9e05f3e7d8e40b87878aa191a8
    19092 Merge: 6a661c8 66e95ea
    19093 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19094 Date:   Thu Mar 4 11:40:52 2010 +0100
    19095 
    19096     Merge branch 'MenuRefactoring' into QT4Refactoring
    19097    
    19098     Conflicts:
    19099    
    19100         molecuilder/src/Makefile.am
    19101 
    19102 commit 66e95ead2481671ca5327eb6731a586ae0e2d542
    19103 Merge: a28a836 57adc72
    19104 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19105 Date:   Thu Mar 4 11:34:52 2010 +0100
    19106 
    19107     Merge branch 'StructureRefactoring' into MenuRefactoring
    19108 
    19109 commit 57adc722ba6d4dbc04bdd2fa77d696ce701237a7
    19110 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19111 Date:   Thu Mar 4 11:33:44 2010 +0100
    19112 
    19113     Added methods to query Molecules by ID
    19114 
    19115 commit 57f5cf66e79c1035c22cc13e2b499ac118b6994a
    19116 Merge: 6bc51d7 88d5869
    19117 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    19118 Date:   Thu Mar 4 10:49:45 2010 +0100
    19119 
    19120     Merge commit 'till/StructureRefactoring' into StateAndFormatParser
    19121    
    19122     Conflicts:
    19123    
    19124         molecuilder/src/Makefile.am
    19125         molecuilder/src/unittests/Makefile.am
    19126    
    19127     SOURCE and HEADER are both one long line and thus could not be merged automatically.
    19128 
    19129 commit 6bc51d7e039a246cef5026ea3b2aba64674a5b59
    19130 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    19131 Date:   Thu Mar 4 10:24:36 2010 +0100
    19132 
    19133     Work-in-progress commit of change tracker and parser
    19134 
    19135 commit 706f9b22062831f6fc386e4862c76d896c32988b
    19136 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    19137 Date:   Thu Mar 4 10:21:38 2010 +0100
    19138 
    19139     Work-in-progress commit of parser and changeTracker
    19140 
    19141 commit 70429af98b7a60eccab50d1fbd763fee7d530c50
    19142 Merge: f42e951 b720910
    19143 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19144 Date:   Wed Mar 3 20:17:58 2010 +0100
    19145 
    19146     Merge branch 'FixDissectIntoSubgraphs_ConstructBondGraphcheck' into Analysis_PairCorrelation
    19147 
    19148 commit f42e951c3e2e0c51cf91130e6192c9c6711417fa
    19149 Merge: 6e8dc28 85da4ea
    19150 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19151 Date:   Wed Mar 3 20:17:49 2010 +0100
    19152 
    19153     Merge branch 'FixBinDataStartEnd' into Analysis_PairCorrelation
    19154 
    19155 commit 6e8dc28d62ece34c138a0fc8497e666bdc4b7389
    19156 Merge: 046783a caf4ba6
    19157 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19158 Date:   Wed Mar 3 20:17:19 2010 +0100
    19159 
    19160     Merge branch 'FixLinkedCellConstructor_Setempytcheck' into Analysis_PairCorrelation
    19161    
    19162     Conflicts:
    19163    
    19164         molecuilder/src/linkedcell.cpp
    19165    
    19166     Conflict was due to changes:
    19167     - set->empty() check prepended by set== NULL
    19168     - cout/cerr -> Log()/eLog()
    19169    
    19170     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    19171 
    19172 commit 85da4ea11f7062dd89910b1599c99c2a9424cc65
    19173 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19174 Date:   Wed Mar 3 20:14:31 2010 +0100
    19175 
    19176     BUGFIX: in BinData() binmap should be initialized from start to end in all three cases not just in third.
    19177    
    19178     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    19179 
    19180 commit 271e17edd356e78553feaa53e435fda094d20a46
    19181 Merge: 7908076 bd61b41
    19182 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19183 Date:   Wed Mar 3 20:13:43 2010 +0100
    19184 
    19185     Merge branch 'FixGetBin_tointeger' into FixBinDataStartEnd
    19186 
    19187 commit bd61b4123d6339083d04e167580d407cbf99c263
    19188 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19189 Date:   Wed Mar 3 19:41:03 2010 +0100
    19190 
    19191     BUGFIX: rounding imprecision let values appear twice in BinMap.
    19192    
    19193     - we fix this by always converting bin to integer and then back to double when putting into map in BinData()
    19194     - GetBin returns integer
    19195    
    19196     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    19197 
    19198 commit b72091007fb048354021b5b5be240f73a47cda77
    19199 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19200 Date:   Wed Mar 3 19:43:55 2010 +0100
    19201 
    19202     BUGFIX: MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs() - check of return value BondGraph::ConstructBondGraph() was wrong way round
    19203    
    19204     - negate symbol "!" forgotten.
    19205    
    19206     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    19207 
    19208 commit caf4ba69e6ca6a15e9b88c78000a01a9b1659cba
    19209 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19210 Date:   Wed Mar 3 19:37:28 2010 +0100
    19211 
    19212     BUGFIX: LinkedCell::LinkedCell() - before set->empty() check whether set is not NULL.
    19213    
    19214     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    19215 
    19216 commit 88d5869468621298db2b33f61023ef4301fd78eb
    19217 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19218 Date:   Wed Mar 3 18:47:40 2010 +0100
    19219 
    19220     Added mechanisms that allow reuse of IDs and changing Ids of Atoms
    19221 
    19222 commit 1c51c861e1b8694410e5e4704ed0144951b98c2e
    19223 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19224 Date:   Wed Mar 3 16:46:03 2010 +0100
    19225 
    19226     Added methods for querying molecules using descriptors
    19227 
    19228 commit 046783a553356e9a05c3b45658a6d81b7331ebcb
    19229 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19230 Date:   Wed Mar 3 15:46:13 2010 +0100
    19231 
    19232     Default molecule name can be set via command line, BUGFIX: molecule::DepthFirstSearchAnalysis() seg'faulted on no atoms.
    19233    
    19234     Allow '-I' on empty configs:
    19235     - molecule::DepthFirstSearchAnalysis(): check whether AtomCount==0
    19236     - molecule::molecule(): name is now not 'none' but copied from World::DefaultName
    19237     - MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs():
    19238       - Check for false from BondGraph::ConstructBondGraph()
    19239       - Check for Subgraphs or its successor being NULL
    19240     - ParseCommandLineOptions(): first molecule only set active if molecules is not empty.
    19241    
    19242     new case 'X' for setting default molecule name:
    19243     - new member variable World::DefaultName
    19244     - constructor of molecule uses this default name
    19245     - case 'X' in ParseCommandLineOptions() added for setting default name
    19246 
    19247 commit a837d053ff10e6e193a98401553d45448b6478c2
    19248 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19249 Date:   Wed Mar 3 15:45:28 2010 +0100
    19250 
    19251     BUGFIX: FillBoxWithMolecule() - bonds were added after adding of each atom, not after molecule.
    19252    
    19253     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    19254 
    19255 commit dbb47413a2117951f3188ef85e30cc92c38d48b4
    19256 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19257 Date:   Wed Mar 3 14:57:41 2010 +0100
    19258 
    19259     Improved Doxygen documentation
    19260 
    19261 commit b343068e46322d6b11c4bb7e0e7aaa7246d69132
    19262 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19263 Date:   Wed Mar 3 11:13:19 2010 +0100
    19264 
    19265     singleton class World introduced, contains only cell_size from class molecule.
    19266    
    19267     - class World is actually code from Till Crueger from his branch StructureRefactoring.
    19268     - has been introduced here in minimalistic form to allow molecule::cell_size to be outsourced to World::cell_size
    19269     - access to cell_size can be obtained from anyhwere by invoking World::get()->cell_size
    19270     - INFO: cell_size was placed in class molecule for the fragmentation procedure where the cell_size had to be individually adapted to each fragment.
    19271    
    19272     - all appearances have been changed accordingly. Where appropriate we have employed a const pointer onto cell_size.
    19273    
    19274     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    19275 
    19276 commit c5805a6ee89c1ab92cf6544d5df6bd3f5fc5296a
    19277 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19278 Date:   Wed Mar 3 10:31:24 2010 +0100
    19279 
    19280     FIX: allowing empty config files, and filling can deal with no molecules being present.
    19281    
    19282     FillBoxWithMolecule():
    19283     - Additional checks whether AtomCount>0
    19284     - FIX: CopyAtoms was not initialised to NULL, hence wrong atoms might get "bonded".
    19285     - if TesselStruct or LCList are NULL, these refer to empty molecules not to an error
    19286     - breaking when atom would be placed was wrong, just continue to next atom of filler molecule.
    19287    
    19288     config::LoadMolecule()
    19289     - we do not performCriticalExit() when MaxTypes==0, indicating present config file with no atoms.
    19290 
    19291 commit cb85c2e23c34bb8b96ceb385c790c6a65fb325c1
    19292 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19293 Date:   Tue Mar 2 17:12:19 2010 +0100
    19294 
    19295     ManipulateAtoms() can turn atoms around bonds again, in ParseCommandLineOptions() case 'C' Binwidth can be specified.
    19296    
    19297     - ManipulateAtoms(): new submenu 't' to turn an atom around a neighbouring bond.
    19298     - ParseCommandLineOptions(): case 'C' - now BinWidth can be specified.
    19299 
    19300 commit 8db5984e6a27b79db3e7303fda908ac9035d47f6
    19301 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19302 Date:   Mon Mar 1 21:48:40 2010 +0100
    19303 
    19304     New class TriangleIntersection List and (hopefully) final fix of CorrelationToSurface().
    19305    
    19306     - Distances to surface were still calculated between the vector and the triangle plane not the triangle itself. Although functions such as BoundaryTriangleSet::GetClosestPointInsideTriangle had already been written.
    19307     - As in class Tesselation there were many functions that all did the same: Calculate intersections between a point and all closeby triangles and then get the intersection or calculate this minimum distance and so ...
    19308     - ... this was all put into a new class (in a new file): TriangleIntersectionList whose constructor scans all nearby triangles and put the calculates Intersections in the triangle into a list.
    19309     - Functions as IsInside(), GetSmallestDistance(), GetClosestIntersection() and GetClosestTriangle() bring the desired functionality to the outside.
    19310     - Respective functions in class Tesselation just make use of this new class and its member functions.
    19311     - CorrelationToSurface() also directly instantiates this class to effectively use two of its functions.
    19312     - Makefile.am has this new file in its SOURCES and HEADERS.
    19313     - Tesselation:GetDistanceSquaredToSurface() -> Tesselation:GetDistanceToSurface(), FillBoxWithMolecule() has been adapted to this change.
    19314    
    19315     AnalysisCorrelationToSurfaceUnitTest:
    19316     - still has errors in it, as the distance were wrong before (because with respect to triangle plane, not triangle). Hence, the test was corrected.
    19317    
    19318     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    19319 
    19320 commit 30d9e7c524259d13971388d69a8299194ae02715
    19321 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19322 Date:   Mon Mar 1 21:46:40 2010 +0100
    19323 
    19324     Bigger change to FillBoxWithMolecule().
    19325    
    19326     - BUG: Position check was only made for center of filler molecule without any translations, not on each atom.
    19327     - BUG: Range was only from 0, to N[i]-1, not to N[0]. Although translations can also be in "negative" direction.
    19328     - This is now changed, check is atom wise, all translations are taken into account.
    19329 
    19330 commit b74f7dfc3cab111e2e5fbfe28dffa528131e6a7c
    19331 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19332 Date:   Mon Mar 1 21:41:21 2010 +0100
    19333 
    19334     FIX: ParseCommandLineOptions - case 'C' used wrong LC width, case 'F' nows parses filler from file.
    19335    
    19336     ParseCommandLineOptions:
    19337     - case 'C': Linked Cell width was set to fixed double of radius and was hence uncorrelated to the BinWidth. This is bad for subsequent DistanceToSurface() searches which use LC.
    19338     - case 'F': Filler molecules was encoded by hand so far, is now parsed from xyz file and the bond structure created by BondGraph.
    19339 
    19340 commit 821907fcd566e75b22fa05a9671d131f0fef93f0
    19341 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19342 Date:   Mon Mar 1 21:28:32 2010 +0100
    19343 
    19344     Added Vector Copy constructors, Vector::GetDistanceVectorToPlane() and Vector::DistanceToVector() makes use of it
    19345    
    19346     - Copy Constructors taking const pointers and const reference as argument
    19347     - Vector::DistanceToVector() basically renamed to Vector::GetDistanceVectorToPlane()
    19348     - Vector::DistanceToVector() uses the latter
    19349 
    19350 commit b11d3bed152ea5cc6a6964715aa2cf2520fb7e28
    19351 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19352 Date:   Mon Mar 1 21:24:45 2010 +0100
    19353 
    19354     Added operators and state checkers to GSLVector.
    19355    
    19356     - added operators +,-,*, +=, -=, *=, == and =
    19357     - added IsZero() and IsOne().
    19358     - gslvectorunittest extended with state and operator test.
    19359    
    19360     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    19361 
    19362 commit 6a661c84ddb70b8d99fb640bff150da9a095a18e
    19363 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19364 Date:   Fri Feb 26 15:52:16 2010 +0100
    19365 
    19366     FIX: Some QT-Related memory leaks
    19367 
    19368 commit 2561df9603fa89c37a857881ef0c7679508c13a0
    19369 Merge: cbf01e6 a28a836
    19370 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19371 Date:   Fri Feb 26 15:11:14 2010 +0100
    19372 
    19373     Merge branch 'MenuRefactoring' into QT4Refactoring
    19374    
    19375     Conflicts:
    19376    
    19377         molecuilder/src/Makefile.am
    19378         molecuilder/src/unittests/Makefile.am
    19379         molecuilder/src/vector.cpp
    19380         molecuilder/src/vector.hpp
    19381 
    19382 commit a28a83646ee0892ab8c12d63a649ee1d0b44820c
    19383 Merge: 5a72431 a1510d5
    19384 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19385 Date:   Fri Feb 26 15:01:57 2010 +0100
    19386 
    19387     Merge branch 'StructureRefactoring' into MenuRefactoring
    19388    
    19389     Conflicts:
    19390    
    19391         molecuilder/src/UIElements/TextDialog.cpp
    19392 
    19393 commit a1510d5b76a932257363ed507f59a28cd93e9924
    19394 Merge: 1f22170 e6fdbe3
    19395 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19396 Date:   Fri Feb 26 14:57:01 2010 +0100
    19397 
    19398     Merge branch 'FreddiesRefactoring' into StructureRefactoring
    19399    
    19400     Conflicts:
    19401    
    19402         molecuilder/src/Patterns/Observer.cpp
    19403         molecuilder/src/World.cpp
    19404         molecuilder/src/boundary.cpp
    19405         molecuilder/src/molecule_dynamics.cpp
    19406         molecuilder/src/unittests/AnalysisCorrelationToPointUnitTest.cpp
    19407         molecuilder/src/unittests/AnalysisCorrelationToSurfaceUnitTest.cpp
    19408         molecuilder/src/unittests/AnalysisPairCorrelationUnitTest.cpp
    19409         molecuilder/src/unittests/Makefile.am
    19410         molecuilder/src/unittests/bondgraphunittest.cpp
    19411         molecuilder/src/unittests/listofbondsunittest.cpp
    19412 
    19413 commit 1f22170b77da3dddeea87ecbaa98a3ee8603bfff
    19414 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19415 Date:   Fri Feb 26 14:04:59 2010 +0100
    19416 
    19417     Small fixes
    19418 
    19419 commit 24a5e09f04efb019de433cb90728399e3a3c830a
    19420 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19421 Date:   Fri Feb 26 13:40:52 2010 +0100
    19422 
    19423     Added -Wall flag and fixed several small hickups
    19424 
    19425 commit 7042f454d567e2b5ab6069b20134b2fef0f908bc
    19426 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19427 Date:   Fri Feb 26 12:47:16 2010 +0100
    19428 
    19429     Changed the type of AtomIds and MoleculeIds to an opaque type
    19430 
    19431 commit e6fdbe351d84e5890c3e6056f3c678ec947d0b31
    19432 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19433 Date:   Fri Feb 26 11:02:12 2010 +0100
    19434 
    19435     MEMLEAK: In many tests World, MemoryUsageObserver, logger or errorLogger being singletons were instantiated but not destroyed.
    19436    
    19437     - in some cases respective includes had to be added.
    19438 
    19439 commit 5e528346fce5f94d79617270d297535340b80bc3
    19440 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19441 Date:   Fri Feb 26 11:01:50 2010 +0100
    19442 
    19443     FIX: Values have been used uninitialized.
    19444 
    19445 commit 5c859226ce6b4bc09fc8876473246d8ae02c04cd
    19446 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19447 Date:   Fri Feb 26 10:59:15 2010 +0100
    19448 
    19449     MEMLEAK: TesselPoints and Vectors created during TesselationBoundaryTriangleTest::setUp() would not get free'd.
    19450    
    19451     - Delete of triangle only destroys triangle, its lines and edges, not the TesselPoints
    19452     - New array *tesselpoints[3] introduced, which stores pointers to the created TesselPoints and free's them in tearDown().
    19453     - Allocated Vector's for the TesselPoints have to be deleted as well, as the TesselPoints normally only receive referencing pointers.
    19454 
    19455 commit 1ec0ac63d83df755053c48055c76f402e1c5c902
    19456 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19457 Date:   Fri Feb 26 10:58:39 2010 +0100
    19458 
    19459     MEMLEAK: Lots of Free() have been forgotten after Malloc's at start of test.
    19460 
    19461 commit b84d5d887c607974a6694af1e78cac21610ef23f
    19462 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19463 Date:   Fri Feb 26 10:55:28 2010 +0100
    19464 
    19465     FIX: operator implementation of Vector algebra was wrong and caused memory leaks.
    19466    
    19467     - operator+, operator- and operator* were implemented as creating new Vectors and returning its pointer instead of creating an object and returning it as constant. This would cause memory leaks, as these pointers in complex algebraic expressions would never get free'd.
    19468     - return values of operatorx= with x in {+,-,*} have been made const (suggested by Meyers' Effective C++)
    19469 
    19470 commit e3cbf97c293811b5928773af7f284b764b0a5796
    19471 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19472 Date:   Fri Feb 26 10:54:46 2010 +0100
    19473 
    19474     FIX: Values in FindNonConvexBorder() and molecule::ConstrainedPotential() were used uninitialized.
    19475 
    19476 commit aac3ef87f192e64ea709f56ccca66a2af5a41c9e
    19477 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19478 Date:   Fri Feb 26 10:54:12 2010 +0100
    19479 
    19480     FIX: Replaced memoryusageobserverunittest.hpp include by correct memoryusageobserver.hpp
    19481 
    19482 commit cf1a078eef5d2d8b8e2b885b2c189c3438c2fc24
    19483 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19484 Date:   Thu Feb 25 17:56:16 2010 +0100
    19485 
    19486     FIX: repaired some access violation of STL-iterators in Observer and ActionRegistry
    19487 
    19488 commit cbc5fbee9bc58a85fd5fabd2d6648d52abe180a2
    19489 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19490 Date:   Thu Feb 25 17:43:02 2010 +0100
    19491 
    19492     Made the world solely responsible for creating and erasing molecules.
    19493 
    19494 commit 93c8edec6e217e70e348d05fa8a94e80f6fb8eb9
    19495 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19496 Date:   Thu Feb 25 16:21:22 2010 +0100
    19497 
    19498     MEMLEAK: mismatched delete/free, matrix in GSLMatrix::Transpose() was delete'd not gsl_matrix_free'd.
    19499 
    19500 commit d5af3e0a0d115abdddb56bb713435a7cfb057dc9
    19501 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19502 Date:   Thu Feb 25 16:18:30 2010 +0100
    19503 
    19504     FIX: constructor of element now is shortened and all its member variables initialized (thx to BondGraphUnitTest).
    19505 
    19506 commit 9d4c2000b03ca725f4141ae2b45d836326d54159
    19507 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19508 Date:   Thu Feb 25 16:18:06 2010 +0100
    19509 
    19510     MEMLEAK: Tesselation::CorrectAllDegeneratedPolygons() forgot to remove DegeneratedTriangles.
    19511 
    19512 commit 028c2eb520e9fa02c50f97aa4eb9aa5a4956d04e
    19513 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19514 Date:   Thu Feb 25 16:17:47 2010 +0100
    19515 
    19516     MEMLEAK: World class did not neither signOff() nor remove its molecules_deprecated.
    19517 
    19518 commit f72703503b2232f1a88ca6d29f1b3ccbd56c97b2
    19519 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19520 Date:   Thu Feb 25 16:06:38 2010 +0100
    19521 
    19522     MEMLEAK: ActOnAllTest forgot to delete the copied VectorList Ref and the MemoryUsageObserver, and in ScaleTest() factors and inverses array were not Free'd.
    19523 
    19524 commit f59d81341edf35014c8be2383062512cf6694cf6
    19525 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19526 Date:   Thu Feb 25 16:05:05 2010 +0100
    19527 
    19528     MEMLEAK: created ActionSequence was not deleted at the end of some tests.
    19529 
    19530 commit c296c2bf71b3778d7fcc1a7d31edff3c7ecb08e7
    19531 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19532 Date:   Thu Feb 25 15:32:35 2010 +0100
    19533 
    19534     MEMLEAK: Observable::signOff() erases its own iterator, some more documentation added
    19535    
    19536     - Observable::signOff() erases a given Observer from the Observer list, but it had no backup iterator to go on afterwards.
    19537 
    19538 commit cbf01e67188dd162136b08f9f75f53c90cde64b9
    19539 Merge: 326a43b 5a72431
    19540 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19541 Date:   Thu Feb 25 15:23:33 2010 +0100
    19542 
    19543     Merge branch 'MenuRefactoring' into QT4Refactoring
    19544    
    19545     Conflicts:
    19546    
    19547         molecuilder/src/Actions/Process.cpp
    19548         molecuilder/src/Actions/Process.hpp
    19549         molecuilder/src/Actions/small_actions.hpp
    19550         molecuilder/src/Makefile.am
    19551         molecuilder/src/UIElements/TextDialog.cpp
    19552         molecuilder/src/World.cpp
    19553         molecuilder/src/unittests/Makefile.am
    19554 
    19555 commit 9b6b2f5c5519a056450ae40ab8f2ff0d0476d809
    19556 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19557 Date:   Thu Feb 25 15:17:15 2010 +0100
    19558 
    19559     Tests now work with Eclipse ECUT's TestRunner.
    19560    
    19561     - new switch in configure.ac: --enable-ecut
    19562     - all tests are compiled as single test as before
    19563     - and a new TestRunner test suite that combines all test into a single executable which can be run as CppUnit program in Eclipse (and then gives JUnit like output).
    19564 
    19565 commit 5a72431ddcfef19d649bae76105e9be7c354b7aa
    19566 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19567 Date:   Thu Feb 25 14:01:36 2010 +0100
    19568 
    19569     Added a method to query Elements using the Dialog structure
    19570 
    19571 commit 957c4236611c50354d1be29ba7a8f0bd3c17e8e7
    19572 Merge: 0188ea2 244d265
    19573 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19574 Date:   Thu Feb 25 12:15:22 2010 +0100
    19575 
    19576     Merge branch 'StructureRefactoring' into MenuRefactoring
    19577 
    19578 commit 244d26586ddc827088fbe4ebefb4ab1e79777861
    19579 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19580 Date:   Thu Feb 25 12:02:53 2010 +0100
    19581 
    19582     Removed unittest files from the documentation
    19583 
    19584 commit d2dbac02371bc4bee8282cbe021c353e01009dd0
    19585 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19586 Date:   Thu Feb 25 11:50:54 2010 +0100
    19587 
    19588     moved Iterators for the World to a seperate file
    19589 
    19590 commit 0e2a479de952e453e6f956e78d72739043a4c7a5
    19591 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19592 Date:   Thu Feb 25 11:32:14 2010 +0100
    19593 
    19594     Added overloaded methods for all methods in the world taking an AtomDescriptor
    19595 
    19596 commit f16a4be57592953464b3be117545615b04328223
    19597 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19598 Date:   Thu Feb 25 11:18:50 2010 +0100
    19599 
    19600     Added Descriptor that allows querying of atoms by their type
    19601 
    19602 commit 02ee152fb4a2671e1975d6205dec5168dd7e7ee7
    19603 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19604 Date:   Wed Feb 24 17:44:58 2010 +0100
    19605 
    19606     Improved documentation of the World-class
    19607 
    19608 commit 46d9587b2240f976c33474cc5e1ab83d919036b3
    19609 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19610 Date:   Wed Feb 24 16:29:12 2010 +0100
    19611 
    19612     Made the world solely responsible for creating and destroying atoms.
    19613 
    19614 commit 68510095656406d3fa340540ead2947109c3d4c2
    19615 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19616 Date:   Wed Feb 24 14:17:55 2010 +0100
    19617 
    19618     BUGFIX: Tesselation test failed for all molecules on very first run in clean build directory.
    19619    
    19620     - Fail was caused by rmdir instead of rm -rf, only the latter can delete directories with contents.
    19621 
    19622 commit 775d1332dac2d98e150640bab72e75a8a55d0a66
    19623 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19624 Date:   Sun Feb 21 14:34:41 2010 +0100
    19625 
    19626     Filling has a MaxDistance, somes changes to the Correlation Analysis.
    19627    
    19628     Correlation:
    19629     - OutputCorrelation() have setprecision(8), as irregularities appeared in the output files with regard to the number of digits.
    19630     - ParseCommandLineOptions() for case 'C' now needs BinStart and BinEnd. However, may be set to 0,0 (search for yourself), or (0,-1) (start at 0, but search end for yourself).
    19631     - BUGFIX: argument index of element parameter was wrong from the change [E/P/S].
    19632    
    19633     Filling:
    19634     - PrepareClustersinWater() has new parameter MaxDistance, which is similar to Boundary only for the maximum thickness of water layer.
    19635     - ParseCommandLineOptions() has new option -FF, if MaxDistance is set to -1, it is ignored.
    19636 
    19637 commit b54ac804770af8e83f6b370746a4c0eba37f99f5
    19638 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19639 Date:   Fri Feb 19 15:31:56 2010 +0100
    19640 
    19641     Added templates that allow arbitrary calculations on atoms to be mapped to sets of Atoms
    19642 
    19643 commit afb47f9975466cee3a9f4f362aa7bf8f6944ffd4
    19644 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19645 Date:   Fri Feb 19 12:49:54 2010 +0100
    19646 
    19647     Added a mechanism that allows the world to track changes done by the manipulators
    19648 
    19649 commit 7c4e29a0f614d09ec830c9b5de3be33450d2e688
    19650 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19651 Date:   Fri Feb 19 12:31:39 2010 +0100
    19652 
    19653     Added a class that allows constructing Processes that have a result
    19654 
    19655 commit b2cfdbdfdd88b6e10f0f70324107b161c29c6fb8
    19656 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19657 Date:   Thu Feb 18 17:46:07 2010 +0100
    19658 
    19659     Added a method that allows manipulation of selected atoms
    19660 
    19661 commit 865a945a9d2eacb1afa6069866839972485957de
    19662 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19663 Date:   Thu Feb 18 14:21:35 2010 +0100
    19664 
    19665     Added iterator structure that allows iterating over selected atoms in the World.
    19666 
    19667 commit 0188ea2bebbe43e54233f62612634be31cd08d9b
    19668 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19669 Date:   Thu Feb 18 12:38:02 2010 +0100
    19670 
    19671     Added a progress indicator for the text menu
    19672 
    19673 commit 7dad108da502aed41b703eec7a4b7305cc930a90
    19674 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19675 Date:   Wed Feb 17 18:07:35 2010 +0100
    19676 
    19677     Added a special class of Actions that take some time.
    19678 
    19679 commit 326a43bd17e3087bcceb5c16ee5ed98deff54ee1
    19680 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19681 Date:   Wed Feb 17 18:07:35 2010 +0100
    19682 
    19683     Added a special class of Actions that take some time.
    19684     Added a statusbar to the window that shows world status and progress of the current processes.
    19685 
    19686 commit b1d8092d9ec052987057bfe8c1db017ea5905816
    19687 Merge: 7ba3248 3548592
    19688 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19689 Date:   Wed Feb 17 12:15:27 2010 +0100
    19690 
    19691     Merge branch 'StructureRefactoring' into QT4Refactoring
    19692    
    19693     Conflicts:
    19694    
    19695         molecuilder/src/Makefile.am
    19696         molecuilder/src/builder.cpp
    19697         molecuilder/src/unittests/Makefile.am
    19698 
    19699 commit 3548592787dc5efb58b2018c79af1646956f3fc3
    19700 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19701 Date:   Tue Feb 16 18:26:59 2010 +0100
    19702 
    19703     Moved control of molecules and periode to World.
    19704 
    19705 commit 7a1ce5357081767198c4e7f7e867143f5d19dda0
    19706 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19707 Date:   Tue Feb 16 17:24:07 2010 +0100
    19708 
    19709     Rebuilt AtomDescriptors using PIMPL-Idiom and added unittest for descriptors
    19710 
    19711 commit d1c5e2c1e093b9756002d8db06bda62bdb2c9057
    19712 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19713 Date:   Mon Feb 8 17:23:03 2010 +0100
    19714 
    19715     Improved Descriptor mechanism to allow calculations using descriptors.
    19716 
    19717 commit 164a33ff15a1bf3ee4cf3384e5372f87f6e826e0
    19718 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19719 Date:   Mon Feb 8 16:26:30 2010 +0100
    19720 
    19721     changed case 'C' of ParseCommandLineOptions to allow selecting between the three different pair correlation analysis functions.
    19722    
    19723     - case 'C' now expects additional first parameter: A type which is E, S or P for element, surface or pair. Via a switch it selects either of the three functions.
    19724    
    19725     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    19726 
    19727 commit fc1b2481dd4f072d50b8fb757f2617ea848df96d
    19728 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19729 Date:   Fri Feb 5 17:25:40 2010 +0100
    19730 
    19731     Added descriptors that allow multiple kinds of access to atoms
    19732 
    19733 commit d346b6bac7946bcc3b5530055071dd5ee3239ab7
    19734 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19735 Date:   Fri Feb 5 16:19:27 2010 +0100
    19736 
    19737     Made all atoms register themselves with the world upon creation
    19738 
    19739 commit 4d9c01f8014759f2f19a4f8d375d102f00f3be13
    19740 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19741 Date:   Fri Feb 5 15:53:21 2010 +0100
    19742 
    19743     Fixed some problems with the usage of Boost::threads
    19744 
    19745 commit 4422186ce5812cc3d3934d314a917aef810dc888
    19746 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19747 Date:   Fri Feb 5 14:01:57 2010 +0100
    19748 
    19749     Added a directory to quarantine files that should be completely removed during transition.
    19750    
    19751     - Usage of Files in this directory is necessary while transition is in progress, but highly deprecated
    19752 
    19753 commit 50fc88c7a34d87fa03f0a01e626ca5bc3c374975
    19754 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19755 Date:   Fri Feb 5 13:43:39 2010 +0100
    19756 
    19757     Made the Observer RAII-Pattern more secure.
    19758 
    19759 commit 2ba827e737ea7333505df6e2640b2fab96158b1b
    19760 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19761 Date:   Wed Feb 3 17:42:06 2010 +0100
    19762 
    19763     Changed all observed places to new observer structure
    19764 
    19765 commit 317df86b76e0cf3898e566e6ebbd6b9fafddff25
    19766 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19767 Date:   Wed Feb 3 17:31:45 2010 +0100
    19768 
    19769     Changed Observer to use RAII-style for locking changes.
    19770 
    19771 commit 5d1611d4d063c3463b8409c51f533df160c3fda8
    19772 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19773 Date:   Wed Feb 3 17:02:14 2010 +0100
    19774 
    19775     Started development of World Class
    19776 
    19777 commit 314ff69958d03f134cae90c376a3c32e39b3485a
    19778 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19779 Date:   Wed Feb 3 15:11:22 2010 +0100
    19780 
    19781     Assigned best priority to cached values.
    19782 
    19783 commit 0c1d972b5cd5790e8579c86f2e76863867a9c955
    19784 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19785 Date:   Wed Feb 3 15:07:23 2010 +0100
    19786 
    19787     Added mechanism that allows for assign priorities to observers
    19788 
    19789 commit 9ad39100c520f261ac05516e4832db65f031d140
    19790 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19791 Date:   Tue Feb 2 17:46:29 2010 +0100
    19792 
    19793     Added possibility to disable caching mechanism at compile time
    19794 
    19795 commit f721c640ec1d531c6aabbc1c140b99499b4a3ebf
    19796 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19797 Date:   Tue Feb 2 17:22:22 2010 +0100
    19798 
    19799     Made more methods of the molecule observable
    19800 
    19801 commit ac9b567dcfceb87f9ec160392d8deff13fa247d5
    19802 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19803 Date:   Tue Feb 2 16:53:04 2010 +0100
    19804 
    19805     Added simple way to retrieve formula of a molecule using caching
    19806 
    19807 commit e3c8b48df554e40282fa946732e1c422ed66a415
    19808 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19809 Date:   Tue Feb 2 16:35:09 2010 +0100
    19810 
    19811     Added data structure to allow caching of derived values
    19812 
    19813 commit 6b59ab3832bf8abed2607c36831a5ee7109fb5d7
    19814 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19815 Date:   Tue Feb 2 13:38:01 2010 +0100
    19816 
    19817     Added planned new class-layout
    19818 
    19819 commit 7ba32480c6ee485679ff404928821f626f604ed1
    19820 Merge: b8d1aeb a25aaef
    19821 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19822 Date:   Tue Feb 2 13:36:38 2010 +0100
    19823 
    19824     Merge branch 'MenuRefactoring' into QT4Refactoring
    19825    
    19826     Conflicts:
    19827    
    19828         molecuilder/src/Actions/small_actions.cpp
    19829         molecuilder/src/Makefile.am
    19830         molecuilder/src/unittests/Makefile.am
    19831 
    19832 commit a25aaef9d5e29b313b0a893b49836d905405be2b
    19833 Merge: 520c8b5 1f1b23c
    19834 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19835 Date:   Tue Feb 2 13:22:06 2010 +0100
    19836 
    19837     Merge commit 'heber/Analysis_PairCorrelation' into MenuRefactoring
    19838 
    19839 commit 520c8b507bae79bf8378d88c7c0636da4565faa5
    19840 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19841 Date:   Fri Jan 15 16:53:29 2010 +0100
    19842 
    19843     Moved method to rename molecules to a seperate Action
    19844 
    19845 commit bfce50c9e2b9df88b6278b3ae642519e27baf14a
    19846 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19847 Date:   Fri Jan 15 16:53:29 2010 +0100
    19848 
    19849     Moved method to rename molecules to a seperate Action
    19850 
    19851 commit d5f2169f6714e2ce2f8c4379d8e1059f7a6c430d
    19852 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19853 Date:   Thu Jan 21 15:01:16 2010 +0100
    19854 
    19855     Added a view that displays all molecules using a QTableWidget
    19856 
    19857 commit 63c1f67df77cc8176b6c0383d0c9e95cea19ac9f
    19858 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19859 Date:   Tue Feb 2 12:52:04 2010 +0100
    19860 
    19861     Added generic observer pattern framework.
    19862     (cherry picked from commit 7bc7ce52eb7b4d606d90f49cbfa9da7a300c5d82)
    19863    
    19864     Conflicts:
    19865    
    19866         molecuilder/src/Makefile.am
    19867         molecuilder/src/unittests/Makefile.am
    19868 
    19869 commit b8d1aeb22373c5d1fad99d7977d1fe361a9c5313
    19870 Merge: 9fe36bb 2ededc2
    19871 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19872 Date:   Tue Feb 2 12:38:06 2010 +0100
    19873 
    19874     Merge branch 'MenuRefactoring' into QT4Refactoring
    19875    
    19876     Conflicts:
    19877    
    19878         molecuilder/src/Makefile.am
    19879         molecuilder/src/builder.cpp
    19880         molecuilder/src/unittests/Makefile.am
    19881 
    19882 commit 1f1b23c1a3375bf711b272a532147453a51502c3
    19883 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19884 Date:   Tue Feb 2 10:43:52 2010 +0100
    19885 
    19886     Possibility to store all bonds to file added.
    19887    
    19888     So far we only could store the adjacency (i.e. atom along with all bond partners per line) to file.
    19889     For plotting molecules with pgfplots (and maybe for other purposes too) we need to have single tupels of two per line.
    19890     Hence, the following additions were implemented:
    19891    
    19892     - new functions: BondedParticle::OutputBonds(), molecule::StoreBondsToFile()
    19893     - new ParseCommandLineOption: J stores adjacency, j stores bonds.
    19894 
    19895 commit 790807641151d4c499215c0701bd03f85f497e00
    19896 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19897 Date:   Sat Jan 30 20:00:47 2010 +0100
    19898 
    19899     Output....Correlation() don't prepend header line with '#', BinData() changed to just calculate BinEnd by itself.
    19900    
    19901     - BinData(): If BinEnd < BinStart, BinStart is taken over and just BinEnd calculate by GetMinMax().
    19902     - this is needed for many histograms to be added on top of one another, there we need to have the same bins in each.
    19903     - in all Output..Correlation() functions the '#' was eliminiated as pgfplots does not like it.
    19904 
    19905 commit d6eb8049299b893a41599fd1c5f5c0c9c90f7bee
    19906 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19907 Date:   Sat Jan 30 19:04:05 2010 +0100
    19908 
    19909     FIX: FillBoxWithMolecule() - seed of random number generator was not set to current time.
    19910    
    19911     - This caused always the same fillings for the same set of parameters.
    19912 
    19913 commit 481601f903142b98da8a0a66523211e207373da7
    19914 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19915 Date:   Sat Jan 30 18:35:48 2010 +0100
    19916 
    19917     Added output of surfacemap in ParseCommandLineOptions(), case 'C' again.
    19918 
    19919 commit 2ededc23ca840f65c2141748eec08536adbb27d6
    19920 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19921 Date:   Thu Jan 28 14:02:49 2010 +0100
    19922 
    19923     Added possibility to query doubles and vectors using dialogs.
    19924 
    19925 commit 9fe36bb58ae84b51bb9fe0b8a94b9434f7bf9e41
    19926 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19927 Date:   Wed Jan 27 14:00:42 2010 +0100
    19928 
    19929     Seperated QT and menu parts from the rest of the build process
    19930 
    19931 commit 04b6f9c4cd8d885f794fa20c327103eb776d9cb1
    19932 Merge: 1ca488f 244a84a
    19933 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19934 Date:   Wed Jan 27 15:36:09 2010 +0100
    19935 
    19936     Merge commit 'heber/Analysis_PairCorrelation' into MenuRefactoring
    19937    
    19938     Conflicts:
    19939    
    19940         molecuilder/src/unittests/Makefile.am
    19941 
    19942 commit cef1d776bded0efe18d839a872aa9663f38401d0
    19943 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19944 Date:   Tue Jan 26 17:25:25 2010 +0100
    19945 
    19946     Added basic structure for a GL-Visualization of molecules.
    19947 
    19948 commit 244a84acead8d11574763c52af776b344fd46c40
    19949 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19950 Date:   Tue Jan 26 13:52:31 2010 +0100
    19951 
    19952     GetDistanceToSurface() separated, filling now with water instead of boron, DissectMoleculeIntoConnectedSubgraphs() now working on list of molecules instead of single one.
    19953    
    19954     - MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs() so far was working on a single molecule (given by parameter) instead of the list already contained in the list of its class.
    19955     - Tesselation::GetDistanceSquaredToSurface() is split up into function of same name, which calls finds the closest triangle and calls Tesselation::GetDistanceSquaredToTriangle() which contains the former code.
    19956     - PeriodicCorrelationToSurface() was adapted to the above split.
    19957     - in tesselation.cpp lots of list<> and set<>s were replaced by the already present and appropriate define's.
    19958    
    19959     - small verbosity changes in: MatrixContainer::ParseMatrix(), TesselPoint::TesselPoint(), TesselPoint::~TesselPoint(), PointCloud::PointCloud(), PointCloud::~PointCloud(), Tesselation::GuessStartingTriangle(), BondGraph::LoadBondLengthTable() (status of parsing gives appropriate message).
    19960    
    19961     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    19962 
    19963 commit 1ca488f7e320046e400e980657d7c0d91e0356ae
    19964 Merge: 8927aea 1cf5df4
    19965 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19966 Date:   Tue Jan 26 13:45:41 2010 +0100
    19967 
    19968     Merge commit 'heber/Analysis_PairCorrelation' into MenuRefactoring
    19969    
    19970     Conflicts:
    19971    
    19972         Makefile.am
    19973         molecuilder/src/Makefile.am
    19974         molecuilder/src/builder.cpp
    19975         molecuilder/src/unittests/Makefile.am
    19976 
    19977 commit 315164b6c8e5a1302b98d6dd1aefc8ede4ec56b5
    19978 Merge: 498ea07 f34def7
    19979 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19980 Date:   Tue Jan 26 13:41:04 2010 +0100
    19981 
    19982     Merge branch 'FixVersioning3' into Analysis_PairCorrelation
    19983 
    19984 commit f34def7cdde1404608ef61377d53e30b1c5d0bdb
    19985 Author: Frederik Heber <heber@ins.uni-bonn.de>
    19986 Date:   Tue Jan 26 13:32:00 2010 +0100
    19987 
    19988     Fixed versioning.
    19989    
    19990     - FIX: version.h was falsely excluded in .gitignore
    19991     - FIX: version.h in pcp/src, molecuilder/src and util/src was not added to repository.
    19992     - note that version.c is created by the Makefile, hence is still present in .gitignore and rightly so.
    19993    
    19994     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    19995 
    19996 commit 90082e20801741a0b3e7548834439421c48542ac
    19997 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    19998 Date:   Thu Jan 21 16:19:05 2010 +0100
    19999 
    20000     Enabled editing of molecule names
    20001 
    20002 commit 6adb960b2da881f6d14a84d5494d2b32a4790b0d
    20003 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20004 Date:   Thu Jan 21 15:45:25 2010 +0100
    20005 
    20006     Added possibility for views to catch name changes of molecules
    20007 
    20008 commit 57ee0d5caa59d7fc4f63f27545616746ba78b243
    20009 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20010 Date:   Thu Jan 21 15:01:16 2010 +0100
    20011 
    20012     Added a view that displays all molecules using a QTableWidget
    20013 
    20014 commit f8879dd41341e9b0285c43f7d9eec41d28414400
    20015 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20016 Date:   Thu Jan 21 12:11:05 2010 +0100
    20017 
    20018     Added generic observer pattern framework.
    20019 
    20020 commit d3a5ead8be3ae6a9161abdae5f08e8d3a79f81c0
    20021 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20022 Date:   Tue Jan 19 11:51:07 2010 +0100
    20023 
    20024     Added dialogs for QT.
    20025    
    20026     So far QTDialogs can query the same types a TextDialog can query.
    20027 
    20028 commit a6f18095d659beb050ae15e28ec345f8bb72d26e
    20029 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20030 Date:   Fri Jan 15 16:53:29 2010 +0100
    20031 
    20032     Moved method to rename molecules to a seperate Action
    20033 
    20034 commit fa27ed6e67dc2377992b473bb19c8211f6e48f82
    20035 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20036 Date:   Fri Jan 15 15:59:35 2010 +0100
    20037 
    20038     Added support to call MenuItems using QT4
    20039 
    20040 commit 498ea07d7fcc0fdeb6f45c601642ecac6893a4a2
    20041 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20042 Date:   Thu Jan 14 19:06:40 2010 +0100
    20043 
    20044     BUGFIX: Tesselation::IsInnerPoint() returned wrong result.
    20045    
    20046     - We compared resulf of GetDistanceSquaredToSurface by > MYEPSILON instead of <.
    20047    
    20048     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20049 
    20050 commit 124e14bf4f760cd397f977301cf1ef36d16a1c9c
    20051 Merge: e9c677d 76102e6
    20052 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20053 Date:   Thu Jan 14 18:46:24 2010 +0100
    20054 
    20055     Merge branch 'FixTemplatedMinMax' into FixFillingWithMolecule
    20056 
    20057 commit 76102e670e79f1e76c1a1a9ce5ea225e0bb59a1d
    20058 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20059 Date:   Thu Jan 14 18:45:22 2010 +0100
    20060 
    20061     Rather use parameter passing by value instead of reference.
    20062    
    20063     - We cannot use Min/Max for temporaries such as return values.
    20064    
    20065     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20066 
    20067 commit e9c677d36c2ee0c059231c45bd7a649b0b8198de
    20068 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20069 Date:   Thu Jan 14 18:43:34 2010 +0100
    20070 
    20071     Unit test for BoundaryTriangleSet member functions added.
    20072    
    20073     - for now tests for BoundaryTriangleSet::GetClosestPointInsideTriangle() is tested and working.
    20074    
    20075     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20076 
    20077 commit 9473f6f36450986817e318b8952505cf40c6b6a1
    20078 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20079 Date:   Thu Jan 14 18:36:09 2010 +0100
    20080 
    20081     FillBoxWithMolecule now allows boundary between filler molecules and the surface.
    20082    
    20083     - boundary.cpp:
    20084       - FillBoxWithMolecule() has additional parameter boundary and calls Tesselation::GetDistanceSquaredToSurface() to obtain distance to surface.
    20085       - FillBoxWithMolecule(*) verbosity states now inner point or within boundary.
    20086    
    20087     - builder.cpp:
    20088       - ParseCommandLineOptions() in case 'F' takes seven arguments instead of six and calls FillBoxWithMolecule() correctly.
    20089    
    20090     - tesselation.cpp:
    20091       - Make const what needs to be const: BoundaryPointSet, BoundaryLineSet, BoundaryTriangleSet
    20092       - added constructor BoundaryLineSet::BoundaryLineSet() that accept two endpoints instead of an array of two
    20093       - new function BoundaryTriangleSet::GetClosestPointInsideTriangle() calculates closest point in a given triangle to a reference point and returns squared distance.
    20094       - new function Tesselation::GetDistanceSquaredToSurface() that calculates the squared distance whose sign indicates whether reference is inside (-) or outside (+) and uses BoundaryTriangleSet::GetClosestPointInsideTriangle()
    20095       - function Tesselation::IsInnerPoint() renamed to Tesselation::GetDistanceSquaredToSurface().
    20096       - new function Tesselation::IsInnerPoint() just uses Tesselation::GetDistanceSquaredToSurface()
    20097 
    20098 commit 7b36fe340af5ac8dae85c5c94b0f1c47d61da462
    20099 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20100 Date:   Thu Jan 14 18:32:47 2010 +0100
    20101 
    20102     Changed verbosity for Vector::GetIntersectionWithPlane().
    20103    
    20104     - when line is parallel to plane this is stated as good or bad, not as error.
    20105     - Vector::GetIntersectionOfTwoLinesOnPlane() - unused variable pfactor removed
    20106 
    20107 commit 8f67e29bbd34e9ce94aee9268529374212618b74
    20108 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20109 Date:   Thu Jan 14 17:21:02 2010 +0100
    20110 
    20111     Started actual presentation of the GUI Window
    20112 
    20113 commit ea94a8adcea12b6f8cf88a9d54bb7644629c360e
    20114 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20115 Date:   Thu Jan 14 15:50:36 2010 +0100
    20116 
    20117     Added a UIFactory for construction of QT4 UIElements
    20118 
    20119 commit 3027f8c08886536cc3c48b3e9a171ffbea833152
    20120 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20121 Date:   Thu Jan 14 14:40:44 2010 +0100
    20122 
    20123     Build basis for a QT4 User interface
    20124    
    20125     - Added compilation rules for QT4 UI
    20126 
    20127 commit 8927aea618e98da8efa6063fbc8051a49ba83154
    20128 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20129 Date:   Wed Jan 13 12:14:43 2010 +0100
    20130 
    20131     Made embeddMolecules menu-point use the new dialog framework
    20132 
    20133 commit 48b47a2e45bcd678b981a71430946c2d99682229
    20134 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20135 Date:   Wed Jan 13 15:01:55 2010 +0100
    20136 
    20137     FillWithMolecule() is now working correctly.
    20138    
    20139      - FillWithMolecule() was almost working except for some positions very much outside. The problem was that a single closest point was found and its first line seen as shortest, despite all other connected lines were equally short due the point always being the one with shortest distance. This kept triangles better aligned from being excluded as they not necessarily belong to the first line
    20140     - This was fixed by introducing a LineSet ClosestLines in Tesselation::FindClosestTrianglesToVector().
    20141       - If a candidate has equal distance, he is added to the list.
    20142       - If a candidate has smaller distance, the list is cleared beforehand.
    20143       - As only the adjacent triangles of the found lines are returned, depending routines don't notice the change.
    20144    
    20145     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20146 
    20147 commit 9dbea5f1b6a8a9f9ba2cee284461dde66674804d
    20148 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20149 Date:   Wed Jan 13 15:01:30 2010 +0100
    20150 
    20151     Templated Min and Max functions added.
    20152    
    20153     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20154 
    20155 commit 8468cbc62c0387957c05d1be63c5b0450f3601b3
    20156 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20157 Date:   Wed Jan 13 15:00:14 2010 +0100
    20158 
    20159     Boolean return value of Tesselation::IsInnerPoint in FillWithMolecule() was wrong way round.
    20160    
    20161     - position is outer point if IsInnerPoint returns false, then FillResult should be true (this was amended by filling when FillIt was false). Fixed.
    20162    
    20163     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20164 
    20165 commit fc9992d3a6ed99363516d12315df3de770c6335c
    20166 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20167 Date:   Wed Jan 13 14:30:01 2010 +0100
    20168 
    20169     Small fixes to make checks working again.
    20170    
    20171     - Tesselations tests 13 and 14 were not working due to two triangles being flipped in .dat
    20172     - Tesselations tests 13, 14 and 15 were not working due to positions changed in .r3d due to GetCenter() being replaced by new/zero vector.
    20173       was fixed by copying created .r3d and .dat files on top of present ones in regression folder.
    20174    
    20175     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20176 
    20177 commit abc967a6094f7e796599b302620784209216bfbd
    20178 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20179 Date:   Wed Jan 13 12:14:43 2010 +0100
    20180 
    20181     Made embeddMolecules menu-point use the new dialog framework
    20182 
    20183 commit 29a4ccd8507165b11cde7870fc327a78fbf2f4c6
    20184 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20185 Date:   Wed Jan 13 12:05:17 2010 +0100
    20186 
    20187     Used new Query Infrastructure for SimpleAdd menupoint
    20188 
    20189 commit 7aa00055d960e70638224d627feb8e64a28f9730
    20190 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20191 Date:   Wed Jan 13 11:51:30 2010 +0100
    20192 
    20193     Added infrastructure to query molecules from MoleculeList
    20194 
    20195 commit 45f5d6c9765964e165f92356c6f5d155ec541135
    20196 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20197 Date:   Wed Jan 13 11:22:29 2010 +0100
    20198 
    20199     Changed dialog structure to  use objects for queries.
    20200 
    20201 commit aab2b1b96129d975cf20e4bb5913abf3b610eda7
    20202 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20203 Date:   Mon Jan 11 11:40:20 2010 +0100
    20204 
    20205     Removed some unessecary methods from oldMenu
    20206 
    20207 commit 2414857c3831ba1486a06bbb005a62df4f3e9c11
    20208 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20209 Date:   Mon Jan 11 10:35:52 2010 +0100
    20210 
    20211     Removed unnecessary epsilon parameter.
    20212    
    20213     - epsilon before was used as a threshold parameter but is not needed anymore.
    20214     - removed as parameter in case 'F' in builder.cpp
    20215     - removed from Tesselation::IsInnerPoint()
    20216     - removed from FillBoxWithMolecul() in boundary.?pp
    20217 
    20218 commit fee69b843bd5d32a84f98c5e371186c1bb704c1c
    20219 Author: Frederik Heber <heber@tabletINS.(none)>
    20220 Date:   Mon Jan 11 10:13:49 2010 +0100
    20221 
    20222     Fixed Tesselation::IsInnerPoint()
    20223    
    20224     - Both unit tests TesselationInsideOutsideTest and VectorUnitTest are working (and also all others btw);
    20225     - FIX: BoundaryTriangleSet::GetIntersectionInsideTriangle() - checks whether intersection is one endpoint and performs the GetIntersectionOfTwoLinesOnPlane() right away to check whether we are inside of triangle
    20226     - FIX: Vector::GetIntersectionOfTwoLinesOnPlane() - parallelity is now checked correctly and in accordance with interface description fixed in VectorUnitTest.
    20227    
    20228     Signed-off-by: Frederik Heber <heber@tabletINS.(none)>
    20229 
    20230 commit fcad4b799965ab6d28e3051334372d1abd613525
    20231 Author: Frederik Heber <heber@tabletINS.(none)>
    20232 Date:   Mon Jan 11 04:06:30 2010 +0100
    20233 
    20234     InsideOutside unit test of tesselation is working correctly.
    20235    
    20236     - FIX: BoundaryTriangleSet::GetIntersectionInsideTriangle() - don't need helper, just check whether CrossPoint is returned (and true) for all of the three sides.
    20237     - FIX: Tesselation::IsInnerPoint() - projection onto plane and stuff was nonsense, just take the Point ans Intersection which is on the plane anyway.
    20238     - FIX: Vector::GetIntersectionOfTwoLinesOnPlane() - coefficient MUST be zero (then vectors are coplanar), but parallelity check was missing. Also, we have to check whether s is in [0,1] in order to see whether we are inside the triangle side or outside.
    20239    
    20240     Signed-off-by: Frederik Heber <heber@tabletINS.(none)>
    20241 
    20242 commit 68a53bfd326c1b3c6ea381d5fcb0614ae779b0f4
    20243 Author: Frederik Heber <heber@tabletINS.(none)>
    20244 Date:   Mon Jan 11 04:04:59 2010 +0100
    20245 
    20246     BUGFIX - Test was wrong in upper bounds of inside area.
    20247    
    20248     - upper bounds were checked as sum_i fabs(x_i) <= 1, which is wrong, for a box any of each coordinate may be 1.
    20249    
    20250     Signed-off-by: Frederik Heber <heber@tabletINS.(none)>
    20251 
    20252 commit 865272fcb494e2b53b4e6914346384ce617248de
    20253 Author: Frederik Heber <heber@tabletINS.(none)>
    20254 Date:   Sun Jan 10 20:25:50 2010 +0100
    20255 
    20256     Added Determinant() function to class GSLMatrix.
    20257    
    20258     - new function GSLMatrix::Determinant() which calculates the determinant for square matrices by LU decomposition.
    20259    
    20260     Signed-off-by: Frederik Heber <heber@tabletINS.(none)>
    20261 
    20262 commit 2793efb558f578fa40965e9c4d2048056459c45c
    20263 Author: Frederik Heber <heber@tabletINS.(none)>
    20264 Date:   Sun Jan 10 20:24:58 2010 +0100
    20265 
    20266     FIX - GSLVector::Set() return value was double instead of void.
    20267    
    20268     Signed-off-by: Frederik Heber <heber@tabletINS.(none)>
    20269 
    20270 commit 9d63085898763e9d41d3cc3415931f494fb5f371
    20271 Author: Frederik Heber <heber@tabletINS.(none)>
    20272 Date:   Sun Jan 10 20:24:02 2010 +0100
    20273 
    20274     Vector::GetIntersectionOfTwoLinesOnPlane() rewritten.
    20275    
    20276     Use routine suggested by Eric Weisstein of Wolfram, which is basically what we did before the matrix attempt.
    20277    
    20278     Signed-off-by: Frederik Heber <heber@tabletINS.(none)>
    20279 
    20280 commit 31a6af013bfb4720b6f119e5968fc50a724596a6
    20281 Author: Frederik Heber <heber@tabletINS.(none)>
    20282 Date:   Sun Jan 10 20:15:01 2010 +0100
    20283 
    20284     libgslwrapper.a added to LDADD of most tests.
    20285    
    20286     Since Vector class uses GSLMatrix in Vector::GetIntersectionOfTwoLinesOnPlane(), we need the lib where ever we have libmolecuilder.a.
    20287    
    20288     Signed-off-by: Frederik Heber <heber@tabletINS.(none)>
    20289 
    20290 commit a5a630eae70b84b4135d54b0aefc6fc22cf9242f
    20291 Author: Frederik Heber <heber@tabletINS.(none)>
    20292 Date:   Sun Jan 10 20:12:40 2010 +0100
    20293 
    20294     BUGFIX - GetCenterOfSphere(): condition were not put correctly in brackets.
    20295    
    20296     Signed-off-by: Frederik Heber <heber@tabletINS.(none)>
    20297 
    20298 commit ebe4d673a66c9047893c4fef730364c334110007
    20299 Author: Frederik Heber <heber@tabletINS.(none)>
    20300 Date:   Sun Jan 10 20:10:52 2010 +0100
    20301 
    20302     BUGFIX - molecule::MinimiseConstrainedPotential() OldPotential was used outside of loop in output message.
    20303    
    20304     Signed-off-by: Frederik Heber <heber@tabletINS.(none)>
    20305 
    20306 commit 1f61b6e4d26290e24fee2f126f77158ad94e0652
    20307 Author: Frederik Heber <heber@tabletINS.(none)>
    20308 Date:   Sun Jan 10 20:09:56 2010 +0100
    20309 
    20310     Inclusion of config.h was missing.
    20311    
    20312     This caused a bug with GSL's inline function definition.
    20313    
    20314     Signed-off-by: Frederik Heber <heber@tabletINS.(none)>
    20315 
    20316 commit 3e50ff33f75d3d1d8f311edf3e5d93edeb8665dd
    20317 Author: Frederik Heber <heber@tabletINS.(none)>
    20318 Date:   Sun Jan 10 20:07:52 2010 +0100
    20319 
    20320     cstdlib header was missing, necessary for free, malloc and calloc
    20321    
    20322     This was noted on laptop with gcc 4.1 (on workstation we have gcc 4.2).
    20323    
    20324     Signed-off-by: Frederik Heber <heber@tabletINS.(none)>
    20325 
    20326 commit 49e1aee5c4a49420580816bf2f1d91e3e614c777
    20327 Author: Frederik Heber <heber@tabletINS.(none)>
    20328 Date:   Sun Jan 10 20:05:34 2010 +0100
    20329 
    20330     cstring header was missing in files, supplying definition of strlen, strcpy, and so on.
    20331    
    20332     This was noted on laptop with gcc 4.1 (on workstation we have gcc 4.2)
    20333 
    20334 commit 3c5606481cdb4d2a55354f27895b7974cc9aca2b
    20335 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20336 Date:   Sat Jan 9 13:02:13 2010 +0100
    20337 
    20338     Updated UML-Diagramm of all UI-Classes
    20339 
    20340 commit 12b845dde3632f5d259a4ef1fecdb23ebba302f4
    20341 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20342 Date:   Sat Jan 9 12:30:49 2010 +0100
    20343 
    20344     Seperated building of mainWindow and contained Menus
    20345    
    20346     - Moved code to build Menus to builder.cpp
    20347     - Moved WindowGeneration code to constructor
    20348 
    20349 commit f6061053393b67472b604538fdfdae9f6563328c
    20350 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20351 Date:   Fri Jan 8 18:48:35 2010 +0100
    20352 
    20353     Wrapper class for gsl_linalg along with working Unit test.
    20354    
    20355     - new class LinearSystemOfEquations wraps all useful functions of the GSL library part linalg.
    20356     - uses wrapper classes GSLVector and GSLMatrix in order to solve Ax = b for x.
    20357     - new unit tests LinearSystemOfEquationUnitTest tests each part and is working.
    20358    
    20359     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20360 
    20361 commit fc3b67ab727f7e08e2351fe21726f111d3fca2e5
    20362 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20363 Date:   Fri Jan 8 18:46:51 2010 +0100
    20364 
    20365     Wrapper class for gsl_matrix along with working Unit test.
    20366    
    20367     - new class GSLMatrix wraps all useful functions of the GSL library.
    20368     - new unit tests GSLMatrixSymmetricUnitTest (symmetric case) and GSLMatrixUnitTest tests each part and is working.
    20369    
    20370     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20371 
    20372 commit 9fb86009e5c88cc9099c3a3d1040728ee1cd442e
    20373 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20374 Date:   Fri Jan 8 18:44:51 2010 +0100
    20375 
    20376     Wrapper class for gsl_vector along with working Unit test.
    20377    
    20378     - new class GSLVector wraps all useful functions of the GSL library.
    20379     - new unit test GSLVectorUnitTest tests each part and is working.
    20380    
    20381     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20382 
    20383 commit 97498a1c712a846028cfe0e2f484ccda52680f60
    20384 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20385 Date:   Fri Jan 8 15:04:22 2010 +0100
    20386 
    20387     Attempt to fix the tesselation::IsInnerPoint().
    20388    
    20389     We try the IsInnerPoint() as follows:
    20390       1. Find nearest BoundaryPoints - working
    20391       2. Find Closest BoundaryLine's - working
    20392       3. Find closest Triangle that is well aligned (wrt to NormalVector and Distance) - unsure whether correctly working
    20393       4. Check whether alignment is on boundary or inside/outside - working
    20394       5. If on boundary, we check whether it's inside of triangle by intersecting with boundary lines - not working
    20395    
    20396     Hence, we code a wrapper for GSL routines, to - finally - allow for solution of linear system of equations.
    20397    
    20398     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20399 
    20400 commit cc04b7dcf53d227c2347afab510d4041e1140de4
    20401 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20402 Date:   Thu Jan 7 15:46:34 2010 +0100
    20403 
    20404     Added a central registry that allows access to actions by name.
    20405 
    20406 commit a562758de7d719868053e4339076c0d99b31a95f
    20407 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20408 Date:   Thu Jan 7 14:24:06 2010 +0100
    20409 
    20410     Added support for creating a main window using the UIFactory.
    20411 
    20412 commit f5a86a6666d55ff72b438e88b30809b17e2be41c
    20413 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20414 Date:   Tue Jan 5 16:34:52 2010 +0100
    20415 
    20416     Added Basis for creating globally accessible and compatible UIElements
    20417    
    20418     - Added Factories for UIElements that can be chosen at programm startup
    20419     - Added Dialogs that can be used to query values
    20420 
    20421 commit 3e026a4655f309a32574278ca3f02844f3d9e25b
    20422 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20423 Date:   Tue Jan 5 14:48:05 2010 +0100
    20424 
    20425     Transitioned MergeMolecule Menu to new menu structure
    20426 
    20427 commit 820a42fdc1600dad77d30858ee59ea01d1f8db16
    20428 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20429 Date:   Tue Jan 5 11:11:52 2010 +0100
    20430 
    20431     Extracted all methods from MergeMolecules Menu
    20432    
    20433     - Added new action that only displays an errorMessage
    20434 
    20435 commit 235bede62ee6609f17d7778b150ccd667adf0025
    20436 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20437 Date:   Tue Jan 5 10:23:25 2010 +0100
    20438 
    20439     Moved saveConfig method from oldmenu to a method inside config class
    20440 
    20441 commit 6b932c7d7b3e3b190ec670a803b24bdffcbf9d38
    20442 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20443 Date:   Sat Jan 2 16:53:39 2010 +0100
    20444 
    20445     Removed unecessary method stubs from oldmenu class
    20446 
    20447 commit 477bb28e8a7c96953ef28630fb08028fa3bdb5a5
    20448 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20449 Date:   Sat Jan 2 16:49:40 2010 +0100
    20450 
    20451     Moved several Methods from Menu to MoleculeListClass
    20452 
    20453 commit 096214873dde5e791e08ce2990d335c95d4d57fb
    20454 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20455 Date:   Sat Jan 2 16:28:29 2010 +0100
    20456 
    20457     Made EditMoleculesMenu a Submenu inside the MainMenu
    20458 
    20459 commit 7c6f7347a55d7eaa5d6e2a0da8b6a11252f4dff5
    20460 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20461 Date:   Sat Jan 2 16:18:00 2010 +0100
    20462 
    20463     Transitioned EditMoleculesMenu to new menu structure
    20464 
    20465 commit c15ca26c8aaeb433b6c80f98d5a7967ed4398a4e
    20466 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20467 Date:   Tue Dec 29 15:48:49 2009 +0100
    20468 
    20469     Changes to FindClosest...ToVector() and use of ..Map,..Set,..List defines in tesselation.cpp.
    20470    
    20471     - Search and Replace for all occurences of defines ..Map,..Set,..List in tesselation.cpp to tighten code
    20472     - New function Tesselation::FindClosestBoundaryPointsToVector() - replace Find(Second)ClosestPoint()
    20473     - New functions Tesselation::FindClosestBoundaryLineToVector() and Tesselation::FindClosesttriangleToVector()
    20474      - old functions FindClosestTriangleToPoint() and FindClosestTrianglesToPoint() start looking from BoundaryPoints only and thus might find a triangle being closer which we see from the wrong side
    20475     - added unit test TesselationInOutsideUnitTest - checks IsInnerPoint and containments
    20476     - adapated unit test TesselationUnitTest - checks tesselation only
    20477 
    20478 commit 1020f0efe8e5aac8bc8bb893cf28f27c08302350
    20479 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20480 Date:   Tue Dec 29 13:56:55 2009 +0100
    20481 
    20482     Extracted several methods from the EditMolecules Submenu.
    20483 
    20484 commit 8f113e699e9964e0a218b631615dad0985d8985b
    20485 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20486 Date:   Tue Dec 29 13:20:20 2009 +0100
    20487 
    20488     Added possibility to add default Items to textMenus
    20489 
    20490 commit 77675ff1c3144d64d31a265fdcad4a77375bb44c
    20491 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20492 Date:   Tue Dec 29 12:57:09 2009 +0100
    20493 
    20494     Moved flipChosen method from oldmenu to MoleculeListClass
    20495 
    20496 commit 0229f957a22cd87075323d1b589049d0957c4480
    20497 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20498 Date:   Tue Dec 29 12:47:57 2009 +0100
    20499 
    20500     Added more tests for Actionsequence
    20501    
    20502     - Test if every included object is called and every removed object is left alone
    20503     - Test if every included object is undone and every removed object is left alone
    20504 
    20505 commit 71b20e8e52bf69205f641774cf6e270e8ac8e84c
    20506 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20507 Date:   Sat Dec 19 20:32:24 2009 +0100
    20508 
    20509     Attempt to fix the embedding.
    20510    
    20511     Basically it would be working, but there was some failures with the FindClosestTriangleToPoint() routines.
    20512     We get triangles wrong if we start looking for the closest point. Actually, we should really look at each
    20513     triangle and check the distance. Now, we look at least at each line, but code is unfinished and crashes at the end
    20514     unexplainedly.
    20515 
    20516 commit 3930ebe12872ce3db8024569a561d704959d5599
    20517 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20518 Date:   Sat Dec 19 20:29:02 2009 +0100
    20519 
    20520     Smaller fixes.
    20521    
    20522     - analysis_correlation.cpp: Info objects created at start of each function for debugging.
    20523     - ParseCommandLineOptions(): case 'I' dissection added, some stuff was unexplained
    20524     - molecule::CenterOrigin() - starting at start not next now, which left out first!
    20525    
    20526     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20527 
    20528 commit 1cf5df4989b7f5e585059b55a6fab75b737ccdab
    20529 Merge: ebbd3d3 73b5107
    20530 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20531 Date:   Thu Dec 17 18:52:45 2009 +0100
    20532 
    20533     Merge branch 'CorrectDegeneratedPolygons' into Analysis_PairCorrelation
    20534 
    20535 commit 73b510703a98881d7b9af8c6bf8062bb87535068
    20536 Merge: 2130dd7 125b3c0
    20537 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20538 Date:   Thu Dec 17 18:50:04 2009 +0100
    20539 
    20540     Merge branch 'FixDegeneratedTesselation' into CorrectDegeneratedPolygons
    20541 
    20542 commit 125b3c03d0820c4f3bacd2d869f20d763758e94b
    20543 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20544 Date:   Thu Dec 17 18:45:35 2009 +0100
    20545 
    20546     Non-convex tesselation seems to be working.
    20547    
    20548     Seems like it has been working already. Only, we had some stupid test code still present after fixing the CorrectAllDegeneratedPolygons().
    20549     - Tesselation::FindThirdPointForTesselation() - IsDegenerated and length of two new baselines check removed.
    20550     - CandidateForTesselation::IsDegenerated removed
    20551 
    20552 commit 1473396142bb336f3624ec2b15023c20cfe170ea
    20553 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20554 Date:   Thu Dec 17 17:56:06 2009 +0100
    20555 
    20556     Added unittest for ActionSequence.
    20557 
    20558 commit 8166250ffff8b35d39b69b5f4f1dbd9d2d9f4aec
    20559 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20560 Date:   Thu Dec 17 15:50:06 2009 +0100
    20561 
    20562     Update of class diagram for menu classes.
    20563 
    20564 commit 898ae8256d30dfe56a15c98ba7a422143ba59106
    20565 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20566 Date:   Thu Dec 17 15:40:16 2009 +0100
    20567 
    20568     Removed legacy code from old menu structure.
    20569 
    20570 commit 1fa107dbc34a3e62d63a552642956a2a6ec3c408
    20571 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20572 Date:   Thu Dec 17 15:38:29 2009 +0100
    20573 
    20574     Added an action that allows grouping and grouped execution of several actions.
    20575 
    20576 commit a5041ec8d039f68329ca096fda2b8fc1c40b82ab
    20577 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20578 Date:   Thu Dec 17 15:21:47 2009 +0100
    20579 
    20580     Added mechanism that allow to store and later execute sequences of Actions.
    20581 
    20582 commit 68c50bb90b06925d449ff1dee5853e7b1d6c163f
    20583 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20584 Date:   Thu Dec 17 14:49:27 2009 +0100
    20585 
    20586     Minimal Changes to the UML-Diagram of menu classes.
    20587 
    20588 commit 0b2dd2f548baf71d7598b065038512ed8918160d
    20589 Merge: 009e37b 4823731
    20590 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20591 Date:   Wed Dec 16 17:18:46 2009 +0100
    20592 
    20593     Merge branch 'FixTestSuite' into FixDegeneratedTesselation
    20594 
    20595 commit 009e37bb55a937cba6af84c753c094770358c5ce
    20596 Merge: b998c31 c135eb7
    20597 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20598 Date:   Wed Dec 16 17:18:41 2009 +0100
    20599 
    20600     Merge branch 'FixVersioning2' into FixDegeneratedTesselation
    20601 
    20602 commit 48237319191afa5690b806b7801e3760839fc5b9
    20603 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20604 Date:   Wed Dec 16 17:13:53 2009 +0100
    20605 
    20606     Fixing the testsuite.
    20607    
    20608     - Putting performCriticalExit() everywhere blindly, is not actually such a good idea. Sometimes, we try opening files but it its not really bad when it fails. As there are fallbacks:
    20609       - MoleculeListClass::AddHydrogenCorrection() - no problem if FITCONSTANT is missing
    20610       - molecule::PickLocalBackEdges() - no problem if BackEdgeStack is empty, just means we have a Tree graph.
    20611       - builder.cpp: Change text of case 'u' to contain 'invalid' arguments
    20612    
    20613     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20614 
    20615 commit c135eb752daf3d66628c6e7a603c697293464835
    20616 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20617 Date:   Wed Dec 16 17:01:11 2009 +0100
    20618 
    20619     Removed --tags as we have signed the "initial_commit" tag.
    20620    
    20621     - git describe uses only signed tags if not told otherwise (--tags or --all)
    20622 
    20623 commit ef81b0af9e8751502b741eab9c958fa73de74522
    20624 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20625 Date:   Wed Dec 16 15:40:09 2009 +0100
    20626 
    20627     Improved documentation for menu framework.
    20628 
    20629 commit f82ac4e1c4f69165e3602ccdadad86a82b35fd21
    20630 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20631 Date:   Wed Dec 16 14:58:12 2009 +0100
    20632 
    20633     Added class diagram to document structure of menu framework
    20634 
    20635 commit a223a8bfb0296f129adb66c871ddacecfdf73ba2
    20636 Merge: 3a0b389 c967318
    20637 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20638 Date:   Wed Dec 16 13:58:40 2009 +0100
    20639 
    20640     Merge branch 'MenuRefactoring' into JansCluster_water
    20641 
    20642 commit c96731843638e56cd70638a14a5a58df98ddd337
    20643 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20644 Date:   Wed Dec 16 13:21:27 2009 +0100
    20645 
    20646     Finished transformation of main menu. Signed-off-by: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20647 
    20648 commit 165d7df7af26713c606213e7edaaf7e92f455f2f
    20649 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20650 Date:   Wed Dec 16 11:08:33 2009 +0100
    20651 
    20652     Rebuilt SubMenuItem to use inclusion (Strategy pattern) instead of inheritance. Signed-off-by: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20653 
    20654 commit c68025a54bebebfc7ccb12a5a0445bfc41564298
    20655 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20656 Date:   Wed Dec 16 10:58:21 2009 +0100
    20657 
    20658     Added method to flip ActiveFlag for single molecules. Signed-off-by: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20659 
    20660 commit 835a0f230cbc85f91f577d9811e77616461f6d45
    20661 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20662 Date:   Wed Dec 16 10:49:55 2009 +0100
    20663 
    20664     Added Title to DisplayMenuItems. Signed-off-by: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20665 
    20666 commit a306a2d77ee62ec2bc854a16527e4bc18fd298b1
    20667 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20668 Date:   Mon Dec 14 15:27:08 2009 +0100
    20669 
    20670     Small fix to delete the complete menu.
    20671    
    20672     Signed-off-by: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20673 
    20674 commit 9d86096ac44b59937a46337abb7d8f7365b081fb
    20675 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20676 Date:   Mon Dec 14 15:24:49 2009 +0100
    20677 
    20678     Added basic View functionality. - Added DisplayMenuItem to show certain types of Views - Added Views to make StringViews from methods producing strings and from methods taking streams Signed-off-by: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20679 
    20680 commit 5b9bba364d0b3255eb2379d37a962641805d378b
    20681 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20682 Date:   Mon Dec 14 11:31:58 2009 +0100
    20683 
    20684     Changed formating of menus and added protection to keep MenuItems from being added twice. Signed-off-by: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20685 
    20686 commit f767d4750ddd955bee133b42bfa6663168440d6f
    20687 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20688 Date:   Mon Dec 14 10:56:51 2009 +0100
    20689 
    20690     Fixed memory leak in TextMenu Signed-off-by: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20691 
    20692 commit 21c2461c78c147130738812a65af19b9c6c18851
    20693 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20694 Date:   Mon Dec 14 10:51:33 2009 +0100
    20695 
    20696     Rebuild the main menu using the new structure as far as possible. Signed-off-by: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20697 
    20698 commit 65b6e082cfd9dc7a3425e801a334748f57e321ab
    20699 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20700 Date:   Tue Dec 15 18:12:30 2009 +0100
    20701 
    20702     Added basic menu and action framework
    20703    
    20704     - Added action base class
    20705     - Added class to make actions from methods
    20706     - Added Menu base class
    20707     - Added TextMenu class to produce text menus
    20708     - Added MenuItem base class for menu items
    20709     - Added ActionMenuItem for menu items using an action
    20710     - Added SubMenuItem class for menu items presenting a submenu
    20711     - Added SeperatorItem class for menu seperators without functioninality
    20712     Signed-off-by: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20713 
    20714 commit 4aa42416b20dd9ccb3541499b817033693b501f0
    20715 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20716 Date:   Tue Dec 15 18:11:54 2009 +0100
    20717 
    20718     Added capability to build doc from anywhere in the tree. Signed-off-by: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20719 
    20720 commit b285242afc57209c3a338364d12c5c5ac7bc98a2
    20721 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20722 Date:   Mon Dec 7 15:40:02 2009 +0100
    20723 
    20724     Added class diagramm to documentation directory Signed-off-by: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20725 
    20726 commit 992a542f55b5ea8824a4644ee68872fac13f0298
    20727 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20728 Date:   Mon Dec 7 15:38:34 2009 +0100
    20729 
    20730     Minor changes to menu::SaveConfig() Signed-off-by: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20731 
    20732 commit 85bc8ed4237242b37b2c65bd7f08530fce9700cf
    20733 Author: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20734 Date:   Wed Dec 2 17:26:24 2009 +0100
    20735 
    20736     Started refactoring of the menu. - Created new menu class - moved all menu functions inside menu class Signed-off-by: Tillmann Crueger <crueger@ins.uni-bonn.de>
    20737 
    20738 commit b998c31f6ac5d93741e8063ef0755447d2b8171b
    20739 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20740 Date:   Wed Dec 16 12:53:06 2009 +0100
    20741 
    20742     Fix attempts of the Tesselation.
    20743    
    20744     One problem still remains:
    20745      - degenerated triangles are created more than two times.
    20746    
    20747     The following has been changed:
    20748      - BondGraph::~BondGraph() - docu changes
    20749      - FindNonConvexBorder() - added CheckListOfBaseLines() and StoreTrianglesInFile() before CorrectDegeneratePolygons() (allows checking of closed tesselation even when correction fails)
    20750      - boundary.hpp: SingleStepWidth set to 10
    20751      - Tesselation::AddTesselationLine() - FindLine set before if and hence we may use it twice and find() only once
    20752      - Tesselation::FindStartingTriangle() - renaming of variables such that they are equal to FindNextSuitableTriangle()
    20753      - Tesselation::FindNextSuitableTriangle() - using SphereCenter (is the result of GetCenterofCircumcenter())
    20754      - Tesselation::FindThirdPointForTesselation() -  some rewrites to make the code clearer
    20755      - CandidateForTesselation::IsDegenerated - designates candidate TesselPoint of a degenerated triangle
    20756      - BoundaryTriangleSet::SphereCenter - contains the SphereCenter created during Tesselation of the triangle
    20757      - FIX: Tesselation::CorrectAllDegeneratedPolygons() - only adds triangles to candidate list that are _not_ simply degenerated (this prevents two(four) singly degenerated but separate triangles to be put into the same polygon, resulting in an uneven number of triangles).
    20758      - new function Vector::IsEqualTo() - checks whether vector is equal to another (within MYEPSILON bounds)
    20759 
    20760 commit 5e8f821736499ecf8a4d8e4b1abc3e04d27a8dd1
    20761 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20762 Date:   Wed Dec 16 12:51:17 2009 +0100
    20763 
    20764     FIX: MatrixContainer::ParseMatrix() should not call performCriticalExit(), when file opening fails.
    20765    
    20766     - this caused failed BondLengthTable loading to exit the program, instead of falling back to vdW-Radii
    20767 
    20768 commit cd7b0f6cb8805d0b23e5d123d8cc775108bccb8a
    20769 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20770 Date:   Wed Dec 16 12:49:40 2009 +0100
    20771 
    20772     BUGFIX: delete(mol) belongs to the commented-out DissectMoleculeIntoConnectedSubgraphs().
    20773    
    20774     - caused the parsed molecule to be deleted (hence, start->next = NULL and end->previous = NULL, as they were unlinked).
    20775 
    20776 commit a8eb4a11ebc32f3fb2ff166e058165534e1fe39a
    20777 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20778 Date:   Wed Dec 16 12:47:47 2009 +0100
    20779 
    20780     Added versioning to each executable.
    20781    
    20782     - credits to Ralf Wildenhues for writing the Makefile.am code
    20783     - version.c section added to Makefile.am (pcp, molecuilder and util)
    20784     - src/version.h to each pcp, molecuilder and util
    20785     - each of the executables includes version.h and prints version in main()
    20786    
    20787     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20788 
    20789 commit fad93cd290889e66970858cf89cbc54519c70742
    20790 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20791 Date:   Sat Nov 28 18:52:05 2009 +0100
    20792 
    20793     The finding of the degenerated polygons' endpoints was not yet correct, fixed.
    20794    
    20795     - PROBLEM: we always looked for quadragons as atomic units of degenerated polygons, however for aromatic rings there may actually be no quadrons sub parts but only a a hexagon to be found.
    20796     - Tesselation::CorrectAllDegeneratedPolygons(): rename ListofFourse -> ListofDegeneratedPolygons
    20797     - FIX: Tesselation::CorrectAllDegeneratedPolygons(): Number of simply degenerated polygons was returned instead of number of degenerated polygons
    20798     - Rewritten Tesselation::CorrectAllDegeneratedPolygons() in the following manner (which is also a lot faster than before):
    20799      1. Go through all BoundaryPoints
    20800      2. Check whether they have two triangles with anti-parallel NormalVectors, indicating that this point is part of a degenerated polygon.
    20801      3. Combine endpoint candidates based on whether there is a BoundaryLineSet in between, then put them into the same polygon.
    20802      4. Proceed with 3. until all candidates have been put into BoundaryPolygonSets
    20803      5. continue with the unchanged remainder on this new "ListofFours" (our list of degenerated polygons).
    20804 
    20805 commit 2130dd7dbcd217fe4e291c7c4f3600e414c6b017
    20806 Merge: af374d7 8560986
    20807 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20808 Date:   Sat Nov 28 16:48:41 2009 +0100
    20809 
    20810     Merge branch 'FixDegeneratedTesselation' into CorrectDegeneratedPolygons
    20811    
    20812     Conflicts:
    20813    
    20814         molecuilder/src/tesselation.cpp
    20815    
    20816     merge only necessary due to stupid git commit --amend
    20817    
    20818     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20819 
    20820 commit 8560986364b882d262e113ac9b52ce6d6b7f4261
    20821 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20822 Date:   Sat Nov 28 15:58:40 2009 +0100
    20823 
    20824     Correction of degenerated polygons is working.
    20825    
    20826     - Correction of degenerated polygons:
    20827      - incorporated into FindNonConvexBorder()
    20828      - verbosity added: BoundaryPolygonSet::GetCenter(), BoundaryPolygonSet::ContainsBoundaryLine(), BoundaryPolygonSet::ContainsBoundaryPoint(), BoundaryPolygonSet::ContainsPresentTupel(), Tesselation::AddTesselationLine(), Tesselation::CorrectAllDegeneratedPolygons(), ArePolygonsEdgeConnected()
    20829      - renamed function BoundaryPolygonSet::GetAllTrianglesFromEndpoints() to GetAllContainedTrianglesFromEndpoints() (as it only returns triangles whose endpoints are _all_ in the BoundaryPolygonset)
    20830      - BoundaryPolygonSet::FillPolygonFromTrianglesOfLine() does not strictly return four or NULL endpoints, as it makes subsequent success checks (and verbose output of failure) harder.
    20831      - FIX: Tesselation::RemoveTesselationTriangle() adds line to Tesselation::OpenLines of still attached to other triangle.
    20832      - new struct BoundaryLineSetCompare(), that compares BoundaryLineSet's
    20833      - new struct BoundaryPolygonSetCompare(), that compares BoundaryPolygonSet's
    20834      - FIX: lots of small fixes to Tesselation::CorrectAllDegeneratedPolygons(): new backside triangles were not added to LinesOnBoundary, when joining adjacent polygons triangles were gathered from Four instead of current PolygonRunner, other combination was not added to SimplyDegeneratedTriangles, we did not check whether polygon to test was really planar (thx UnitTest)
    20835      - FIX: CountTrianglePairContainingPolygon() - PairTrianglesnodes instead of TriangleNodes was clear()'ed.
    20836    
    20837     - BUGFIX: FindAllDegeneratedLines() did not find the correct lines due to wrong comparison. Now we use a set with the comparator BoundaryLineSetCompare().
    20838     - valgrind runs through fine.
    20839    
    20840     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20841 
    20842 commit af374d7a640d594e59252eb9cc95f6e933cddf9e
    20843 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20844 Date:   Sat Nov 28 15:58:40 2009 +0100
    20845 
    20846     Correction of degenerated polygons is working.
    20847    
    20848     - Correction of degenerated polygons:
    20849      - incorporated into FindNonConvexBorder()
    20850      - verbosity added: BoundaryPolygonSet::GetCenter(), BoundaryPolygonSet::ContainsBoundaryLine(), BoundaryPolygonSet::ContainsBoundaryPoint(), BoundaryPolygonSet::ContainsPresentTupel(), Tesselation::AddTesselationLine(), Tesselation::CorrectAllDegeneratedPolygons(), ArePolygonsEdgeConnected()
    20851      - renamed function BoundaryPolygonSet::GetAllTrianglesFromEndpoints() to GetAllContainedTrianglesFromEndpoints() (as it only returns triangles whose endpoints are _all_ in the BoundaryPolygonset)
    20852      - BoundaryPolygonSet::FillPolygonFromTrianglesOfLine() does not strictly return four or NULL endpoints, as it makes subsequent success checks (and verbose output of failure) harder.
    20853      - FIX: Tesselation::RemoveTesselationTriangle() adds line to Tesselation::OpenLines of still attached to other triangle.
    20854      - new struct BoundaryLineSetCompare(), that compares BoundaryLineSet's
    20855      - new struct BoundaryPolygonSetCompare(), that compares BoundaryPolygonSet's
    20856      - FIX: lots of small fixes to Tesselation::CorrectAllDegeneratedPolygons(): new backside triangles were not added to LinesOnBoundary, when joining adjacent polygons triangles were gathered from Four instead of current PolygonRunner, other combination was not added to SimplyDegeneratedTriangles
    20857      - FIX: CountTrianglePairContainingPolygon() - PairTrianglesnodes instead of TriangleNodes was clear()'ed.
    20858    
    20859     - BUGFIX: FindAllDegeneratedLines() did not find the correct lines due to wrong comparison. Now we use a set with the comparator BoundaryLineSetCompare().
    20860     - valgrind runs through fine.
    20861    
    20862     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20863 
    20864 commit 262baeec28914d9a539fe907ea0b7636dcb96672
    20865 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20866 Date:   Fri Nov 27 15:39:06 2009 +0100
    20867 
    20868     First compiling version of CorrectDegeneratedPolygons.
    20869    
    20870     - several new functions in tesselationhelpers.cpp: CountTrianglePairContainingPolygon(), ArePolygonsEdgeConnected(), CombinePolygons()
    20871     - new class BoundaryPolygonSet with some member functions
    20872     - several new functions in tesselation.cpp: Tesselation::CorrectAllDegeneratedPolygons()
    20873 
    20874 commit 523917322b3850ebb35a13d59abc58a39a18dd09
    20875 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20876 Date:   Fri Nov 27 15:38:33 2009 +0100
    20877 
    20878     Rename of internal variable due to upcoming name-conflict with "LineList" in ConfigFileBuffer::MapIonTypesInBuffer().
    20879 
    20880 commit 5ae39c416dba574777f0f8f68e7e7f9cacd96a25
    20881 Merge: 4fc93fb 3a0b389
    20882 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20883 Date:   Thu Nov 26 12:46:58 2009 +0100
    20884 
    20885     Merge branch 'Forgotten_Tesselations_defs_in' into FixDegeneratedTesselation
    20886    
    20887     Conflicts:
    20888    
    20889         molecuilder/tests/Tesselations/defs.in
    20890    
    20891     HEAD was newer (no diffing of NonConvexEnvelope.dat anymore)
    20892    
    20893     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20894 
    20895 commit ebbd3d3e47035ead60a750b80c7f05742071fd11
    20896 Merge: 7911387 3a0b389
    20897 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20898 Date:   Thu Nov 26 12:45:45 2009 +0100
    20899 
    20900     Merge branch 'Forgotten_Tesselations_defs_in' into Analysis_PairCorrelation
    20901 
    20902 commit 3a0b3890298aafb5853dc67311a7ba037e2e94b4
    20903 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20904 Date:   Thu Nov 26 12:45:04 2009 +0100
    20905 
    20906     Forgot to add molecuilder/tests/Tesselations/defs.in
    20907 
    20908 commit 4fc93fba5ac57faee4b34d2ffb62215870fa7584
    20909 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20910 Date:   Thu Nov 26 12:40:01 2009 +0100
    20911 
    20912     removing automatic dissection on loading, Tesselations test now checks for return value only not for precise order of the triangles.
    20913    
    20914     - FindNonConvexBorder() returns bool depending on the result of CheckListOfBaselines()
    20915     - BUG: ParseCommandLineOptions(): case 'p' (parsing) does not dissect the molecule, as we have to wait for e.g. '-A' before we may use the bond structure. Same for config::Load()
    20916 
    20917 commit 27bd2fa17ae15320dfbd551fafc36ea35660b5b9
    20918 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20919 Date:   Thu Nov 26 12:36:44 2009 +0100
    20920 
    20921     BUGFIX: testcase heptan was not correctly tesselated, as edges of a (degenerated) polygon were not correctly created.
    20922    
    20923     - rename GetCircleofConnectedPoints() -> GetCircleOfSetOfPoints()
    20924     - GetCircleOfSetOfPoints() does not call GetAllConnectedPoints() but receives such a list as a parameter, allowing wider user
    20925     - Tesselation::FindClosestTrianglesToPoint() now calls GetAllConnectedPoints() before GetCircleOfSetOfPoints()
    20926     - Tesselation::AddCandidateTriangle():we use GetCircleOfSetOfPoints() in order to sort the nodes into a circle around a given reference (one of the baseline's nodes)
    20927     - Tesselation::AddCandidateTriangle(): using this circle we may easily add the edges and triangles in a correct manner.
    20928 
    20929 commit 7273fcd1e27e7a9eff3252574c0b87a515886042
    20930 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20931 Date:   Wed Nov 25 16:52:27 2009 +0100
    20932 
    20933     Tesselation::FindStartingTriangle() now also uses AddCandidateTriangle()
    20934    
    20935     - this is necessary, as we might find more than one candidate for the third point when looking for the candidate
    20936 
    20937 commit f67b6e18b0b9f6a29d0dcad5ca54afbf56ac58e2
    20938 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20939 Date:   Wed Nov 25 16:29:18 2009 +0100
    20940 
    20941     Multi-Candidate-Add included and incorporated class Info into boundary.cpp, tesselation.cpp and tesselationhelpers.cpp
    20942    
    20943     - class Info incorporation:
    20944      - (almost) all functions of boundary.cpp, tesselation.cpp and tesselationhelpers.cpp now begins with class Info FunctionName(__func__);
    20945    
    20946     - Multi-Candidate-Add:
    20947      - CandidateForTesselation now contains a pointlist instead of a single point
    20948      - Tesselation::AddCandidateTriangle() adds an polygon (for multiple candidates) instead of a single triangle.
    20949      - HasOtherBaselineBetterCandidate() was commented out (it is to be checked whether we really need this)
    20950      - Tesselation::FindNextSuitableTriangle() is reduced to pre-calculation of centers and calling Tesselation::FindThirdPointForTesselation()
    20951      - Tesselation::FindThirdPointForTesselation() now fills the CandidateForTesselation::pointlist
    20952      - Tesselation::FindStartingTriangle() now creates a CandidateForTesselation inside the NDIM-loop and Tesselation::FindThirdPointForTesselation() fills it.
    20953 
    20954 commit 8725ed38a099a2b4b3d95307d79ba0bdb7474c3f
    20955 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20956 Date:   Wed Nov 25 13:24:03 2009 +0100
    20957 
    20958     New Info class that contains a global verbosity level, increased per function call and decreased per exit.
    20959    
    20960     - the idea is to have the "begin of .." and "end of .." messages in an object that automatically holds the current recursion level and hence may change verbosity accordingly for Logger
    20961     - verbose::DoOutput() checks relative to Info::verbosity now.
    20962     - InfoUnitTest was done and works well.
    20963    
    20964     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    20965 
    20966 commit 1e168baa79ecbcebe88b8d261ed41d6928a43ce9
    20967 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20968 Date:   Wed Nov 25 13:18:18 2009 +0100
    20969 
    20970     Now the best (in terms of ShortestAngle) baseline is picked among all open ones instead of the next.
    20971    
    20972     - trying to fix the tesselation, we have the following changes
    20973       - in Tesselation::FindNextSuitableTriangle(), the adding of the triangle was split off and shifted to new function Tesselation::AddCandidateTriangle()
    20974       - Tesselation::FindNextSuitableTriangle() now takes CandidateForTesselation instead of a baseline and puts found candidate therein
    20975       - instead of looping through LinesOnBoundary in FindNonConvexBorder() we have a new Map called OpenLines containing all Lines with TriangleCount < 2
    20976       - the loop itself was changed as follows and continues until OpenLines is empty:
    20977         1. Find Candidates for all new OpenLines
    20978         2. Pick smallest ShortestAngle among these
    20979         3. Add this candidate
    20980       - OpenLines is added to in AddAlwaysTesselationLine() and removed from in AllTesselationLine() (existing line case)
    20981       - CandidateForTesselation class has new attributes (Other)ShortestAngle
    20982    
    20983     - Element initialization was done for all constructors in tesselation.cpp
    20984 
    20985 commit 791138754ff7351a49e1250e959a2ba16ccf9e8b
    20986 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20987 Date:   Tue Nov 24 16:48:36 2009 +0100
    20988 
    20989     BUGFIX atom::CorrectBonDegree() wrongly increased bond degrees.
    20990    
    20991     - NoBond was used instead of OtherNoBond which caused false incrementation of the bond degree beyond NoValenceOrbitals.
    20992 
    20993 commit 6a7f78c9ef6be7e9a26caa642d5bff5a83ae7493
    20994 Author: Frederik Heber <heber@ins.uni-bonn.de>
    20995 Date:   Tue Nov 24 16:34:49 2009 +0100
    20996 
    20997     Fixes and naming of final Tecplot output file is now molecule name.
    20998    
    20999     - FIXES to builder.cpp:
    21000      - case 'p' would not dissect the molecule into connected subgraphs
    21001      - if done so, the BondGraph was not yet initialised
    21002      - if done so, we need to check whether BondGraphFileName has been set
    21003      - BondGraphFileName.empty() could not be used as a check, as was set to "" instead of "\n"
    21004      - if (finally) done so, we have to remove the empty molecule that we parsed in
    21005      - ... and then pick the newly added molecule for mol to point at
    21006      - SaveConfig() did not set the merged molecule name correctly.
    21007      - if empty config is given, the empty molecule now receives the ConfigFileName as name
    21008    
    21009     - FIXES to config.cpp
    21010      - Load() did not set the name of the molecule
    21011    
    21012     - changes to tesselationhelper.cpp and tesselation.cpp
    21013      - WriteTecplotFile() uses N == -1 to make clear, that we are writing the final not a temporary tecplot file and then uses the molecule's name instead of the last triangle's endpoints
    21014      - FindNextSuitableTriangle(): HasOtherBaselineBetterCandidate() was commented out for the moment (as it is not yet final and makes all the test fail)
    21015      - IncludeSphereinRaster3D() did not check whether LastTriangle was NULL or not
    21016    
    21017     - MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs() names the subgraphs with suffixes "..-1", "..-2", ...
    21018    
    21019     - changes to PointCloud and molecule
    21020      - new virtual function PointCloud::GetName() returns "unknown"
    21021      - new function molecule::GetName() returns pointer to name of molecule
    21022      - IsEmpty() and IsEnd() now return true by default
    21023    
    21024     - all .dat files in the "Tesselations" tests were changed accordingly (i.e. have now the name in the second line)
    21025     - benzene was added as a new test for an absolutely flat molecule. So far, it fails horribly.
    21026     - 13 of 17 tests run fine
    21027    
    21028     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21029 
    21030 commit c5f8363fcfbc3bdd15beb961f43e1bea9d0c3389
    21031 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21032 Date:   Mon Nov 23 20:09:42 2009 +0100
    21033 
    21034     bugfix to errorLogger and some error verbosity changes.
    21035    
    21036     - BUGFIX: errorLogger::operator << would first give the message, then the prefix and most of them to cout instead of cerr
    21037     - GetCenterofCircumcircle() did break if sum of angles was > 180 which is unnecessary.
    21038     - config::Load() - bond length table loading is now an error
    21039 
    21040 commit e359a800b68bfdc642700c86f8da41f2925d56a6
    21041 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21042 Date:   Mon Nov 23 19:51:50 2009 +0100
    21043 
    21044     Fixing ticket #18.
    21045    
    21046     - each eLog() << Verbose(0) is now followed by performCriticalExit().
    21047 
    21048 commit 717e0c59ee3acdc14323b6851984ea268b5c6c7c
    21049 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21050 Date:   Mon Nov 23 19:22:33 2009 +0100
    21051 
    21052     Verbosity corrected for ERROR and WARNING
    21053    
    21054     - present ERROR and WARNING prefixes removed and placed by eLog() and respective Verbosity().
    21055     - -v... is scanned for number of 'v's and verbosity is set accordingly
    21056     - standard verbosity is now 0.
    21057    
    21058     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21059 
    21060 commit f1ef60a25947d39dbd0f9b8ba6bdc7726c8b8b4f
    21061 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21062 Date:   Tue Nov 10 21:59:00 2009 +0100
    21063 
    21064     Attempt to fix tesselation for case 1_2-dimethylbenzene.
    21065    
    21066     - The issue is still the strongly degenerated end of the molecule, that is very flat.
    21067     - new function: Tesselation::HasOtherBaselineBetterCandidate() - checks whether for the two other baselines of a proposed triangle there isn't an even better candidate
    21068     - Tesselation::FindNextSuitableTriangle() uses the above function.
    21069     - FindNonConvexBorder() - instead of jumping to end() if a new line was attempted, we jump to the beginning but only if new line was created succesfully.
    21070     - DoSingleStepOutput reactived for this debugging.
    21071    
    21072     - Where the newly installed tesselations did only fail for this molecule, now they fail for all and some segfault. Only this runs through cleanly.
    21073    
    21074     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21075 
    21076 commit 9a0dc86befb40ba6fad6508c1b54291296609a92
    21077 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21078 Date:   Tue Nov 10 21:58:31 2009 +0100
    21079 
    21080     Only biggest molecule is tesselated for now in ParseCommandLineOptions() - case 'N'
    21081     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21082 
    21083 commit 36eb4ebc0db2e162c7d409c1ec3619d38d3901ef
    21084 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21085 Date:   Tue Nov 10 21:56:39 2009 +0100
    21086 
    21087     Added Tesselation testsets as TESTS to molecuilder.
    21088    
    21089     - defs.in with functions to run the tesselations.
    21090     - For each test a .xyz and .dat file is given.
    21091    
    21092     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21093 
    21094 commit 89f768817d0f5b67a9e4ca00cddb1f941e585290
    21095 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21096 Date:   Tue Nov 10 21:53:33 2009 +0100
    21097 
    21098     BUGFIX: Output is again indented, errorLogger prefixes according to verbosity.
    21099    
    21100     - BUGFIX: as "(logger << verbose) = cout" was evaluated, this did not translate to (cout << verbose). Hence, the tabbing was lost. This is fixed.
    21101     - errorLogger::operator << : 0 - CRITICL, 1 - ERROR, 2, ... - WARNING
    21102     - in class Verbose the logger::operator functions are declared friend to allow access to Verbose::verbosity
    21103 
    21104 commit 9a71862bde9003acbdd76381bcea1012b54a0ed6
    21105 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21106 Date:   Sat Nov 7 13:26:07 2009 +0100
    21107 
    21108     BUGFIX: unnecessary include in header, file not closed in definition of setUp().
    21109    
    21110     - in BondGraphTest::setUp() the file test containing the generated bond length table was not closed.
    21111     - in bondgraphunittest.hpp bondgraph.hpp was included where a forward declaration sufficed.
    21112    
    21113     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21114 
    21115 commit 220cf3768e7703a728ec1af6f666c203da595d63
    21116 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21117 Date:   Sat Nov 7 13:18:56 2009 +0100
    21118 
    21119     Two new bond analysis functions.
    21120    
    21121     - GetMaxMinMeanBondCount() - evaluates min, mean and max bond count
    21122     - MinMaxBondDistanceBetweenElements() - evaluates min, mean and max bond distance
    21123     - Unit tests are in place and working fine.
    21124 
    21125 commit b9947daf71e80a4917240d81812895a5dd839d23
    21126 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21127 Date:   Sat Nov 7 13:17:55 2009 +0100
    21128 
    21129     New function bond::GetDistance...()
    21130    
    21131     - bond::GetDistance() and bond::GetDistanceSquared() return distance between bond::leftatom and bond::rightatom.
    21132 
    21133 commit 568be7d923a989339e03228df539b51b8a6df5b6
    21134 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21135 Date:   Sat Nov 7 10:48:07 2009 +0100
    21136 
    21137     Added config::SavePDB() and config::SaveMPQC().
    21138    
    21139     - note: for CODICE we need to know about the different connected subgraphs created by the DFSAnalysis(). Hence, we write a pdb file which contains a resid number to discern in VMD between the molecules. Also, we need neighbour construction from a simple xyz file for TREMOLO in order to measure MSDs per water molecule.
    21140     - new function in config.cpp: config::SavePDB() gets molecule or MoleculeListClass and writes PDB file
    21141     - new function in config.cpp: config::SaveTREMOLO() gets molecule or MoleculeListClass and writes TREMOLO data file (with neighbours, mapped to global ids, and resid and resname)
    21142     - new function in moleculelist.cpp: MoleculeListClass::CountAllAtoms() - counts all atoms.
    21143     - BUGFIX: In MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs() we did not shift the chained bond list from mol into the connected subgraphs. Thus, they were free'd on delete(mol) and no bonds were present afterwards. This is fixed, now we unlink() in mol and re-link() in the respective subgraph
    21144 
    21145 commit 96c9610522962b09c1cf8ce64546b44822f7b3e0
    21146 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21147 Date:   Sat Nov 7 10:46:08 2009 +0100
    21148 
    21149     Added initial analysis_bonds.cpp and unit test for Analysis of bonds.
    21150    
    21151     - analysis_bonds.cpp shall contain bond analysis tools, such as mean bond length, bond numbers, ...
    21152     - unit test for it is in place, copied from bondgraphunittest.cpp, as we will need a bond graph anyway.
    21153     - Makefile.am has nor ANALYSISSOURCE and ...HEADER definitions and above is added.
    21154     - unittests/Makefile.am has unit test incorporated.
    21155     - make check runs fine.
    21156 
    21157 commit 7f4bee2eae0dac8e2c4a2601deb21d190a89d1c6
    21158 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21159 Date:   Sat Nov 7 10:44:11 2009 +0100
    21160 
    21161     LEAKFIX: FillBoxWithMolecule() had mismatch delete/delete[]
    21162    
    21163     - boundary.cpp: FillBoxWithMolecule() - delete[] used on LCList and Tesselation instead of delete on every pointer in these arrays, fixed.
    21164     - boundary.cpp: VolumeOfConvexEnvelope() - RESULT output has setprecision(6) again to have correct number of digits for testsuite case 14.
    21165     - make check runs fine.
    21166 
    21167 commit 1614174df8095ae56a671e977842ee55d15b3415
    21168 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21169 Date:   Thu Nov 5 19:14:08 2009 +0100
    21170 
    21171     LEAKFIX: ReturnFullMatrixForSymmetric() and InverseMatrix() have Malloc()s, in code was delete(), not Free()
    21172    
    21173     - valgrind showed the "mismatch free/delete" and is fixed. (mostly concerned functions in molecule_geometry.cpp and analysis_correlation.cpp)
    21174     - LEAKFIX: logger and errorLogger instances were not free'd, this is done.
    21175    
    21176     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21177 
    21178 commit e138deb122b004848fade8680e29c2fb80aeb317
    21179 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21180 Date:   Wed Nov 4 20:56:04 2009 +0100
    21181 
    21182     Huge change from ofstream * (const) out --> Log().
    21183    
    21184     - first shift was done via regular expressions
    21185     - then via error messages from the code
    21186     - note that class atom, class element and class molecule kept in parts their output stream, was they print to file.
    21187     - make check runs fine
    21188     - MISSING: Verbosity is not fixed for everything (i.e. if no endl; is present and next has Verbose(0) ...)
    21189     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21190 
    21191 commit 7326b21cef2429a9070eeb36352bb77cf6b12c2c
    21192 Merge: 7ea9e61 06c7a3b
    21193 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21194 Date:   Wed Nov 4 19:25:42 2009 +0100
    21195 
    21196     Merge branch 'CodeRefactoring' of ssh://adamantium/home/metzler/workspace/espack into Analysis_PairCorrelation
    21197    
    21198     Conflicts:
    21199    
    21200         molecuilder/src/unittests/Makefile.am
    21201    
    21202     - molecuilder/src/Makefile.am: included log.cpp, logger.cpp and errorlogger.cpp un libmolecuilder
    21203     - molecuilder/src/unittests/Makefile.am: included LogUnitTest in tests and removed CXXFLAGS and LDFLAGS from it
    21204 
    21205 commit 7ea9e616afe1db1bdce286f712abff18030a7ce5
    21206 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21207 Date:   Wed Nov 4 19:11:09 2009 +0100
    21208 
    21209     Periodic variants of AnalysisPair...() implemented.
    21210    
    21211     - BUGFIX: Vector::DistanceToPlane() - we did not check whether sign is 0.
    21212     - NOTE: Due to changes in Vector::DistanceToPlane() with sign, Unit test AnalysisCorrelationToSurfaceUnitTest had to be changed:
    21213       - we now have bin -0.5 filled with 1 (instead of 0.) and -0.288 instead of 0.288
    21214       - find() replaced by lower_bound
    21215     - new functions: PeriodicPairCorrelation(), PeriodicCorrelationToPoint(), PeriodicCorrelationToSurface()
    21216       - each has a ranges[NDIM] argument with specifies the neighbours to scan: [ -ranges[i], ranges[i] ]
    21217       - the atom::node is periodically translated to each periodic cell and the distance calculated.
    21218     - NOTE: make check was broken before due to implementation of Periodic variants as normal ones (yielding more points that expected in unit test).
    21219    
    21220     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21221 
    21222 commit 99593f58e7f5860567229fe8fe34f98add9bdd85
    21223 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21224 Date:   Wed Nov 4 18:34:05 2009 +0100
    21225 
    21226     Extension to the periodic boundary case for analysis_correlation.cpp
    21227    
    21228     - Distance() -> PeriodicDistance(): PairCorrelation(), CorrelationToPoint(), CorrelationToSurface()
    21229     - CorrelationToSurface() - goes through periodic cells given by a ranges variable and puts into map as well.
    21230     - const: ReturnFullMatrixforSymmetric() and InverseMatrix() now have const * const parameter
    21231     - InverseMatrix() shifted from class Vector into helpers.cpp
    21232     - adapted due to InverseMatrix(): molecule::CenterInBox(), molecule::BoundInBox(), molecule::TranslatePeriodically()
    21233     - new function: RDET3(), RDET2() (former #define's)
    21234     - FIX: molecule::CorrectBondDegree() would loop eternally, if bonds cannot be fully corrected.
    21235     - FIX for NULL return: Tesselation::FindClosestTrianglesToPoint(), Tesselation::GetCircleOfConnectedPoints()
    21236     - FIX: Vector::DistanceToPlane() - did not give correct sign before according to PlaneNormal orientation
    21237    
    21238     other stuff:
    21239     - less output: BondedParticle::CorrectBondDegree(), molecule::CyclicStructureAnalysis()
    21240 
    21241 commit c9bce3e4e4e06fbd3b6aa0303bb22113e04c7c27
    21242 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21243 Date:   Wed Nov 4 16:08:11 2009 +0100
    21244 
    21245     config::Load() refactored: Dissection into connected subgraphs -> MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs()
    21246    
    21247     - new function MoleculeListClass::DissectMoleculeIntoConnectedSubgraphs()
    21248     - called in config::Load()
    21249 
    21250 commit a5551b36831494b1f744d79223d87e97b7be6f5c
    21251 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21252 Date:   Wed Nov 4 15:54:31 2009 +0100
    21253 
    21254     Closed ticket #48 (AnalysisCorrelation...() take MoleculeListClass instead of molecule).
    21255    
    21256     - ParseCommandLineOptions() - case C: ActiveFlag ist set for all but the boundary molecule (i.e. the biggest).
    21257     - changed parameters of PairCorrelation(), CorrelationToPoint(), CorrelationToSurface()
    21258     - adapted unit tests: AnalysisPairCorrelationUnitTest, AnalysisPairCorrelationUnitTest, AnalysisCorrelationToPointUnitTest
    21259    
    21260     - MISSING: AnalysisCorrelationToSurfaceUnitTest yet only deals with a single molecule instead of multiple ones ...
    21261 
    21262 commit eecd33b33ccae6f7857db923f518303f399dde1c
    21263 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21264 Date:   Wed Nov 4 15:51:02 2009 +0100
    21265 
    21266     BUGFIX: Allocated one molecule too much in config::Load().
    21267    
    21268     - Count() was called from Subgraph not from Subgraph->next
    21269 
    21270 commit f4e1f56eee74c127ededd6c9ba004ca15330c846
    21271 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21272 Date:   Wed Nov 4 13:57:24 2009 +0100
    21273 
    21274     Closing ticket #47, case 'C' uses biggest molecule as surface for pair correlation.
    21275 
    21276 commit 3c349bda4eeea77e1019e8b5b3d87543ae1f20fa
    21277 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21278 Date:   Tue Nov 3 17:34:31 2009 +0100
    21279 
    21280     "not working parsed molecule into subgraph splitting"-BUG fixed, BugFinder branch can be closed.
    21281    
    21282     - config::Load() - atoms were not in the right order for MaxOrder-test (12). Hence, the BondFragmentAdjacency could not be parsed. Now, we just take the subgraphs as the association of each atom to a molecule, i.e. we make a list and then re-link each atom to its new connected subgraph molecule, which is returned as the MoleculeListClass.
    21283    
    21284     other fixes:
    21285     - BondGraph::SetMaxDistanceToMaxOfCovalentRadii() - parses the molecule and set to max of covalent radii of elements found therein
    21286     - BondGraph::ConstructBondGraph() - SetMaxDistanceToMaxOfCovalentRadii() called before CreateAdjacencyList() to have current max_distance
    21287     - BUGFIX: molecule::CreateAdjacencyList() - BondCount was not set to zero after cleaning of list
    21288     - FIX: CreateFatherLookupTable() - as we use Calloc(),  initialization to NULL was unnecessary
    21289 
    21290 commit ae38fb1ebb7a0ba407983519fa0603e09a65d217
    21291 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21292 Date:   Tue Nov 3 15:27:15 2009 +0100
    21293 
    21294     Fixing not created adjacency list, partially fixing subgraph dissection in config::Load()
    21295    
    21296     - CreateAdjacencyList() was called with zero bonddistance.
    21297     - this was due to max_distance not being initialised in the constructor to 0 and subsequently not set if Bond Length Table was not found.
    21298     - new function SetMaxDistanceToMaxOfCovalentRadii() which sets the max_distance to twice the max of covalent radii of all elements.
    21299     - config::Load() - atoms in copied molecule (by DepthFirstSearchAnalysis()) are made their own father (and originals are removed).
    21300 
    21301 commit 2aeefd42484e1e703a9a9d84d548ce716faed02b
    21302 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21303 Date:   Tue Nov 3 13:38:08 2009 +0100
    21304 
    21305     Removed libmolecuilder linking from unit tests where only some few modules were needed.
    21306 
    21307 commit 7218f8e00e4f8e7b2a82385c86479318f7b29c7b
    21308 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21309 Date:   Tue Nov 3 09:41:45 2009 +0100
    21310 
    21311     Several memory bugfixes (thx valgrind).
    21312    
    21313     - main() - shortened case switch after ParseCommandLineOptions()
    21314     - molecule::FragmentMolecule() - indentation around BondFragments fixed.
    21315     - LEAKFIX: main() - configuration was not destroyed in case switch.
    21316     - LEAKFIX: ~config() - BondGraph BG  was not destroyed.
    21317     - LEAKFIX: ParseKeySetFile() - filename was not destroyed.
    21318     - LEAKFIX: molecule::FragmentMolecule() - BackEdgeStack (returned from DepthFirstSearchAnalysis()) was not destroyed.
    21319     - LEAKFIX: molecule::FragmentMolecule() - BondFragments was not destroyed.
    21320     - LEAKFIX: MemoryUsageObserver::~MemoryUsageObserver() -- frees all remaining unbfree'd memory
    21321     - BUGFIX: MoleculeListClass::OutputConfigForListOfFragments() - FragmentNumber was delete'd not Free'd
    21322     - BUGFIX: ParseCommandLineOptions() - Free() of ListOfLocalAtoms had FragmentCounter instead of i
    21323     - BUGFIX: ParseCommandLineOptions() had BackEdgeStack in case 'D' instead of LocalBackEdgeStack for the CycliCStructureAnalysis()
    21324     - BUGFIX: StackClass<T>::StackClass() did not initialize StackList to NULL (are pointers anyway).
    21325     - MolecularLeafWalker::FillBondStructureFromReference() - no more performs its actions recursively (just complicates things unnecessarily).
    21326     - ParseCommandLineOptions() and molecule::FragmentMolecule() adapted to MolecularLeafWalker::FillBondStructureFromReference() changes.
    21327     - DepthFirstSearchAnalysis_Init() now does all of the initialisation of DepthFirstSearchAnalysis() and get molecule instead of AtomCount and BondCount
    21328    
    21329     Fixed Calloc:
    21330     - MemoryAllocatorTest::MallocTest() and MemoryAllocatorTest::CallocTest() perform test on array of 10 with writing to it (revealed Calloc() bug)
    21331     - LEAKFIX: MemoryAllocatorTest::tearDown() - instance was not free'd
    21332     - BUGFIX: Calloc() - calloc() is called with num and sizeof, not num and initial_value!
    21333     - FIX: Malloc() to Calloc(): CreateFatherLookupTable(), molecule::IsEqualToWithinThreshold(), molecule::ConstrainedPotential(), PrintPermutationMap(), FillDistanceList() (initialization not needed anymore due to Calloc(), molecule::MinimiseConstrainedPotential(), molecule::ParseOrderAtSiteFromFile(), StoreFragmentFromKeySet_Init() (initialization not needed anymore due to Calloc(), molecule::StoreFragmentFromKeySet(), molecule::PowerSetGenerator(), molecule::FragmentBOSSANOVA(), molecule::ScanForPeriodicCorrection(), molecule::CreateAdjacencyList(), InitializeBFSAccounting(), BreadthFirstSearchAdd_Init(), BuildInducedSubgraph_Init(), MoleculeListClass::AddHydrogenCorrection(), MoleculeLeafClass::FillListOfLocalAtoms(), MoleculeLeafClass::AssignKeySetsToFragment(), StackClass<T>::StackClass()
    21334    
    21335     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21336 
    21337 commit fa649a93ddcddda5f2e4f18ee89b49c4d34d2fde
    21338 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21339 Date:   Mon Nov 2 13:50:57 2009 +0100
    21340 
    21341     Small changes.
    21342    
    21343     - VolumeOfConvexEnvelope() - setprecision corrected
    21344     - BUGFIX: PrepareClustersinWater() - IsAngstroem was set to NULL instead of true
    21345     - config::Load(), ..LoadOld() - get MoleculeListClass instead of molecule
    21346     - config::TestSyntax() - removed unncessary molecule parameter
    21347     - ParseCommandLineOptions() - no mol is created anymore, this is done when parsing in config::Load(), mol is set to first active instead
    21348     - config.cpp: Lots of ^M (dos EOL) removed
    21349     - have const molecule * const ref now: MoleculeLeafClass::FillBondStructureFromReference(), molecule::PickLocalBackEdges(), DepthFirstSearchAnalysis_CheckForaNewComponent(), DepthFirstSearchAnalysis_ProbeAlongUnusedBond()
    21350     - are const member functions now - necessary due to periodentafel being a const pointer: molecule::ResetAllBondsToUnused(), molecule::FindNextUnused(), molecule::SetNextComponentNumber(), molecule::CyclicStructureAnalysis(), CyclicStructureAnalysis_AssignRingSizetoNonCycleMembers(), molecule::OutputGraphInfoPerBond(), molecule::OutputGraphInfoPerAtom(), molecule::CyclicBondAnalysis(), molecule::CyclicStructureAnalysis(), molecule::GetColor(), molecule::CorrectBondDegree(), molecule::OutputBondsList()
    21351     - in molecule NoNonHydrogen, NoNonBonds and NoCyclicBonds are mutable
    21352     - molecule constructor rewritten with respect to ticket #4 (shorten constructors)
    21353 
    21354 commit 34e0013c3d36c570e3d7cccf0314b9998c524fbc
    21355 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21356 Date:   Fri Oct 30 17:09:29 2009 +0100
    21357 
    21358     BondGraph is initialized within config::Load(), as it has to happen after parsing options and before loading molecule. And various fixes.
    21359    
    21360     - FIX: BondGraph::LoadBondLengthTable() - scans into TempContainer, which is later given over to BondLengthMatrix or NULL'd if parsing failed.
    21361     - BondGraph::ConstructBondGraph() adapted to above, uses both bonds functions depending on present BondLengthMatrix.
    21362     - FIX: BondGraph::GetBondLength() - checks whether BondLengthMatrix is NULL.
    21363     - config::Load() and ..LoadOld() get additionally the BondLengthFilename and allocates and parses BondGraph.
    21364     - builder.cpp ParseCommandLineOptions() has been adapted to above changes.
    21365     - FIX: molecule::CreateAdjacencyList() checks whether bonddistance is > 1. (otherwise quite useless and yielding too many cells).
    21366 
    21367 commit b21a64f827e177ed45bda0d871259b15127ce530
    21368 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21369 Date:   Fri Oct 30 16:33:51 2009 +0100
    21370 
    21371     BondGraph is parsed if command line switch '-g' is given.
    21372    
    21373     - builder.cpp: case 'g' which gives a bond length table file which is parsed after the configuration and before other command line options.
    21374     - BondGraph::BondLengthMatrixMinMaxDistance() falls back to CovalentMinMaxDistance() if no table parsed.
    21375     - Bond Length Table was changed to have first row _and_ column each enlist all the elements and does not have a "#" in front anymore.
    21376     - The unit test has been changed accordingly.
    21377    
    21378     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21379 
    21380 commit 06c7a3b2d6ce79572856fe678ea2a178eb974a6a
    21381 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    21382 Date:   Fri Oct 30 12:04:50 2009 +0100
    21383 
    21384     Ticket 43 Create a logging class
    21385    
    21386     The verbosity level can now be handeled globally by setVerbosity().
    21387 
    21388 commit b7072174869980a43146f17b651981474109f428
    21389 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21390 Date:   Fri Oct 30 09:30:57 2009 +0100
    21391 
    21392     New class BondGraph.
    21393    
    21394     - BondGraph parses a file containing bond lengths and basically has a member function which gives lower and upper bounds on when two atoms are bonded and when not.
    21395       - BondGraph::LoadBondLengthTable() - basically uses MatrixContainer::ParseMatrix()
    21396       - BondGraph::ConstructBondGraph() - uses molecule::CreateAdjacency() but with different bounds-function.
    21397       - BondGraph::GetBondLength() - returns entry from parsed bond length matrix
    21398       - BondGraph::CovalentMinMaxDistance() - bounds function using covalent radii of involved elements
    21399       - BondGraph::BondLengthMatrixMinMaxDistance() - bounds function which uses the parsed bond length matrix
    21400     - Unit test written for BondGraph.
    21401     - molecule::CreateAdjacencyList() - rewritten, takes now a bounds BondGraph member function, if NULL is given, creates its own BondGraph and uses standard covalent bounds function (which does not need any scanning).
    21402     - new function BondedParticle::IsBondedTo() which checks whether given BondedPasrticle is contained in ListOfBonds.
    21403     - builder.cpp: calls to molecule::CreateAdjacencyList() adapted to new syntax.
    21404 
    21405 commit 46ea3b3e9b5812647dd0fc8c97ecfc39e5eb3f10
    21406 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21407 Date:   Fri Oct 30 09:29:31 2009 +0100
    21408 
    21409     Test code is moved to its own source subdirectory: test.
    21410    
    21411     - ActOnAll.hpp was just a template test for the molecule::ActOnAll...() member functions, as the code is still fine and a Unit test depends on it, we keep it, but in a special subdirectory.
    21412 
    21413 commit 8c5327ba6c54e6a030fbc1bbf26821fabee8183f
    21414 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21415 Date:   Fri Oct 30 09:29:07 2009 +0100
    21416 
    21417     Added Unit test for StackClass.
    21418    
    21419     - was former StackClass::TestImplementation().
    21420 
    21421 commit d96277bbbf83514bf1d07b427277386bb07ab602
    21422 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21423 Date:   Thu Oct 29 11:09:05 2009 +0100
    21424 
    21425     Refactored StackClass with respect to tickets #38, #4.
    21426    
    21427     - #38 make const what is const
    21428     - #4 shorten constructors
    21429     - StackClass::TestImplementation() has been shifted into a unit test stackclassunittest.[ch]pp
    21430    
    21431     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21432 
    21433 commit c0f6c621f619a71f4b09c404a8cdb96eed63efec
    21434 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21435 Date:   Tue Oct 27 18:41:12 2009 +0100
    21436 
    21437     Refactored tesselationhelpers.cpp with respect to ticket #38 (make const what is const).
    21438     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21439 
    21440 commit fb73b8313dc69e341d7e560e1f298f5da5c56b22
    21441 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21442 Date:   Tue Oct 27 17:42:42 2009 +0100
    21443 
    21444     class config, ConfigFileBuffer, periodentafel and Vector are refactored with respect to ticket #38, #4 and #39.
    21445    
    21446     - <type> * const ptr ... means the pointer itself is const (not its contents that he points at).
    21447     - const <type> * ptr ... means the pointer's content is const.
    21448     - "ofstream *out" ... can be changed to "ofstream * const out" (pointer is constant, not output).
    21449    
    21450     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21451 
    21452 commit 776b64559ecd2f9ada1f26f55c897028165fb398
    21453 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21454 Date:   Tue Oct 27 17:11:22 2009 +0100
    21455 
    21456     Huge refactoring to make const what is const (ticket #38), continued.
    21457    
    21458     - too many changes because of too many cross-references to be able to list them up here.
    21459     - NOTE that "make check" runs fine and did catch several error.
    21460     - note that we had to use const_iterator several times when the map, ... was declared const.
    21461     - at times we changed an allocated LinkedCell LCList(...) into
    21462         const LinkedCell *LCList;
    21463         LCList = new LinkedCell(...);
    21464     - also mutable (see ticket #5) was used, e.g. for molecule::InternalPointer (PointCloud changes are allowed, because they are just accounting).
    21465     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21466 
    21467 commit ad37ab8566594a099bed27480eb123e4af74bc9a
    21468 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21469 Date:   Tue Oct 27 12:51:52 2009 +0100
    21470 
    21471     analyzer.cpp and boundary.cpp refactored.
    21472    
    21473     - ticket #39 is done with respect to these files
    21474     - both do not contain member functions (anymore), hence ticket #4 and ticket #38 are both fulfilled.
    21475 
    21476 commit 70ff329b91c50b8717dc6a315d31da29c9522774
    21477 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21478 Date:   Tue Oct 27 10:28:07 2009 +0100
    21479 
    21480     Begun with ticket #4 (shorten constructors) on class atom and class bond.
    21481    
    21482     - note that in bond we removed two constructor definitions which were unnecessary if standard values were given in the definition not in the declaration.
    21483    
    21484     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21485 
    21486 commit b453f9633192bf031a859545dcb7c55476ff6a0f
    21487 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21488 Date:   Tue Oct 27 09:54:44 2009 +0100
    21489 
    21490     Begun with ticket #38 (make const what is const).
    21491    
    21492     - basically all changes to member function that now state that they do not change member attributes.
    21493     - in molecule_template.hpp all member functions are declared const, as we only need start and end from molecule and these are never changed (lots of overloaded templates removed thereby).
    21494     - Vector::Distance...() and ...DistanceSquared() are const now too
    21495 
    21496 commit 831a14fccc3c449e545ce45a4036bbbfeb01b80c
    21497 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21498 Date:   Tue Oct 27 09:53:25 2009 +0100
    21499 
    21500     ..._CPPFLAGS and ..._LDFLAGS in unittests/Makefile.am put into global AM_... statements.
    21501 
    21502 commit 6b919f8070d9199926d9b248aff739b8305bbc57
    21503 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21504 Date:   Tue Oct 20 10:55:17 2009 +0200
    21505 
    21506     Refactored atom.cpp into multiple files.
    21507    
    21508     After the class atom was refactored into multiple base classes that are inherited, these base classes are also all put into separate files. This is basically a preparatory step for the like-wise refactoring of class molecule into inherited base classes and splitting up (that is there done already). Finally, we will also separate the relations, i.e. not have "atom.hpp" included everywhere and use class atom, but rather the subclasses such as TrajectoryParticle and its header files only.
    21509     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21510 
    21511 commit c75de154f2ee6233beaf61ee389cd8f71ee7ff01
    21512 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21513 Date:   Tue Oct 20 10:54:51 2009 +0200
    21514 
    21515     iostream was missing in vector includes.
    21516 
    21517 commit 4455f4972f636def3a575d7d298af2682c502f5b
    21518 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21519 Date:   Mon Oct 19 15:09:29 2009 +0200
    21520 
    21521     Huge Refactoring: class atom split up into several inherited classes.
    21522    
    21523     - There are now two parts: classes containing data (called ...Info) and classes containing associated functions:
    21524       - new data classes: ParticleInfo (id and name), AtomInfo (element, position, velocity, force), TrajectoryParticleInfo, GraphNodeInfo (all graph variables), BondedParticleInfo (AdaptiveOrder, MaxOrder, ListOfBonds)
    21525       - new associated function classes:  TrajectoryParticle, GraphNode, BondedParticle
    21526    
    21527     - template functions ActOnAllAtoms(), SumPerAtom() were adapted with another template type for the class of the member function
    21528     - template functions SetIndexedArrayForEachAtomTo() have their index as ParticleInfo::*index
    21529 
    21530 commit 9eefda14dc23d67965074a9054a484c90416b304
    21531 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21532 Date:   Sun Oct 18 21:41:20 2009 +0200
    21533 
    21534     Added BFSAccounting and DFSAccounting structures and all functions use these. Added documentation to each of the new functions of previous commits.
    21535    
    21536     - renamed DFS: DepthFirstSearchAnalysis_SetWalkersGraphNr(), DepthFirstSearchAnalysis_ProbeAlongUnusedBond(), DepthFirstSearchAnalysis_CheckForaNewComponent(), DepthFirstSearchAnalysis_CleanRootStackDownTillWalker()
    21537     - new DFS: DepthFirstSearchAnalysis_Finalize(), DepthFirstSearchAnalysis_Init()
    21538     - rewritten DFS: DepthFirstSearchAnalysis() - uses DFSAccounting and above functions,
    21539     - changed&renamed BFS: InitializeBFSAccounting(), FinalizeBFSAccounting(), CleanBFSAccounting(), ResetBFSAccounting()
    21540     - renamed BFS: CyclicStructureAnalysis_CyclicBFSFromRootToRoot(), CyclicStructureAnalysis_RetrieveCycleMembers(), CyclicStructureAnalysis_BFSToNextCycle(), CyclicStructureAnalysis_AssignRingSizetoNonCycleMembers()
    21541     - changed BFS: BackEdge dropped from CyclicStructureAnalysis_BFSToNextCycle(), CyclicStructureAnalysis_AssignRingSizetoNonCycleMembers()
    21542 
    21543 commit 43587e21efd075291b9296d09704c14839147781
    21544 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21545 Date:   Sun Oct 18 20:12:53 2009 +0200
    21546 
    21547     Refactored molecule::BuildInducedSubgraph()
    21548    
    21549     - new functions BuildInducedSubgraph_Init(), BuildInducedSubgraph_FillParentList(), BuildInducedSubgraph_CreateBondsFromParentList(), BuildInducedSubgraph_Finalize()
    21550 
    21551 commit ce7cc5a8c3093070a9f2372212477b11f78c01b0
    21552 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21553 Date:   Sun Oct 18 19:52:47 2009 +0200
    21554 
    21555     Refactored molecule::BreadthFirstSearchAdd()
    21556    
    21557     - new function: BreadthFirstSearchAdd_Init(), BreadthFirstSearchAdd_VisitedNode(), BreadthFirstSearchAdd_UnvisitedNode()
    21558     - new structure BFSAccounting contains all of the accounting data needed for Breadth First Search.
    21559 
    21560 commit ba4170d2dfbebfe434b06d01aed19c832651e2d6
    21561 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21562 Date:   Sun Oct 18 19:06:28 2009 +0200
    21563 
    21564     Refactored CheckAdjacencyFileAgainstMolecule().
    21565    
    21566     - new functions: CheckAdjacencyFileAgainstMolecule_Init(), CheckAdjacencyFileAgainstMolecule_CompareBonds(), CheckAdjacencyFileAgainstMolecule_Finalize()
    21567    
    21568     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21569 
    21570 commit df8b199baa82d9d524d867256b1f58ec88ba477c
    21571 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21572 Date:   Sun Oct 18 18:35:25 2009 +0200
    21573 
    21574     Removed ResetAllAtomNumbers(), replaced by templated SetAtomValueToValue().
    21575 
    21576 commit 2cc75c3c152510b8a9d6d26c5e134d49167c533d
    21577 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21578 Date:   Sun Oct 18 18:09:26 2009 +0200
    21579 
    21580     Shifted molecuke::InitComponentNumbers() to atom::InitComponentNr.
    21581    
    21582     Note that this is still only possible due to ListOfBondsPerAtom() -> atom::ListOfBonds() switch.
    21583 
    21584 commit ef9aaec99bd2d3f48063f5f75506c3db39493c39
    21585 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21586 Date:   Sun Oct 18 17:59:52 2009 +0200
    21587 
    21588     Refactored molecule::CyclicStructureAnalysis()
    21589    
    21590     - new functions: InitializeAccounting(), ResetAccounting(), CleanAccounting(), CyclicBFSFromRootToRoot(), RetrieveCycleMembers(), AssignRingSizetoNonCycleMembers()
    21591     - new functions used in AssignRingSizetoNonCycleMembers(): BFSToNextCycle()
    21592 
    21593 commit 174e0ece471da3cb17f2cbf08ba655f90c27f316
    21594 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21595 Date:   Sun Oct 18 17:13:46 2009 +0200
    21596 
    21597     Refactored molecule::DepthFirstSearchAnalysis()
    21598    
    21599     - new functions: SetWalkersGraphNr(), ProbeAlongUnusedBond(), CheckForaNewComponent(), CleanRootStackDownTillWalker()
    21600 
    21601 commit 266237a46efdbba0be37a76f5e86b6814aac18d7
    21602 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21603 Date:   Sun Oct 18 16:15:37 2009 +0200
    21604 
    21605     Huge refactoring: molecule::ListOfBondsPerAtom and molecule::NumberOfBondsPerAtom removed, atom::ListOfBonds introduced. Unit Test for ListOfBonds manipulation introduced.
    21606    
    21607     - changes to class atom:
    21608       - ~atom(): removes all bonds it is part of and unlink()s
    21609       - new functions: CountBonds() - counts bonds times BondDegree, OutputGraphInfo() - graph data is output, OutputComponentNumber() - output of component numbers, OutputAdjacency() - indices of this and its neighbours, CorrectBondDegree() - corrects bond degree incrementally (by at most one) -- all since ListOfBonds is now local info
    21610       - OutputBondOfAtom() - does not need ListOfBondsPerAtom, ... as ListOfBonds is now local info
    21611       - new functions for ListOfBonds access: RegisterBond(), UnregisterBond(), UnregisterAllBonds() (the latter only remove from the list, do not delete, as molecule still has a global list of all bonds and does deletion.)
    21612    
    21613     - changes to class bond:
    21614       - ~bond() uses unlink(), uses UnregisterBond() on leftatom and rightatom
    21615       - removed unused bond::GetFirstBond() and bond::GetLastBond()
    21616       - GetOtherAtom() has now const parameter
    21617    
    21618     - changes to builder.cpp: removed CreateListOfBondsPerAtom() calls, as the creation of the global arrays is not necessary anymore
    21619    
    21620     - changes to LinkedCell: LinkedCell::CheckBounds(int[NDIM]) does not admonish out of bonds as this is not desired for the local offset which may become out of bounds.
    21621    
    21622     - changes to lists.hpp templates: BUGFIX: unlink() now sets ->next and ->previous to NULL, cleanup() uses removedwithoutcheck()
    21623    
    21624     - new templates for molecule.hpp: SumPerAtom() allows for summation of the return value of atom:...() member fiunctions. This is needed e.g. for atom::CorrectBondDegree()
    21625    
    21626     - changes to MoleculeListClass:
    21627       - changes due to ListOfBondsPerAtom -> atom::ListOfBonds: AddHydrogenCorrection(), FillBondStructureFromReference()
    21628    
    21629     - changes to class molecule:
    21630       - changes due to ListOfBondsPerAtom -> atom::ListOfBonds: GuesstimateFragmentCount(), FragmentMolecule(), FillSPListandLabelVertices(), ScanForPeriodicCorrection(), DeterminePeriodicCenter(), CyclicStructureAnalysis(), InitComponentNumbers(), FindNextUnused(), CheckAdjacencyFileAgainstMolecule(), PickLocalBackEdges(), BreadthFirstSearchAdd(), BuildInducedSubgraph(), CheckForConnectedSubgraph(), molecule(), ~molecule(), AddHydrogenReplacementAtom(), RemoveBonds(), OutputListOfBonds(), removed CreateListOfBondsPerAtom()
    21631       - due to removal of CreateListOfBonds(): FragmentMolecule(), CreateAdjacencyListFromDbondFile(), CreateAdjacencyList(), SetNextComponentNumber()
    21632       - ActOnAllAtoms() used: CreateAdjacencyList() - uses atom::OutputBondOfAtom(), StoreAdjacencyToFile() - uses atom::OutputAdjacency(),
    21633       - SumPerAtom() used: CorrectBondDegree() - uses atom::CorrectBondDegree(),
    21634       - function removed: molecule::CountAtomsBonds() - shifted to atom::CountBonds(), OutputComponentNumber() - shifted to atom::OutputComponentNumber()
    21635       - CountCyclicBonds() - manipulates molecule::NoCyclicBonds directly.
    21636       - rewritten DepthFirstSearchAnalysis() - refactored to CyclicBondAnalysis(), OutputGraphInfoPerAtom(), OutputGraphInfoPerBond()
    21637       - rewritten RemoveAtom() - uses RemoveBonds()
    21638       - FIX: rewritten CleanupMolecule() - cleanup was wrong order, now is first bonds, then atoms
    21639       - rewritten BreadthFirstSearchAdd() - uses molecule::CopyBond() (equal code was present multiple(!) times before)
    21640       - new functions CyclicBondAnalysis(), OutputGraphInfoPerAtom(), OutputGraphInfoPerBond(), CopyBond()
    21641    
    21642     - New UnitTest for ListOfBonds:
    21643       - tests AddBond(), RemoveAtom(), RemoveBond(), RemoveBonds() and simple deletion of atoms or bonds, where afterwards chain lists of bonds should remain intact.
    21644    
    21645     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21646 
    21647 commit b8b75d6a56dc001347024c088c6590bec244d5c7
    21648 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21649 Date:   Sat Oct 17 21:47:58 2009 +0200
    21650 
    21651     Refactored CreateAdjacencyList().
    21652    
    21653     - new auxiliary functions: molecule::CorrectBondDegree(), molecule::OutputBondsList() and molecule::CountAtomsBonds()
    21654     - CreateAdjacencyList() makes use of the above and the bond finding is implemented now via LinkedCell list, however with an additional TesselPoint::nr to atom* list (which is just a temporary fix until a thought comes up how to have LinkedCell of atom * in the first place).
    21655 
    21656 commit 07051c4e6e39dd72b279cf4798cdd094138a3371
    21657 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21658 Date:   Sat Oct 17 21:46:28 2009 +0200
    21659 
    21660     Extended class LinkedCell to handle a relative offset to current cell.
    21661    
    21662     - new overloaded function LinkedCell::CheckBounds(int [NDIM]) checking bounds with some relative offset.
    21663     - new function LinkedCell::GetRelativeToCurrentCell() returning LinkedNodes of cell relative to CurrentCell.
    21664 
    21665 commit 44a59b6dd47abf93dc6c2866c46cf4ce4519de59
    21666 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21667 Date:   Sat Oct 17 19:06:42 2009 +0200
    21668 
    21669     Renamed and rewritten CreateAdjacencyList2().
    21670    
    21671     - rename CreateAdjacencyList2() -> CreateAdjacencyListFromDbondFile()
    21672     - initially written by Christian Neuen who was at that time not familiar with all the functions already present. The code is now shortened and tighter.
    21673     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21674 
    21675 commit 09048c34dc6e8ccc59fdf69178f4f3e94373e508
    21676 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21677 Date:   Sat Oct 17 18:54:46 2009 +0200
    21678 
    21679     Added case 'C' to ParseCommandLineOptions with CorrelationToSurface().
    21680    
    21681     - new case 'C' with CorrelationToSurface()
    21682     - lots of changes in ParseCommandLineOptions() as all of the tests for ...[0] != '-' were wrong for numbers (e.g. -t -1. 0. 0. in translation case)
    21683     - small fix to BinData() as 0. was given instead of 0 for second argument of outmap (but should be integer)
    21684 
    21685 commit ad8b0dc36a32195baf91715cdb04e24d0d5a74c7
    21686 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21687 Date:   Sat Oct 17 18:49:59 2009 +0200
    21688 
    21689     Templated version of flip now operates with references instead of pointers.
    21690    
    21691     - vector::SolveSystem() was changed accordingly.
    21692 
    21693 commit 3a9fe9f11fb9af6d172ca93d62a1b7bdfb61f183
    21694 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21695 Date:   Sat Oct 17 18:47:06 2009 +0200
    21696 
    21697     LoadMolecule externalized from Load()
    21698    
    21699     - new function PrepareFileBuffer()
    21700     - ParseCommandLine() is no more part of class config
    21701     - Load() now uses LoadMolecule and PrepareFileBuffer()
    21702     - note that this is used to allow for the loading of a second molecule from a config file without the actual configuration. This is needed for the CorrelationToSurface routine (the second molecule gives the surface).
    21703 
    21704 commit b1f2549d14a74c382543b97323d3b0bbeeda3d56
    21705 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21706 Date:   Sat Oct 17 18:42:37 2009 +0200
    21707 
    21708     Functions to output correlations directly added.
    21709    
    21710     - new analysis_correlation function: OutputPairCorrelation(), OutputCorrelationToPoint(), OutputCorrelationToSurface()
    21711 
    21712 commit c144ed2645a2885d7e8fc364b26b37512b5309ec
    21713 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21714 Date:   Sat Oct 17 07:49:05 2009 +0200
    21715 
    21716     flip() is now templated.
    21717     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21718 
    21719 commit db6bf740d7e8febe60a8c5c791aad043f8d4717b
    21720 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21721 Date:   Thu Oct 15 10:10:10 2009 +0200
    21722 
    21723     Fixed two memory leaks.
    21724    
    21725     - FIX: if the element database could not be parsed, in LoadPeriodentafel() still one element would be allocated, Loading failure admonished and then not free'd. Fixed
    21726     - FIX: the config was allocated in main not by a new, but fixed. In its constructor Malloc calls were present. Hence, the memory was not free'd. As fixed types are free'd first at the very end of the code. Hence before any MemoryUsageObserver::getUsedMemorySize() calls ... that's why 1614 bytes were always claimed as still allocated. Fixed.
    21727     - valgrind does not admonish any leaks (however, some errors) anymore when molecuilder is started and immediately quitted.
    21728     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21729 
    21730 commit bbc338b903a7127c1e2577a93470caf743c9afc3
    21731 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21732 Date:   Wed Oct 14 13:18:14 2009 +0200
    21733 
    21734     Unit tests AnalysisCorrelation is done.
    21735    
    21736     - four carbon atoms were added around the hydrogen tetraeder to test CorrelationToSurface.
    21737     - everything seems to work fine, three bugs were found (see previous commits).
    21738     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21739 
    21740 commit 6cd79d42f5e59a266564a81f846c56dfa809a6b9
    21741 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21742 Date:   Wed Oct 14 13:12:42 2009 +0200
    21743 
    21744     performCriticalExit() must not be defined static.
    21745    
    21746     Note that static global functions are only visible within the specific source file. Removed static keyword.
    21747 
    21748 commit a2028ea7782e055b20b65d5106e9ef97040467ed
    21749 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21750 Date:   Wed Oct 14 13:10:47 2009 +0200
    21751 
    21752     UnitTest AnalysisCorrelationToSurface revealed two bugs:
    21753    
    21754     - BUGFIX: if multiple triangles are closest to a point, the code failed in Tesselation::FindTriangles(). This is fixed: the externalized initialization steps were put together again into the four loops, hence the ..->end() check was in the loop again.
    21755     - BUGFIX: If the AngleZero derived from the reference in Tesselation::GetCircleOfConnectedPoints() is 0, we end up with no closest triangle. This is fixed: first point in connected circle taken as reference instead, and criticalExit() if still not unzero
    21756 
    21757 commit f74d089a01eb7c6482561a3163788f3ac53efe1e
    21758 Author: Frederik Heber <heber@ins.uni-bonn.de>
    21759 Date:   Wed Oct 14 13:01:47 2009 +0200
    21760 
    21761     Check whether map is not NULL in GetMinMax() and BinData().
    21762     Signed-off-by: Frederik Heber <heber@ins.uni-bonn.de>
    21763 
    21764 commit c4d4dfcf2b2eb619122842838b8a34fed1b278e5
    21765 Author: Frederik Heber <heber@bespin.wiss-staff>
    21766 Date:   Tue Oct 13 18:14:49 2009 +0200
    21767 
    21768     Pair correlation analysis added.
    21769    
    21770     - new file analysis_correlation.cpp with the following functions: PairCorrelation(), CorrelationToPoint(), CorrelationToSurface(), GetBin(), OutputCorrelation(), and templates GetMinMax(), BinData()
    21771     - three new unit tests: AnalysisCorrelationToPointUnitTest AnalysisCorrelationToSurfaceUnitTest AnalysisPairCorrelationUnitTest (each in own file)
    21772     - new function DistanceToTrianglePlane() in tesselationhelpers.cpp
    21773     - new function Vector::DistanceToPlane() calculates distance to a plane
    21774    
    21775     Unit tests are working fine.
    21776 
    21777 commit 93d120bdcc6b28744fc18c21d8ef1e744eaa9f1e
    21778 Author: Frederik Heber <heber@bespin.wiss-staff>
    21779 Date:   Tue Oct 13 18:40:34 2009 +0200
    21780 
    21781     Fixed broken test "Fragmentation - Fragmentation".
    21782    
    21783     - BUGFIX: Code was split into CombineAllOrderListIntoOne() and FreeAllOrdersList(). In the first the combining is done and because RootStack is needed, we push_back() all pop_front() all RootKeyNr. However, the loop test was still .empty(), which never happened and an error was thrown as same keysets were tried to be inserted (assumed). Now, we store the last RootKeyNr by back() and compare the current to it. Test runs through fine.
    21784 
    21785 commit 407536f92b012b8b92b2dff235834903e8b9565b
    21786 Author: Frederik Heber <heber@bespin.wiss-staff>
    21787 Date:   Mon Oct 12 15:26:12 2009 +0200
    21788 
    21789     Refactored molecule::FragmentBOSSANOVA().
    21790    
    21791     - renamed functions: InitialiseSPList() -> SetSPList(), FreeSPList() -> ResetSPList()
    21792     - new functions are: InitialiseSPList, FreeSPList(), FillSPListandLabelVertices(), OutputSPList(), CountNumbersInBondsList(), CombineAllOrderListIntoOne(), FreeAllOrdersList()
    21793 
    21794 commit 14e73aa8344b12c5bad0a9b1eaaffda56d596001
    21795 Author: Frederik Heber <heber@bespin.wiss-staff>
    21796 Date:   Mon Oct 12 15:05:46 2009 +0200
    21797 
    21798     Refactored molecule::PowerSetGenerator().
    21799    
    21800     - new functions are: InitialiseSPList(), FreeSPList(), FillSPListandLabelVertices(), OutputSPList(), CountNumbersInBondsList(),
    21801 
    21802 commit d2943b9740e9b45b8ed74a7c23e842ec060bb5db
    21803 Author: Frederik Heber <heber@bespin.wiss-staff>
    21804 Date:   Mon Oct 12 14:49:19 2009 +0200
    21805 
    21806     Rewritten molecule::molecule::SPFragmentGenerator()
    21807    
    21808     - new functions are: SPFragmentGenerator_ClearingTouched(), AddPowersetToSnakeStack(O), CountSetMembers(), FillBondsList(), RemoveAllTouchedFromSnakeStack()
    21809 
    21810 commit 5034e1c19570424d6145026e66a1daa7304c078d
    21811 Author: Frederik Heber <heber@bespin.wiss-staff>
    21812 Date:   Mon Oct 12 14:04:44 2009 +0200
    21813 
    21814     First half of molecule_fragmentation.cpp refactoring.
    21815    
    21816     - new template helper function: IncrementalAbsoluteValue() which also increments itself (fixed by one)
    21817     - new template molecule function: SetAtomValueToIndexedArray() which sets an attribute of atom class according to some array
    21818     - Store/ParseKeySetFile() removed from class molecule, as there was no need
    21819     - molecule::StoreFragmentFromKeySet() split up into: StoreFragmentFromKeySet_Init() and CreateInducedSubgraphOfFragment()
    21820     - molecule::CreateMappingLabelsToConfigSequence() uses SetIndexedArrayForEachAtomTo() with new IncrementalAbsoluteValue()
    21821     - molecule::ParseOrderAtSiteFromFile() uses SetAtomValueToIndexedArray() on MaxOrder and Adaptive Order
    21822     - atom has new member function: OutputOrder()
    21823     - molecule::StoreOrderAtSiteFile() uses ActOnAllAtoms with above
    21824     - molecule::CheckOrderAtSite() rewritten, new helper functions are: GraphToIndexedKeySet(), ScanAdaptiveFileIntoMap() (therein InsertIntoAdaptiveCriteriaList()), ReMapAdaptiveCriteriaListToValue(), MarkUpdateCandidates(), PrintAtomMask()
    21825     - StoreKeySetFile split up, TEFactors are now stored in StoreTEFactorsFile, same goes with Parse...()
    21826 
    21827 commit 4a7776a9ae51d78cc8706bd96907c2a247ba1994
    21828 Author: Frederik Heber <heber@bespin.wiss-staff>
    21829 Date:   Mon Oct 12 12:30:02 2009 +0200
    21830 
    21831     Complete refactoring of molecule_dynamics.cpp
    21832    
    21833     - new small functions: SumDistanceOfTrajectories(), PenalizeEqualTargets(), (), CreateInitialLists(), TryNextNearestNeighbourForInjectivePermutation(), MakeInjectivePermutation()
    21834     - Thermostat routines (case blocks) have been shifted to small functions in atom class (and soon to be extracted from there into its own class: ThermostatedParticle ?)
    21835     - old functions are a lot smaller now: MinimiseConstrainedPotential(), molecule::EvaluateConstrainedForces(), VerletForceIntegration(), also using ActOnAllAtoms
    21836     - atom class has a lot of new small functions:
    21837       - trajectory: ResizeTrajectory(), CopyStepOnStep(), VelocityVerletUpdate(), VelocityVerletUpdate()
    21838       - constraint potential: CorrectVelocity(), Thermostat_...()
    21839 
    21840 commit ccd9f5b1e4f784fe73721ff1b3b2c5f78ec8df8b
    21841 Author: Frederik Heber <heber@bespin.wiss-staff>
    21842 Date:   Fri Oct 9 16:35:14 2009 +0200
    21843 
    21844     First half of molecule_dynamics.cpp is refactored into smaller parts.
    21845    
    21846     - new function atom::EvaluateConstrainedForce() evaluating a constraint force
    21847     - molecule::EvaluateConstrainedForces() uses the above with ActOnAllatoms()
    21848     - new helper functions in molecule_dynamics.cpp: SumDistanceOfTrajectories(), SumDistanceOfTrajectories(), FillDistanceList(), CreateInitialLists(), TryNextNearestNeighbourForInjectivePermutation(), MakeInjectivePermutation()
    21849     - new struct EvaluatePotential in molecules.hpp to contain most of the values for the above functions
    21850 
    21851 commit c111dbf810e0e3f7f92d4afa3b50cd427f3d515d
    21852 Merge: 49f802c 87e2e39
    21853 Author: Frederik Heber <heber@bespin.wiss-staff>
    21854 Date:   Fri Oct 9 14:18:41 2009 +0200
    21855 
    21856     Merge branch 'new-delete-conversion' into CodeRefactoring
    21857    
    21858     Conflicts:
    21859    
    21860         molecuilder/src/Makefile.am
    21861         molecuilder/src/helpers.cpp
    21862         molecuilder/src/helpers.hpp
    21863         molecuilder/src/memoryusageobserver.cpp
    21864    
    21865     - FIX: performCriticalExit() was declared static but not defined a such.
    21866     - Merge was basically only due to libmolecuilder which was not used in CodeRefactoring branch before.
    21867     - added ActOnAll Unit test to new unittests sub folder and to Makefile.am
    21868 
    21869 commit 87e2e39b6683b88cf56f1229adaf4e1bc2358143
    21870 Merge: d3dfe18 b9907cd
    21871 Author: Frederik Heber <heber@bespin.wiss-staff>
    21872 Date:   Fri Oct 9 14:08:24 2009 +0200
    21873 
    21874     Merge branch 'new-delete-conversion' of ssh://adamantium/home/metzler/workspace/espack into new-delete-conversion
    21875 
    21876 commit 49f802cfc32887da6d23e51283966873ce964f38
    21877 Author: Frederik Heber <heber@bespin.wiss-staff>
    21878 Date:   Fri Oct 9 13:57:41 2009 +0200
    21879 
    21880     Implementing templated iterators done for molecule.cpp
    21881    
    21882     - new functions in class atom: atom::DistanceSquaredToVector(), atom::DistanceToVector() and atom::AddKineticToTemperature()
    21883     - above used with ActOnAllAtoms() in molecule.cpp: molecule::OutputTemperatureFromTrajectories(), molecule::OutputListOfBonds() (uses atom::OutputBondOfAtom() which gives slightly different output than before but rather with more info)
    21884     - new template SetIndexedArrayForEachAtomTo() which sets the contents of an index array according to a member function result.
    21885     - above used in molecule::IsEqualToWithinThreshold()
    21886 
    21887 commit f66195d268aa8acd6e1a3d8ddc7ba7f220eb784b
    21888 Author: Frederik Heber <heber@bespin.wiss-staff>
    21889 Date:   Fri Oct 9 12:54:52 2009 +0200
    21890 
    21891     forward declarations used to untangle interdependet classes.
    21892    
    21893     - basically, everywhere in header files we removed '#include' lines were only pointer to the respective classes were used and the include line was moved to the implementation file.
    21894     - as a sidenote, lots of funny errors happened because headers were included via a nesting over three other includes. Now, all should be declared directly as needed, as only very little include lines remain in header files.
    21895 
    21896 commit b9907cd8232949bfc6e9d327b29d286a12d485d5
    21897 Author: metzler <metzler@stud64dc-03.wiss-stud>
    21898 Date:   Wed Oct 7 16:35:17 2009 +0100
    21899 
    21900     Ticket 30: Put molecuilder unit tests in their own subfolder in src
    21901 
    21902 commit be90f17d330ec04dde01f9ed6bf79fd8a8b809ce
    21903 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    21904 Date:   Wed Oct 7 17:01:14 2009 +0200
    21905 
    21906     temp commit
    21907 
    21908 commit e419517de9b7d686ed4d6f7fab71fb5d08e6344b
    21909 Author: Frederik Heber <heber@bespin.wiss-staff>
    21910 Date:   Wed Oct 7 16:26:53 2009 +0200
    21911 
    21912     used forward declaration to untangle atom and bond declarations, molecule::CreateListOfBondsPerAtom() uses ActOnAllAtoms
    21913    
    21914     - a major problem is two classes depending on one another and we've often made constraints in order to accommodate for this. But there is an easier solution: Have forward declarations of the other class in each header file, only include the true other header file in each implementation (i.e. cpp file).
    21915     - This was done with atom and bond class to allow for a new function atom::OutputBondOfAtom()
    21916     - molecule::CreateListOfBondsPerAtom() uses ActOnAllAtoms with this new function.
    21917 
    21918 commit 23b830d97f03d2db6efacee0173bee0d34934bcb
    21919 Author: Frederik Heber <heber@bespin.wiss-staff>
    21920 Date:   Wed Oct 7 15:18:59 2009 +0200
    21921 
    21922     molecule::CountElements() changed to use SetIndexedArrayForEachAtomTo(), molecule::OutputXYZ() fixed
    21923    
    21924     - in molecule::OutputXYZ() AtomCount is used
    21925     - molecule::CountElements() now uses SetIndexedArrayForEachAtomTo() to get the number of atoms per element counted
    21926 
    21927 commit 681a8a0374ed99bd32ad357a3eda2eb36c9f922f
    21928 Author: Frederik Heber <heber@bespin.wiss-staff>
    21929 Date:   Wed Oct 7 15:16:13 2009 +0200
    21930 
    21931     in molecule::OutputTrajectoriesXYZ() ActOnAllAtoms used by new function atom::OutputTrajectoryXYZ().
    21932 
    21933 commit fcd7b69eeaa761de1f6ebc0e994186f2f9f858d5
    21934 Author: Frederik Heber <heber@bespin.wiss-staff>
    21935 Date:   Wed Oct 7 14:14:15 2009 +0200
    21936 
    21937     In molecule::OutputTrajectories() ActOnAllAtoms() with new function atom::OutputTrajectory() is used.
    21938    
    21939     For this to work, I had to change the Trajectory struct that was so far included in molecule.hpp to be incorporated directly into the class atom.
    21940     NOTE: This incorporation is incomplete and a ticket (#34) has been filed to remind of this issue.
    21941     However, the trajectory is better suited to reside in atom anyway and was probably just put in molecule due to memory prejudices against STL vector<>.
    21942     Functions in molecule.cpp, config.cpp, molecule_geometry.cpp and molecule_dynamics.cpp were adapted (changed from Trajectories[atom *] to atom *->Trajectory).
    21943     And the atom pointer in the Trajectory structure was removed.
    21944 
    21945 commit e9f8f930b09fee74ef361de63569c0744dc9509a
    21946 Author: Frederik Heber <heber@bespin.wiss-staff>
    21947 Date:   Tue Oct 6 19:57:01 2009 +0200
    21948 
    21949     More functions of molecule now use templated iterators.
    21950    
    21951     - the following template functions are defined in molecule.hpp and implemented in molecule_template.hpp
    21952        - ActOnAllVectors() - Vector of current atom is object to member function pointer
    21953        - ActOnAllAtoms() - current atom is object to member function pointer
    21954        - ActWithEachAtom() - current atom is parameter to molecule member function not object
    21955        - ActOnCopyWithEachAtom() - Same as ActWithEachAtom() but object is not this but an extra pointer to a copy
    21956        - ActOnCopyWithEachAtomIfTrue() - Same as ActWithEachAtom() but with additional condition (bool member function of atom) that has to be true
    21957        - SetIndexedArrayForEachAtomTo() - current atom's index or its element's Z acts as index to a given array in conjunction with a setor function
    21958     - the following functions were converted in molecule: molecule::CopyMolecule(), molecule::CopyMoleculeFromSubRegion(), molecule::Output(), molecule::OutputTrajectories(), molecule::OutputXYZ()
    21959     - atom.cpp: new functions IsInParallelepiped(), overloaded Output()
    21960     - helper.cpp: new template functions Increment() and AbsolutValue acting as wrapper to operator+=() and operator=()
    21961 
    21962 commit ebcadedc2eb5f524f09fc7618fe9f4fea00cdbb8
    21963 Author: Frederik Heber <heber@bespin.wiss-staff>
    21964 Date:   Tue Oct 6 19:37:50 2009 +0200
    21965 
    21966     Extended the testsuite to encompass the vital areas of molecuilder.
    21967    
    21968     - the vital areas are: simple geometry, Graph, fragmentation, tesselation
    21969     - in molecuilder/tests a dir regression was added for each case with pre and post dirs. Pre contains files needed for the test, post contains results to compare to
    21970     - builder.cpp: check for commands that need extra arguments that first arguments does not begin with '-' missing for many cases
    21971 
    21972 commit 21b9c3591722efc708e1482ec02108da1918128b
    21973 Author: metzler <metzler@stud64dc-03.wiss-stud>
    21974 Date:   Tue Oct 6 12:15:50 2009 +0100
    21975 
    21976     #22 Write a critical exit function
    21977 
    21978 commit cee0b57afea6660531722346890ed484e9ea8dd4
    21979 Author: Frederik Heber <heber@bespin.wiss-staff>
    21980 Date:   Tue Oct 6 00:10:53 2009 +0200
    21981 
    21982     class molecule implementation split up into six separate parts.
    21983    
    21984     - dynamics: Verlet integration and constraint potential
    21985     - fragmentation: BOSSANOVA scheme
    21986     - geometry: all operations acting on the Vector's inside the atom's
    21987     - graph: supplementary functions for fragmentation, treating molecule as a bonding graph
    21988     - pointcloud: implementations of virtual functions for pointcloud class, needed for Tesselation
    21989 
    21990 commit d09ff7ad9c8d572bf86f780836ed477e92efd995
    21991 Author: Frederik Heber <heber@bespin.wiss-staff>
    21992 Date:   Tue Oct 6 00:09:51 2009 +0200
    21993 
    21994     new function Vector::WrapPeriodically() and Vector::(Inverse)MatrixMultiplication has const parameters now.
    21995 
    21996 commit e652463fcd182a9dedbeed0eb1351e9b0bfbb92e
    21997 Author: Frederik Heber <heber@bespin.wiss-staff>
    21998 Date:   Tue Oct 6 00:08:57 2009 +0200
    21999 
    22000     New function atom::CorrectFactor() and atom::EqualsFather().
    22001    
    22002     - are just small functions used for molecule::ActOnAllAtoms().
    22003 
    22004 commit eaee7fae200461527b4b31cedd8f589ef0b2a560
    22005 Author: Frederik Heber <heber@bespin.wiss-staff>
    22006 Date:   Mon Oct 5 23:14:28 2009 +0200
    22007 
    22008     even the class of the member function can be templated, see ActOnAllUnitTest.
    22009    
    22010     Note however that specializations of templated member functions are not allowed.
    22011 
    22012 commit 33f9f707ba379505762c0251bf773524a07503b2
    22013 Author: Frederik Heber <heber@bespin.wiss-staff>
    22014 Date:   Mon Oct 5 22:51:24 2009 +0200
    22015 
    22016     Member functions of Vector class may be called while going over an iteration of a list containing Vectors, thanks to member function pointers.
    22017    
    22018     - Unit test ActOnAllTest is the basic class for showing, how we can use any member function of Vector:: and make it act globally over a list of vectors.
    22019     - this is incorporated into the definition of class molecule for the vectors contained in the atoms chained list.
    22020 
    22021 commit 13a5749f3ea1cfcb14e8fa7943cdf7ce459fc59b
    22022 Merge: aba92d1 fa861b8
    22023 Author: Frederik Heber <heber@bespin.wiss-staff>
    22024 Date:   Mon Oct 5 20:45:06 2009 +0200
    22025 
    22026     Merge branch 'ConvexHull' into ActOnAll
    22027    
    22028     Conflicts:
    22029    
    22030         molecuilder/src/Makefile.am
    22031    
    22032     Boost implementation commit was overlapping with ActOnAllTest
    22033 
    22034 commit fa861b8ceb59e30faf501c271e02790e26b0afdb
    22035 Author: Frederik Heber <heber@bespin.wiss-staff>
    22036 Date:   Mon Oct 5 20:43:43 2009 +0200
    22037 
    22038     Included BOOST library MPL into autoconf setup.
    22039 
    22040 commit c26f44b5c51a3902dd55fb535bd81f36ffebe3d7
    22041 Author: Frederik Heber <heber@bespin.wiss-staff>
    22042 Date:   Mon Oct 5 19:14:58 2009 +0200
    22043 
    22044     Fixed testsuite, removed some minor bugs.
    22045    
    22046     - TesselationUnitTest_SOURCES lacked memoryallocator stuff
    22047     - Free does not give a message anymore, as there can be no error.
    22048     - testsuite was fixed for suite 2 and 3, mostly due to changed options that were not accomodated for in the testsuite
    22049 
    22050 commit a33931a6926488ed74dfbf11db9e4eaf555bbf05
    22051 Merge: 7dea7c3 c0917c9
    22052 Author: Frederik Heber <heber@bespin.wiss-staff>
    22053 Date:   Mon Oct 5 18:05:53 2009 +0200
    22054 
    22055     Merge branch 'ConcaveHull' into ConvexHull
    22056    
    22057     Conflicts:
    22058    
    22059         .gitignore
    22060         molecuilder/src/Makefile.am
    22061         molecuilder/src/atom.cpp
    22062         molecuilder/src/tesselation.cpp
    22063    
    22064     no serious overlaps, just a free Frees that were not present in ConcaveHull were MemoryAllocator class was added.
    22065 
    22066 commit d3dfe189d4c48a3573b1b6119d8e9a81b73246c1
    22067 Author: Frederik Heber <heber@bespin.wiss-staff>
    22068 Date:   Mon Oct 5 17:43:25 2009 +0200
    22069 
    22070     new/delete conversion.
    22071    
    22072     mode change only, nothing else.
    22073 
    22074 commit 5417c5f54788788592186bc7be21179131f8739b
    22075 Author: Frederik Heber <heber@bespin.wiss-staff>
    22076 Date:   Mon Oct 5 17:42:20 2009 +0200
    22077 
    22078     New/delete conversion.
    22079    
    22080     82: "main" missing in msg
    22081 
    22082 commit c0917c976855c93e7755fae6eabf5a1b2cd9255e
    22083 Merge: 41194a7 b66c223
    22084 Author: Frederik Heber <heber@bespin.wiss-staff>
    22085 Date:   Mon Oct 5 16:59:11 2009 +0200
    22086 
    22087     Merge branch 'ConcaveHull' of ssh://stud64d-02/home/metzler/workspace/espack into ConcaveHull
    22088    
    22089     Conflicts:
    22090    
    22091         molecuilder/src/builder.cpp
    22092         molecuilder/src/memoryusageobserver.cpp
    22093         molecuilder/src/memoryusageobserver.hpp
    22094         molecuilder/src/memoryusageobserverunittest.cpp
    22095         molecuilder/src/memoryusageobserverunittest.hpp
    22096    
    22097     This conflict arised, because the #19 commit was already pushed to the server, but the commit was later "amended" locally. This is fixed, there were no real overlaps anyway.
    22098 
    22099 commit b66c223baf91c9bbe4c297fd4c47414c47e246a1
    22100 Author: metzler <metzler@stud64dc-03.wiss-stud>
    22101 Date:   Mon Oct 5 15:50:43 2009 +0100
    22102 
    22103     #19 Observe memory usage
    22104 
    22105 commit 41194a7bf06101702d6e0b8243fa47ade9e8c24e
    22106 Merge: 0227a97 c301806
    22107 Author: Frederik Heber <heber@bespin.wiss-staff>
    22108 Date:   Mon Oct 5 16:35:06 2009 +0200
    22109 
    22110     Merge branch 'ConcaveHull' of ssh://stud64d-02/home/metzler/workspace/espack into ConcaveHull
    22111 
    22112 commit aba92d1cf6f8183eb896906f52a302521acea926
    22113 Author: Frederik Heber <heber@bespin.wiss-staff>
    22114 Date:   Mon Oct 5 16:31:35 2009 +0200
    22115 
    22116     ActOnAll is a test (not in the molecuilder source tree, but as a singular UnitTest) to get a template function for Vector member function calls.
    22117    
    22118     The idea is to have a call such as:
    22119     ActOnAll( AddVector (1.,0.,0.) );
    22120     which performs the AddVector on all Vectors (inside the atoms) in e.g. the molecule class.
    22121    
    22122     This would save a lot of unnecessary lines and would make the code in general easier to read.
    22123 
    22124 commit c30180691174b61d9244d1942760db46f34f09e0
    22125 Author: metzler <metzler@stud64dc-03.wiss-stud>
    22126 Date:   Mon Oct 5 15:12:18 2009 +0100
    22127 
    22128     #19 Observe memory usage
    22129 
    22130 commit 7dea7c3ad9e0e608f067038eb1e30477fbd8360e
    22131 Author: Frederik Heber <heber@bespin.wiss-staff>
    22132 Date:   Fri Oct 2 17:19:51 2009 +0200
    22133 
    22134     Fixes to the (Non)ConvexTesselation, working with 1_2_dimethoxyethylene
    22135    
    22136     minor changes:
    22137     - BoundaryLineSet::CheckConvexityCriterion() reduced verbosity
    22138     - CalculateConcavityPerBoundaryPoint() moved to tesselationhelpers.cpp
    22139     - FindNonConvexBorder(): flag -> OneLoopWithoutSuccessFlag, failflag -> TesselationFailFlag, N removed
    22140     - FindNonConvexBorder() - CheckListOfBaseline() used before and after insertion of straddling points
    22141     - BoundaryTriangleSet::ContainsBoundaryPoint() overloaded function to check also for TesselPoint
    22142     - Tesselation::InsertStraddlingPoints() - LinkedCell only redone when point was added
    22143     - Tesselation::AddTesselationTriangle() - overloaded function to set index of triangle directly.
    22144     - new function CheckListOfBaselines() - outsourced from FindNonConvexBorder()
    22145    
    22146     major changes:
    22147     - BUGFIX: FindNonConvexBorder() - increment of baseline was missing
    22148     - third step (Flipping baselines) removed from ConvexizeNonconvexEnvelope()
    22149     - BUGFIX: BoundaryTriangleSet::GetIntersectionInsideTriangle() < should have been > in final if-statement to check whether in- or outside
    22150     - Tesselation::InsertStraddlingPoints() - behavior of FindClosestTriangle() changed, hence we have to check whether returned triangle does not contain the point in question.
    22151     - BUGFIX: Tesselation::FlipBaseline() - did not change LastTriangle which caused crashes on writing envelope, as it pointed to delete memory
    22152 
    22153 commit e4a379ed412421dc2eb4f0cd77c6fe6d7cc47ffa
    22154 Author: Frederik Heber <heber@bespin.wiss-staff>
    22155 Date:   Fri Oct 2 17:18:43 2009 +0200
    22156 
    22157     FIX of Vector::GetIntersectionWithPlane()
    22158    
    22159     - Direction was not normalized.
    22160     - simple case of origin is in-plane not immediately returned.
    22161 
    22162 commit 0227a9778aafa7940161d45586d48cd6db8113c8
    22163 Author: Frederik Heber <heber@bespin.wiss-staff>
    22164 Date:   Fri Oct 2 15:01:37 2009 +0200
    22165 
    22166     new tesselation unit test
    22167    
    22168     - excluded some more files (mostly ecut and cppunit stuff)
    22169     - Tesselation unit test added
    22170 
    22171 commit 57066a6de6f2d289266e1e6e8466859414ebf216
    22172 Author: Frederik Heber <heber@bespin.wiss-staff>
    22173 Date:   Mon Sep 28 20:47:54 2009 +0200
    22174 
    22175     Various fixes and attempt to get convex hull working.
    22176    
    22177     - Tesselation::FlipBaseline: Now returns pointer to new baseline or NULL if not flipped
    22178     - Tesselation::PickFarthestofTwoBaselines() returns volume change due to flipping
    22179     - WriteTecplotFile(): ZONE name now contains nodes of last triangle, incorporates upper two changes
    22180     - ConvexizeNonconvexEnvelope(): additional dummy string to add single step output of intermediate envelopes
    22181     - TesselStruct::RemovePointFromTesselatedSurface(): Now returns volume lost due to point removal
    22182     - ConvexizeNonconvexEnvelope() evaluates change in volume due to added/removed points
    22183     - FindNonConvexBorder(): last two parameters have changed position, we check for NULL filename before writing, we add straddling points by InsertStraddlingPoints() (is better than AddBoundaryPointByDegeneratedTriangle()), IsInnerAtom() test removed
    22184     - new function AddBoundaryPointByDegeneratedTriangle() to add outside points
    22185     - StoreTrianglesinFile() contains the triangle storing
    22186     - boundary.cpp: typos, Verbose() changes and Verbosity reduced
    22187     - new function BoundaryTriangleSet::IsPresentTupel(), checks whether two triangles are the same, used in Tesselation::FindTriangles()
    22188     - new attribute Tesselation::LastTriangle contains pointer to last added triangle
    22189     - FIX: Tesselation::FindNextSuitableTriangle() checks for existentTriangleCount between 1 and 3 (as is the number of already present lines) and checks for zero NormalVector of created triangle
    22190     - Tesselation::FindSecondPointForTesselation(): removed parameter Candidate
    22191     - Tesselation::FindClosestTrianglesToPoint() now has a list of triangles from the nearest point which we look through for nearest triangle
    22192     - BUGFIX: Tesselation::IsInnerPoint() now takes center of triangle with respect to point to decide whether in- or outside
    22193     - FIX: Tesselation::GetPathsOfConnectedPoints() notes down touched triangles as well in order move along the surrounding triangles sequentially
    22194     - FIX: Tesselation::RemovePointFromTesselatedSurface(): Huge changes, from the closed path of connected points we remove one by one by adding the respective triangle and try to do it in such an order, that the volume is maximized
    22195    
    22196     - new function Tesselation::FindAllDegeneratedTriangles(), pendant to Tesselation::FindAllDegeneratedLines()
    22197     - FIX: new function Tesselation::RemoveDegeneratedTriangles()
    22198     - new function Tesselation::AddBoundaryPointByDegeneratedTriangle()
    22199    
    22200     Moved tesselation writing to tesselation.cpp
    22201     - WriteVrmlFile(), WriteRaster3dFile(), WriteTecplotFile() moved to tesselation.cpp
    22202     - these also don't use molecule anymore, but the PointCloud structure (hence, bonds are no more visible)
    22203     - new function TesselStruct::Output() which performs the writing
    22204     - new function InsertSphereInRaster3D(), which places a sphere at the position of the last triangle
    22205 
    22206 commit 91e7e4a510c48a116682e9998422b928cf2f1117
    22207 Author: Frederik Heber <heber@bespin.wiss-staff>
    22208 Date:   Mon Sep 28 20:46:25 2009 +0200
    22209 
    22210     new function CalculateVolumeofGeneralTetraeder().
    22211    
    22212     - is used when a point is removed to evaluate the loss of volume in the envelope.
    22213 
    22214 commit d52e70c6c193b4da43bf1669f9b468e2b6092897
    22215 Author: Frederik Heber <heber@bespin.wiss-staff>
    22216 Date:   Mon Sep 28 20:43:02 2009 +0200
    22217 
    22218     Small fixes.
    22219    
    22220     - FIX: atom::~atom(): Name is free'd
    22221     - config::Load(): MDSteps is set to 0 (switched off) if there is only one step
    22222     - vectorunittest.cpp: includes sorted in alphabetical order
    22223 
    22224 commit f7f7a4e1d7ef4e1b6442660248ec41c73e743f8f
    22225 Author: Frederik Heber <heber@bespin.wiss-staff>
    22226 Date:   Mon Sep 28 20:39:28 2009 +0200
    22227 
    22228     Implemenation of embedding merge, untested. LinearInterpolation now has switch for using identity map.
    22229    
    22230     - embed merge in MoleculeListClass determines the non-convex envelope and tries to fill the domain with the filler molecule everywhere outside of this domain
    22231     - is added to MergeMolecule in builder.cpp, case 'e'
    22232     - in molecule::LinearInterpolationBetweenConfiguration() now has additional parameter to tell whether we have to look for a mapping or use the identity.
    22233 
    22234 commit 8cd903035b3501b8a0e39153bb9c28f97d662d5f
    22235 Author: Frederik Heber <heber@bespin.wiss-staff>
    22236 Date:   Mon Sep 28 20:38:06 2009 +0200
    22237 
    22238     LinkedCell has another constructor initialised from LinkedNodes (list of Nodes).
    22239 
    22240 commit d049668ca4fb401ecc4fb71099658175b0c052c9
    22241 Author: Frederik Heber <heber@bespin.wiss-staff>
    22242 Date:   Mon Sep 28 20:31:58 2009 +0200
    22243 
    22244     Added Tesselation unit test
    22245    
    22246     - new file tesselationunittest with simple tetraeder UnitTest for checking IsInnerPoint()
    22247     - added to Makefile.am
    22248 
    22249 commit 29812d568aaa49fa5ca9e12066f70b95b8cfe954
    22250 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    22251 Date:   Mon Sep 21 13:48:42 2009 +0200
    22252 
    22253     Ticket 11: use templates and/or traits to fix Malloc/ReAlloc-Free warnings in a clean manner
    22254 
    22255 commit 065e8257b9effcf42c1551ca4451070554075674
    22256 Author: Frederik Heber <heber@bespin.wiss-staff>
    22257 Date:   Fri Aug 21 14:19:08 2009 +0200
    22258 
    22259     FIX: Tesselation::RemovePointFromTesselatedSurface() is working correctly now, heptan is de-tesselated without any memory leaks.
    22260    
    22261     - changed some verbosity of AddTesselation...() and RemoveTesselation...() to ease bug-hunting
    22262     - new function Tesselation::GetPresentTriangle() which is similar to CheckPresenceofTriangle() but returns the found triangle.
    22263     - new function Tesselation::GetAllTriangles() returns list of all triangles to a given boundary point
    22264     - the following functions and changes are all needed to recreate triangles after removal of a boundary point in the correct manner.
    22265       - removed GetNeighboursOnCircleOfConnectedPoints(), just use GetCircleOfConnectedPoints()
    22266       - new function Tesselation::GetAllConnectedPoints() which returns all uniquely connected points (set not list)
    22267       - changed function GetCircleOfConnectedPoints() which works on GetAllConnectedPoints() to bring them into order of their angles
    22268       - new function Tesselation::GetPathsOfConnectedPoints() and Tesselation::GetClosedPathsOfConnectedPoints() which build upon one another, getting the closed paths the connected points represent by looking at the adjacency of the triangles
    22269       - changed Tesselation::RemovePointFromTesselatedSurface(): Triangles are marked for removal, then removed in one loop. We use GetClosedPathsOfConnectedPoints() to obtain the correct sequence and then go through each of the closed paths and re-create the triangles as before
    22270 
    22271 commit d4fa238d851e8ae11543f492fb106a7a325508b2
    22272 Author: Frederik Heber <heber@bespin.wiss-staff>
    22273 Date:   Fri Aug 21 14:17:52 2009 +0200
    22274 
    22275     New function RemoveAllBoundaryPoints() for sequentially removing all boundary points.
    22276    
    22277     - This is meant as a pre-test for the ConvexizeNonconvexTesselation().
    22278     - new function is incorporated into builder.cpp:ParseCommandLineOptions for case 'o'
    22279 
    22280 commit 9ba9ee5156b811b6889c14479c043d2061fabdc0
    22281 Author: Frederik Heber <heber@bespin.wiss-staff>
    22282 Date:   Fri Aug 21 14:17:25 2009 +0200
    22283 
    22284     formula typo in molecule::PrincipalAxisSystem() fixed
    22285 
    22286 commit 89c8b25b009146faf28147259d014f97a6f3c327
    22287 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    22288 Date:   Thu Aug 20 17:40:49 2009 +0200
    22289 
    22290     Ticket 17: Write new function molecule::CopyMoleculeFromSubRegion()
    22291 
    22292 commit 78b73c83586caecb47414ddf8f13f2e8d0da59b3
    22293 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    22294 Date:   Thu Aug 20 13:35:19 2009 +0200
    22295 
    22296     Ticket 16: Unit tests for Vector::RotateVector(), additionally fixing the function
    22297 
    22298 commit 34e05926b0e581fa27fb52f292bc4ac9378e13b2
    22299 Merge: 1d9b7aa 7c14ecc
    22300 Author: Frederik Heber <heber@bespin.wiss-staff>
    22301 Date:   Wed Aug 19 16:40:33 2009 +0200
    22302 
    22303     Merge branch 'ConcaveHull' of ssh://stud64d-02/home/metzler/workspace/espack into Ticket14
    22304    
    22305     Conflicts:
    22306    
    22307         molecuilder/src/boundary.cpp
    22308         molecuilder/src/tesselation.cpp
    22309    
    22310     - in boundary.cpp: FindConvexBorder() - overlay due to PickFarthestofTwoBaselines()
    22311     - in tesselation.cpp: CheckConvexityCriterion() - overlay due to verbosity change on return, getAngle() -> GetAngle()
    22312 
    22313 commit 1d9b7aa1fbdc49500a7e863a8553e98d6859a779
    22314 Author: Frederik Heber <heber@bespin.wiss-staff>
    22315 Date:   Wed Aug 19 16:31:29 2009 +0200
    22316 
    22317     Smaller fixes, but convex tesselation not working yet
    22318    
    22319     - BoundaryPointSet::value initialized.
    22320     - ConvexizeNonconvexEnvelope() - iteratively FlipBaselines() and RemovePointFrom...()
    22321     - BoundaryLineSet::CheckConvexityCriterion() returns convex if triangles are missing, reduced verbosity
    22322     - Tesselation::IsConvexRectangle() - not working due to buggy GetClosestPoint and ClosestPoint was removed too early
    22323     - BUGFIX: GetClosestPointBetweenLine() - NewOffset was wrong, projection to relative to plane offset, NewDirection wrong also, as has to be absolute, not relative for GetIntersection...()
    22324     - Tesselation::RemovePointFromTesselatedSurface() - we first gather all removal candidates, then erase them, still memory leaks and warnings from valgrind though
    22325 
    22326 commit 99c4846fa2f358d851a49eaa19e8427645cac325
    22327 Merge: 0077b5c ef9df36
    22328 Author: Frederik Heber <heber@bespin.wiss-staff>
    22329 Date:   Wed Aug 19 14:30:21 2009 +0200
    22330 
    22331     Merge branch 'VectorUnitTest' into ConcaveHull
    22332 
    22333 commit ef9df3674aa570dbb84b779f3c1e9026ab21dbeb
    22334 Author: Frederik Heber <heber@bespin.wiss-staff>
    22335 Date:   Wed Aug 19 14:23:05 2009 +0200
    22336 
    22337     VectorUnitTest extended to Projections and Line intersection, some subsequent bug fixes.
    22338    
    22339     - VectorUnitTest is now under noinst_PROGRAMS, not installed in bin anymore
    22340     - VectorUnitTest: EuclidianTest split up into EuclidianScalarProductTest,EuclidianNormTest,EuclidianDistancesTest,EuclidianDistancesTest
    22341     - New VectorUnitTests: ProjectionTest and LineIntersectionTest
    22342     - BUGFIX: Vector::GetIntersectionWithPlane() - bug due to LineVector renaming (LineVector, LineVector2 -> Origin, LineVector), used LineVector instead of Origin (LineVector however is now relative to Origin!)
    22343     - BUGFIX: Vector::GetIntersectionOfTwoLinesOnPlane() - completely rewritten, algorithm was non-sense or at least not understood.
    22344    
    22345     Note: VectorUnitTest is running fine.
    22346 
    22347 commit 658efbccf150d86344577a2c04b5ed24167f3d03
    22348 Author: Frederik Heber <heber@bespin.wiss-staff>
    22349 Date:   Wed Aug 19 14:22:08 2009 +0200
    22350 
    22351     Replaced Vector::Projection() by Vector::ScalarProduct()
    22352    
    22353     - Projection before was just a return of the Vector::ScalarProduct(). We change it now, to make it return a projected vector, the counterpart to ProjectOntoPlane
    22354 
    22355 commit 7c14ecc020f95af3d19a6e849aec7d1868a750d2
    22356 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    22357 Date:   Tue Aug 18 15:59:11 2009 +0200
    22358 
    22359     Ticket 15: new function RemoveDegeneratedTriangles()
    22360     Added functions to find and remove surplus degenerated triangles.
    22361 
    22362 commit 54a746bf13a012b2b59a27439528a582d34912f8
    22363 Author: Frederik Heber <heber@bespin.wiss-staff>
    22364 Date:   Tue Aug 18 10:38:46 2009 +0200
    22365 
    22366     Incorporation of Unit test on class Vector.
    22367    
    22368     - new file leastsquaremin.[ch]pp has least square minimisation which is otherwise unclean between classes molecules and Vector
    22369    
    22370     Unit test (later tests rely on good results of earlier ones)
    22371     - incorporation of cppunit into configure.ac and Makefile.am of molecuilder/src
    22372     - UnityTest: test IsZero and IsOne
    22373     - SimpleAlgebraTest: tests algebra
    22374     - OperatorAlgebraTest: tests algebra with operator implementations
    22375     - EuclidianTest: tests norms and distances
    22376    
    22377     changes to class Vector:
    22378     - Vector::IsNull() -> IsZero()
    22379     - new function Vector::IsOne() similar to IsZero()
    22380     - BUGFIX: Vector::IsNULL() (thx to unit test :)
    22381    
    22382     - Tesselation::getAngle() changed due to above rename
    22383 
    22384 commit 0077b5c0708da6c63d98d637cee5272400fe8565
    22385 Author: Frederik Heber <heber@bespin.wiss-staff>
    22386 Date:   Tue Aug 18 10:42:39 2009 +0200
    22387 
    22388     Further bugfixes to three-step-procedure in convex envelope, not yet working.
    22389    
    22390     - new functions StoreTrianglesinFile() and CalculateConcavityPerBoundaryPoint
    22391     - new functions Tesselation::PrintAll...() to print all points, lines and triangles currently on the boundary (simply to remove commented-out code)
    22392     - FIX: Tesselation::IsConvexRectangle(): just needs one closest point and simply checks the sign of the scalar product with both endpoints to determine in-/outside
    22393     - BUGFIX: Tesselation::PickFarthestofTwoBaselines(): NewOffset was wrong by the offset to the plane
    22394 
    22395 commit f1cccd4375bd7f3e03fcaa64b9c44bc032e44c74
    22396 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    22397 Date:   Mon Aug 17 15:20:16 2009 +0200
    22398 
    22399     Ticket 14: Rename .._.. functions in boundary.cpp
    22400 
    22401 commit 0936451cc73a5f07a9a4d57aa947d09abf3898a4
    22402 Author: Frederik Heber <heber@bespin.wiss-staff>
    22403 Date:   Mon Aug 17 12:48:03 2009 +0200
    22404 
    22405     Rewrite of ConvexizeNonconvexEnvelope() with three steps: Remove concave spots, make all lines best possible, removed concave lines. Is not working yet!
    22406    
    22407     - fixes to write_tecplot_file(): Checks for NULL TesselStruct, write variable extra variable U (contained in BoundaryPointSet), and use .size() instead of ...onBoundaryCount for numbers
    22408     - Find_convex_border(): while loop till break in CorrectConcaveBaselines() replaced by a single loop over all boundary lines with PickFarthestofTwoBaselines()
    22409     - ConvexizeNonconvexEnvelope(): documentation, needs molecule and filename to save tesselations, three steps consisting of single loops: RemovePointFromTesselatedSurface(), PickFarthestofTwoBaselines(), IsConvexRectangle(). And we calculate remaining concavity by CheckConvexityCriterion for all lines to a boundary point and store it as "U" in the tecplot files.
    22410 
    22411 commit 16d86622dc2c759142b589c64308c884f9339eb6
    22412 Author: Frederik Heber <heber@bespin.wiss-staff>
    22413 Date:   Mon Aug 17 12:30:53 2009 +0200
    22414 
    22415     documentation, some renames (..Triangle.. -> ..Tesselation..) and a bunch of new functions needed for ConvexizeNonconvexEnvelope()
    22416    
    22417     - all of function documentation in place
    22418     - AddTriangle...() is now called AddTesselation...() which makes more sense, as they mainly add points, lines and triangles to the global tesselation lists
    22419     - New functions RemoveTesselation...() that erase points, lines and triangles and are counterparts to the AddTesselation...() functions (Note: They mostly do what the destructors did, only they erase also from global lists by not calling delete for subelements, but RemoveTesselation...() which does the job)
    22420     - ~BoundaryLineSet() checks whether both endpoints are still present, is more robust, as they may be missing from RemoveTesselation...()
    22421     - ~BoundaryTriangleSet() checks earlier whether lines are still present, same argument
    22422     - AddPoint() is now called AddBoundaryPoint(), works on *BPS array, AddTesselation...() work on *TPS array -> cleaner separation
    22423     - new function Tesselation::IsConvexRectangle() checks whether the rectangle made out of the four points of the two triangles with the same baseline in between, is convex or concave. this is needed for ConvexizeNonconvexEnvelope()
    22424     - Tesselation::CorrectConcaveBaselines() renamed to Tesselation::PickFarthestofTwoBaselines, which uses GetClosestPointBetweenLine() to check whether one baseline is above the other with respect to the BaseLineNormal vector and always modies the tesselation so that the higher one is used.
    22425     - new function GetClosestPointBetweenLine() which calculates the closest point on a line with respect to another line.
    22426     - new function Tesselation::FlipBaseline() does most of what CorrectConcaveBaseLine() did before only without the Convexity check (is done in boundary.cpp:Convexize...())
    22427     - Tesselation::GetCircleOfConnectedPoints() renamed to Tesselation::getNeighboursonCircleofConnectedPoints() and new function Tesselation::GetCircleOfConnectedPoints() which really returns just the circle of points, the renamed function works on the result of the new one.
    22428     - new function Tesselation::RemovePointFromTesselatedSurface() which just removes the point, re-creating its triangles with the remainder of the points to keep the surface closed.
    22429 
    22430 commit 86381b38132f1af7b1e83f6a7c271dc5decbac5c
    22431 Author: Frederik Heber <heber@bespin.wiss-staff>
    22432 Date:   Mon Aug 17 12:29:03 2009 +0200
    22433 
    22434     Sorted the menu list in ParseCommandLineParamaters() and print volume instead of surface for case 'o'
    22435 
    22436 commit 7e19c35db99594a84d90502517362ecf24203356
    22437 Author: Frederik Heber <heber@bespin.wiss-staff>
    22438 Date:   Thu Aug 13 22:31:12 2009 +0200
    22439 
    22440     First version of the user guide in xml (docbook format)
    22441    
    22442     - introduction, gui and command-line interface
    22443 
    22444 commit 570125a3ba6c2ef5e3412fa0a5f0511fb9b58bdb
    22445 Author: Frederik Heber <heber@bespin.wiss-staff>
    22446 Date:   Thu Aug 13 22:30:07 2009 +0200
    22447 
    22448     Manpage is created via xmlto with a docbook stylesheet.
    22449    
    22450     - Hooks in Makefile.am are taken from TREMOLO project
    22451     - manpage is in molecuilder/doc/molecuilder.xml.in
    22452 
    22453 commit 08ef350a55813b0a4db675d13b4659553f889216
    22454 Author: Frederik Heber <heber@ins.uni-bonn.de>
    22455 Date:   Mon Aug 10 18:11:47 2009 +0200
    22456 
    22457     New function ConvexizeNonconvexEnvelope() to calculate the volume of a non-convex envelope.
    22458    
    22459     The central idea is that the volume of a convex envelope is easy to determine as a sum of pyramids with respect to a center inside the envelope. Hence, if we can "reduce" the non-convex envelope to a convex one in such a way that we know the added volume, we may determine the volume of a non-convex envelope.
    22460     The nice side effect is that we may use our Find_non_convex_border() algorithm to calculate also the convex envelope.
    22461    
    22462     - We go through all BoundaryPoints and check whether one of its Baselines does not fulfill the ConvexCriterion. If so, we remove it, as it can not be a boundary point on the convex envelope, and re-construct the attached triangles. The added volume is a general tetraeder, whose formula is known.
    22463     - FIX: Find_convex_border() - We check whether AddPoint is successful or not.
    22464     - builder.cpp: case 'o' - changed to use ConvexizeNonconvexEnvelope() instead of Find_convex_border()
    22465     - Tesselation:AddPoint() - now takes second argument which is the index for BPS and always set BPS to either the newly created or the already present point. Return argument discerns between new and already present point.
    22466     - Tesselation::BPS, BLS, BTS are now public not private. We have to access them from ConvexizeNonconvexEnvelope()
    22467 
    22468 commit 5c7bf82e2f560799e5659f7449a8e27e32e57f91
    22469 Author: Frederik Heber <heber@ins.uni-bonn.de>
    22470 Date:   Sat Aug 8 21:25:28 2009 +0200
    22471 
    22472     BUGFIXes to Find_convex_... and Find_non_convex_... algorithms
    22473    
    22474     - Find_non_convex_border() - very first baseline of starting triangle is skipped as it is the most outward.
    22475     - BoundaryLineSet::TrianglesCount is removed and replaced by triangles.size(), as it is redundant and we made mistakes in not reducing TrianglesCount on triangle erase.
    22476     - BoundaryLineSet::CheckConvexityCriterion() - extra check when NormalVector point in the very same directions,
    22477     - BoundaryTriangleSet::GetIntersectionInsideTriangle() - CrossPoint return value is checked, i===3 checked not >3!
    22478     - new stream operator for TesselPoint with single argument.
    22479     - class Tesselation inherits PointCloud and implements all functions (including virtual destructor) in order to have PointsOnBoundary parsable by LinkedCell.
    22480     - Tesselation::InsertStraddlingPoints() - LinkedCell is created for every atom just from the BoundaryPoints and not for all (so that only BoundaryPoints can be found), old triangle is now really deleted, lots of verbosity added and fixed.
    22481     - Tesselation::GetCommonEndpoint() - connectedClosestPoint is deleted lateron, SecondPoint argument but not used.
    22482     - Tesselation::FindClosestPoint() - returns second second closest point in new second argument.
    22483     - Tesselation::getCircleOfConnectedPoints() - we find the BoundaryPoint if possible and just look through its lines if found, plane is centered at closest point and normal is between it and the center of all on circle, getAngle() corrections incorporated and vector is always projected onto circle plane.
    22484     - new function Tesselation findSecondClosestPoint().
    22485     - getAngle() - just receives third vector with which it dedices between [0,pi) and [pi,2pi), the vectors are assumed to be relative to one common center already.
    22486 
    22487 commit 8bb475fa04486206c9cea1c5ac3b23dc6b485b02
    22488 Author: Frederik Heber <heber@ins.uni-bonn.de>
    22489 Date:   Sat Aug 8 21:22:28 2009 +0200
    22490 
    22491     ParseCommandLineOptions(), NonConvex tesselation is now clocked.
    22492 
    22493 commit 46670dae4437df2f6e77b2dd3520e2154529a2c4
    22494 Author: Frederik Heber <heber@ins.uni-bonn.de>
    22495 Date:   Sat Aug 8 21:19:23 2009 +0200
    22496 
    22497     BUGFIXES to some vector functions.
    22498    
    22499     - Vector::MakeNormalVector() ... Projection lacks ../Norm()/Norm() and hence produced wrong vector.
    22500     - Vector::GetIntersectionWithPlane() - checks for uniqueness and Bronstein formula removed and correct one implemented.
    22501     - Vector::GetIntersectionOfTwoLinesOnPlane() - Bronstein formula removed, correct procedure implemented.
    22502     - Vector::IsNull() is const function.
    22503 
    22504 commit 055861eafd52160fc810dab2462158c84732865e
    22505 Author: Frederik Heber <heber@ins.uni-bonn.de>
    22506 Date:   Sat Aug 8 21:17:51 2009 +0200
    22507 
    22508     new stream operator with just one parameter and virtual destructor
    22509 
    22510 commit 8d31ce674fb76b7998a2a9a53500aea52dd6b405
    22511 Author: Frederik Heber <heber@ins.uni-bonn.de>
    22512 Date:   Fri Aug 7 14:50:27 2009 +0200
    22513 
    22514     excluded unimportant stuff, depcomp and install-sh from util
    22515 
    22516 commit 133d56d645e8dd889bb7a2a950dd50a4b08afcaf
    22517 Author: Frederik Heber <heber@ins.uni-bonn.de>
    22518 Date:   Fri Aug 7 14:48:06 2009 +0200
    22519 
    22520     output of terminating special property comment in .r3d file had no "#" in front.
    22521 
    22522 commit 1999d87b6471a288af309168af32747b142fec73
    22523 Author: Frederik Heber <heber@ins.uni-bonn.de>
    22524 Date:   Fri Aug 7 14:46:27 2009 +0200
    22525 
    22526     BUGFIX: PointCloud implementation in molecule stopped one before last, IsLast() -> IsEnd()
    22527    
    22528     - PointCloud function rename: IsLast() -> IsEnd()
    22529     - molecule::GoToNext() goes till end, not till end->previous
    22530 
    22531 commit f3278bbc247394ddf549f3044faf52fd11b71543
    22532 Author: Frederik Heber <heber@bespin.wiss-staff>
    22533 Date:   Fri Aug 7 11:13:21 2009 +0200
    22534 
    22535     Test case of filling a simulation domain with water included.
    22536 
    22537 commit 1953f90f687a36e6e1f3655d77841bf98a36954c
    22538 Author: Frederik Heber <heber@bespin.wiss-staff>
    22539 Date:   Fri Aug 7 11:12:19 2009 +0200
    22540 
    22541     FIX: We have to check whether we create a degenerate triangle also on its first occurence! I.e. in all cases we don't want to create two lines in place were one is already with two triangles attached.
    22542    
    22543     This fixed a bug with cholesterol immediately.
    22544 
    22545 commit 9f97c592967c6641dc8bc6bedc88f12cc114a8ff
    22546 Author: Frederik Heber <heber@bespin.wiss-staff>
    22547 Date:   Tue Aug 4 15:55:11 2009 +0200
    22548 
    22549     FillWithMolecule() for testing built into ParseCommandLine()
    22550 
    22551 commit ef0e6d96aad35cd075ae8135b5ccdb5f89b697c9
    22552 Author: Frederik Heber <heber@bespin.wiss-staff>
    22553 Date:   Tue Aug 4 15:53:55 2009 +0200
    22554 
    22555     find_(non)_convex_border TesselStruct is not free'd anymore, mol->TesselStruct used, find_non_convex_border fixes but incomplete
    22556 
    22557 commit 62bb9107f821c9042c74ce527f8ea92836fdb98c
    22558 Author: Frederik Heber <heber@bespin.wiss-staff>
    22559 Date:   Tue Aug 4 15:48:57 2009 +0200
    22560 
    22561     Fixes for concave hull creation
    22562    
    22563     - fixed BoundaryLineSet::CheckConvexityCriterion(), we now compare the two heights of the triangles, not the NormalVector which was nonsense
    22564     - new functions BoundaryLineSet::GetOtherEndpoint(), BoundaryTriangleSet::GetThirdEndpoint()
    22565     - Tesselation::InsertStraddlingPoints() receives LinkedCell pointer and uses FindClosestTrianglesToPoint(), and some verbosity added
    22566     - generally replaced [aA]tom by [pPoint]
    22567     - Tesselation::CorrectConcaveBaselines() (almost) corrected
    22568     - IsInnerPoint is overloaded function which calls FindClosestTriangleToPoint() to decide
    22569     - getAngle() receives references instead of copies with exception of OrthogonalVector which is made orthonormal to reference - center (is a FIX)
    22570 
    22571 commit 03e57a66d5166aefd366ba8b83e5c9048de1138d
    22572 Author: Frederik Heber <heber@bespin.wiss-staff>
    22573 Date:   Tue Aug 4 15:47:05 2009 +0200
    22574 
    22575     Smaller FIXES to molecule class
    22576    
    22577     - new pointer TesselStruct was not initialzied to NULL
    22578     - corrected molecule::CenterInBox(), it now really centers in the given cell_size box (no idea what it did before that)
    22579     - as TesselStruct is now a part of the molecule, we remove it on deleting the molecule if it's not NULL
    22580 
    22581 commit ab193235b483df715e298c1c8ca5b09c5ada6abb
    22582 Merge: 0dbddc2 edb93cc
    22583 Author: Frederik Heber <heber@ins.uni-bonn.de>
    22584 Date:   Mon Aug 3 22:21:05 2009 +0200
    22585 
    22586     Merge branch 'TesselationRefactoring' into ConcaveHull
    22587    
    22588     Conflicts:
    22589    
    22590         molecuilder/src/boundary.cpp
    22591         molecuilder/src/boundary.hpp
    22592         molecuilder/src/linkedcell.cpp
    22593         molecuilder/src/linkedcell.hpp
    22594         molecuilder/src/molecules.hpp
    22595    
    22596     All of Saskia Metzler's new function were transfered from boundary.cpp to tesselation.cpp and the changes due to TesselPoint, LinkedCell and so on incorporated.
    22597 
    22598 commit 0dbddc24a89f547aa564634e7647f87ec8ce9700
    22599 Merge: 2319ed7 8c54a3b
    22600 Author: Frederik Heber <heber@ins.uni-bonn.de>
    22601 Date:   Mon Aug 3 20:58:46 2009 +0200
    22602 
    22603     Merge branch 'ConcaveHull' of ssh://heber@192.168.194.2/home/metzler/workspace/espack into ConcaveHull
    22604    
    22605     Conflicts:
    22606    
    22607         molecuilder/src/atom.cpp
    22608         molecuilder/src/boundary.cpp
    22609         molecuilder/src/boundary.hpp
    22610         molecuilder/src/linkedcell.cpp
    22611         molecuilder/src/linkedcell.hpp
    22612         molecuilder/src/molecules.hpp
    22613         molecuilder/src/vector.hpp
    22614    
    22615     - added Saskia Metzler's code that finds whether a point is in- or outside.
    22616     - The code is not yet incorporated, but I rather want to continue with merging TesselationRefactoring first.
    22617 
    22618 commit 8c54a3b5f6bdf770309a91dff75fb62f47d91b6d
    22619 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    22620 Date:   Mon Aug 3 18:48:46 2009 +0200
    22621 
    22622     Adding functions IsInnerAtom() and IsInnerPoint() which can check whether an atom (or a point) is inside or outside the tesselation structure.
    22623 
    22624 commit ee1b1672b32e3729acbddd8118c30803b9bca638
    22625 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    22626 Date:   Mon Aug 3 18:48:00 2009 +0200
    22627 
    22628     Compare and output operator for atom takes const argumen
    22629 
    22630 commit 0f453875346dd787f21aaad4f1becabd1a2451af
    22631 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    22632 Date:   Mon Aug 3 18:45:38 2009 +0200
    22633 
    22634     new function LinkedCell::GetNeighbourBounds()
    22635    
    22636     - LinkedCell::GetNeighbourBounds() needed as atom or vector to seek nearest neighbour for must not necessarily be contained in the LinkedCell grid itself. Hence, we have to use specific bounds for the NN search which this function returns.
    22637 
    22638 commit 9c20aaa1c08f264c3ed52a051a26143ef9f89b2e
    22639 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    22640 Date:   Mon Aug 3 18:44:16 2009 +0200
    22641 
    22642     new function isNull(), output operator takes const argument
    22643 
    22644 commit 321a1147844ffaa7cfb1635ec3753966bbb0bba2
    22645 Author: Saskia Metzler <metzler@stud64dc-03.wiss-stud>
    22646 Date:   Mon Aug 3 18:43:42 2009 +0200
    22647 
    22648     output operator now takes const argument
    22649 
    22650 commit edb93cca39cdba9e5dedc74589ea71ab1742cedd
    22651 Author: Frederik Heber <heber@bespin.wiss-staff>
    22652 Date:   Mon Aug 3 17:26:32 2009 +0200
    22653 
    22654     Some minor fixes with regards to what needs to be included where and not more.
    22655 
    22656 commit cd4ccccc02ace6d5e4493281f6cfec892fadbdcf
    22657 Author: Frederik Heber <heber@bespin.wiss-staff>
    22658 Date:   Mon Aug 3 17:09:12 2009 +0200
    22659 
    22660     definitions for class element and verbose moved to their own header files and reducing contents of helpers.hpp
    22661 
    22662 commit a80fbdfe7ff2c5de6edfc1365430bcadc4e1a6a3
    22663 Author: Frederik Heber <heber@bespin.wiss-staff>
    22664 Date:   Mon Aug 3 16:58:43 2009 +0200
    22665 
    22666     class config definitions moved to their own header file.
    22667    
    22668     NOTE: Tesselation of heptan was working correctly! (The config file just grew bigger and bigger that's why more and more triangles were added)
    22669 
    22670 commit 357fba6ccb2cf9e2d97f501d5968558a706028a5
    22671 Author: Frederik Heber <heber@bespin.wiss-staff>
    22672 Date:   Mon Aug 3 16:48:42 2009 +0200
    22673 
    22674     Huge refactoring of Tesselation routines, but not finished yet.
    22675    
    22676     - new file tesselation.cpp with all of classes tesselation, Boundary..Set and CandidatesForTesselationOB
    22677     - new file tesselationhelper.cpp with all auxiliary functions.
    22678     - boundary.cpp just contains super functions, combininb molecule and Tesselation pointers
    22679     - new pointer molecule::TesselStruct
    22680     - PointMap, LineMap, TriangleMap DistanceMap have been moved from molecules.hpp to tesselation.hpp
    22681     - new abstract class PointCloud and TesselPoint
    22682     - atom inherits TesselPoint
    22683     - molecule inherits PointCloud (i.e. a set of TesselPoints) and implements all virtual functions for the chained list
    22684     - TriangleFilesWritten is thrown out, intermediate steps are written in find_nonconvex_border and not in find_next_triangle()
    22685     - LinkedCell class uses TesselPoint as its nodes, i.e. as long as any class inherits TesselPoint, it may make use of LinkedCell as well and a PointCloud is used to initialize
    22686     - class atom and bond definitions have been moved to own header files
    22687    
    22688     NOTE: This is not bugfree yet. Tesselation of heptan produces way too many triangles, but runs without faults or leaks.
    22689 
    22690 commit 2319ed7194f122bf4ff43ec6b7ea796f88df7fb3
    22691 Author: Frederik Heber <heber@bespin.wiss-staff>
    22692 Date:   Mon Aug 3 10:10:09 2009 +0200
    22693 
    22694     We are one step further in fixing the convex hull: There are two functions of Saskia Metzler missing, but then we may proceed with testing whether the simple correction scheme of the convex envelope works, but one thing: Right now we cannot associate a Tesselation to its molecule as the snake bites it's one tail. Hence, the next commit will consist of fixing this bad-OOP issue.
    22695    
    22696     - Makefile.am: Just some alphabetical resorting.
    22697     - atom::atom() new copy constructor
    22698     - builder.cpp: some output for cluster volume, molecule::AddCopyAtom() uses new copy constructor
    22699     - FillBoxWithMolecule() - new function to fill the remainder of the simulation box with some given filler molecules. Makes explicit use of the tesselated surfaces
    22700     - find_convex_border() - InsertStraddlingPoints() and CorrectConcaveBaselines() is called to correct for atoms outside the envelope and caused-by concave points
    22701     - Tesselation::InsertStraddlingPoints() enlarges the envelope for all atoms found outside, Tesselation::CorrectConcaveBaselines() corrects all found baselines if the adjacent triangles are concave by flipping.
    22702     - boundary.cpp: Lots of helper routines for stuff further below:
    22703       - BoundaryLineSet::IsConnectedTo() checks whether lines have common endpoint
    22704       - BoundaryLineSet::CheckConvexityCriterion() checks whether adjacent triangles are convex or concave
    22705       - BoundaryLineSet::ContainsBoundaryPoint() checks whether line contains a given boundary point
    22706       - BoundaryTriangleSet::ContainsBoundaryLine() and BoundaryTriangleSet::ContainsBoundaryPoint() check whether triangle contains boundary line or point
    22707       - BoundaryTriangleSet::GetIntersectionInsideTriangle() calculates intersection point between line and triangle,
    22708     - The following routines are needed to check whether point is in- or outside:
    22709       - Vector::GetIntersectionWithPlane() calculates intersection point of a plane and a line.
    22710       - Vector::GetIntersectionOfTwoLinesOnPlane() intersection of two lines on the same plane.
    22711     - FIX: Tesselation::AddPoint() - newly created BoundaryPoint is removed if already present.
    22712    
    22713     Problem: We want to associate a Tesselation class with each molecule class. However, so far we have to know about atoms and bond and molecules inside the Tesselation. We have to remove this dependency and create some intermediate class which enables/encapsulates the access to Vectors, e.g. hidden inside the atom class. This is also good OOP! The Tesselation also only needs a set of Vectors, not more!
    22714 
    22715 commit e1589ea2c3a4eed43b9502009d458076e3ade3cb
    22716 Author: Frederik Heber <heber@bespin.wiss-staff>
    22717 Date:   Tue Jul 28 15:02:51 2009 +0200
    22718 
    22719     Convex tesselation is now working also for heptan. But the convex hull of the bigger molecules is too small.
    22720    
    22721     - GetBoundaryPoints(): Replaced Norm() by NormSquared where possible
    22722     - GetBoundaryPoints(): When throwing out points, comparison between height and MinDistance now takes MYEPSILON environment into account.
    22723     - Tesselation::TesselateOnBoundary(): BUGFIX - BaseLineCenter was calculated twice the sum of one endpoint not of either endpoint.
    22724     - Tesselation::TesselateOnBoundary(): We check if target and winner have same angle which of the two has angle close to desired propagation direction.
    22725 
    22726 commit d4d0ddccf2853b9e013bf8204dd622c8f530826e
    22727 Author: Frederik Heber <heber@bespin.wiss-staff>
    22728 Date:   Tue Jul 28 15:01:15 2009 +0200
    22729 
    22730     New function Vector::NormSquared() and Angle checks whether Norm's are unequal to zero.
    22731    
    22732     - New function Vector::NormSquared() calculates norm squared
    22733     - Vector::Angle() checks whether the norms of the vectors are not zero, otherwise returning M_PI
    22734 
    22735 commit a567c3a8651fbb1c0c56eed16c6e5bedfe17a176
    22736 Author: Frederik Heber <heber@bespin.wiss-staff>
    22737 Date:   Tue Jul 28 12:31:26 2009 +0200
    22738 
    22739     ConvexTesselation working again.
    22740    
    22741     - File was not written, as NULL was given in builder.cpp instead of argv[argptr]
    22742     - Tesselation::TesselateOnBoundary() - lots of small errors with the normal vector of the triangle, the propagation direction check and so forth
    22743     - DetermineCenterOfAll() has sign changed, this was adapted in boundary.cpp
    22744     - heptan is NOT working yet, as too many boundary points are thrown away
    22745 
    22746 commit fcc9b099e73c625e76e054aaefb6335f45efa939
    22747 Author: Frederik Heber <heber@bespin.wiss-staff>
    22748 Date:   Mon Jul 27 16:53:57 2009 +0200
    22749 
    22750     FIX: DetermineCenterOfAll() did point in wrong direction, convex envelope working again, but algorithm is not stable
    22751    
    22752     - molecule::DetermineCenterOfAll() center was the sum of all scaled by -1/Number instead of 1/Number. This was corrected for in the code elsewhere. Now, it returns the correct center and where it's elsewhere called we subtract instead of add
    22753     - Tesselation::TesselateOnBoundary() does now something meaningful. The NormalVector for the starting triangle could not be constructed, as we lacked the initial normal vector. It is however easy to construct from the center of all and the center of the starting triangle. However, the algorithm is faulty for 1_2_dimethylethane.
    22754     - GetBoundaryPoints() - as we do not translate to center of gravity anymore, we have to subtract the center of all. Otherwise the radial method for determining boundary points does not work.
    22755    
    22756     Is not yet working.
    22757 
    22758 commit 3c4f0435d3d801e00da1a7a1cedd00e8cef9988f
    22759 Author: Frederik Heber <heber@bespin.wiss-staff>
    22760 Date:   Mon Jul 27 16:19:12 2009 +0200
    22761 
    22762     BUGFIX: config::Load() added atoms in wrong order, hence resulting in wrong names.
    22763    
    22764     - config::Load() - int in LinearList should have been mapped not original one
    22765 
    22766 commit b6d8a94261d259df5d3291b5b164bb1d0c98aa1d
    22767 Author: Frederik Heber <heber@bespin.wiss-staff>
    22768 Date:   Mon Jul 27 16:08:27 2009 +0200
    22769 
    22770     BUGFIX: ManipulateAtoms() had mol = NULL
    22771    
    22772     - in ManipulateAtoms() the mol was not set to *ListRunner
    22773 
    22774 commit a20e6a14f955389f8b2eec083a93d9553a145ba5
    22775 Author: Frederik Heber <heber@bespin.wiss-staff>
    22776 Date:   Mon Jul 27 16:07:25 2009 +0200
    22777 
    22778     BUGFIX: molecule::ReturnFullMatrixforSymmetric had it still all wrong.
    22779    
    22780     - molecule::ReturnFullMatrixforSymmetric() corrected
    22781     - InverseMatrixMultiplication() prints det on error
    22782 
    22783 commit d30402b028f6482fde29f70c53eebba7e5dd62aa
    22784 Author: Frederik Heber <heber@bespin.wiss-staff>
    22785 Date:   Mon Jul 27 10:16:03 2009 +0200
    22786 
    22787     Split VolumeOfConvexEnvelope() into find_convex_border() and remainder.
    22788    
    22789     - Convex envelope is not working anymore, in the state of fixing it and trying to refactor code a bit.
    22790     - planned to have VolumeOfConvexEnvelope() to be replaced by VolumeOfEnvelope(), which can also do Non-Convex-Envelopes
    22791 
    22792 commit 36ec71f4484a1913d51cd83e623c516fde7c113f
    22793 Merge: 042f828 51c910f
    22794 Author: Frederik Heber <heber@bespin.wiss-staff>
    22795 Date:   Thu Jul 23 16:23:32 2009 +0200
    22796 
    22797     Merge branch 'master' into ConcaveHull
    22798    
    22799     Conflicts:
    22800    
    22801         molecuilder/src/analyzer.cpp
    22802         molecuilder/src/bond.cpp
    22803         molecuilder/src/boundary.cpp
    22804         molecuilder/src/boundary.hpp
    22805         molecuilder/src/builder.cpp
    22806         molecuilder/src/config.cpp
    22807         molecuilder/src/datacreator.cpp
    22808         molecuilder/src/datacreator.hpp
    22809         molecuilder/src/defs.hpp
    22810         molecuilder/src/ellipsoid.cpp
    22811         molecuilder/src/joiner.cpp
    22812         molecuilder/src/molecules.cpp
    22813         molecuilder/src/molecules.hpp
    22814         molecuilder/src/parser.cpp
    22815         molecuilder/src/parser.hpp
    22816    
    22817     merges:
    22818     - analyzer.cpp: all from master, due to Hessian; only Chi(PAS)Fragments from HEAD
    22819     - bond.cpp: bond::GetOtherAtom gives cerr output if neither atom matches from master
    22820     - boundary.cpp: all from HEAD, is tesselation stuff
    22821     - boundary.hpp: all from HEAD, is tesselation stuff
    22822     - builder.cpp: Center...(), RemoveAtoms(), SaveConfig() from master, is MultipleMolecules, rest from HEAD (Translation and ...)
    22823     - config.cpp: FileBuffer stuff from HEAD, only some taken over from HEAD
    22824     - datacreator.cpp: all from master, is Hessian
    22825     - datacreator.hpp: all from master, is Hessian
    22826     - defs.hpp: all from master, is Thermostat
    22827     - ellipsoid.cpp: all from HEAD, created during tesselation
    22828     - joiner.cpp: all from master, is Hessian
    22829     - molecules.cpp: molecule::molecule(), ConstrainedPotential() stuff, Thermostats(), RemoveAtom(),CreateAdjacencyList(), FragmentMolecule() from master, CenterInBox(), CenterEdge(), CenterOrigin(), CenterPeriodic() (instead of CenterAtVector()), TranslatePeriodically(), DeterminePeriodicCenter(), Output...(), ReturnFullForSymmnetricMatrix() from HEAD
    22830     - molecules.hpp: see above, ConfigfileBuffer struct from HEAD, class config joined
    22831     - parser.cpp: all from master, is Hessian
    22832     - parser.hpp: all from master, is Hessian
    22833    
    22834     compilation fixes:
    22835     - molecules.cpp: PrincipalAxisSystem() - CenterGravity() -> CenterOrigin(), DetermineCenter() -> DeterminePeriodicCenter
    22836     - datacreator.cpp: all char * to const char *
    22837     - builder.cpp: ParseCommandLineOptions() - case 'c': had argptr++ and argptr+=3; case 'O' - x was not zero'd
    22838 
    22839 commit 042f8283d213f623e8320856dfac9e6d55aa6800
    22840 Author: Frederik Heber <heber@bespin.wiss-staff>
    22841 Date:   Thu Jul 23 16:21:57 2009 +0200
    22842 
    22843     fixed indentation from tabs to two spaces.
    22844 
    22845 commit 51c910f40c6eb9f4f247c7ecb68574a129861691
    22846 Merge: d067d45 375b458
    22847 Author: Frederik Heber <heber@bespin.wiss-staff>
    22848 Date:   Thu Jul 23 16:04:47 2009 +0200
    22849 
    22850     Merge branch 'AtomRemoval'
    22851    
    22852     Conflicts:
    22853    
    22854         molecuilder/src/builder.cpp
    22855         molecuilder/src/molecules.cpp
    22856    
    22857     merges:
    22858     - builder.cpp: case 'R' in ParseCommandLineOptions from AtomRemoval, also bugfix in RemoveAtoms(), rest from HEAD
    22859     - molecules.cpp: Basically all from HEAD because of MultipleMolecules and ConstrainedMD
    22860 
    22861 commit 375b4589d3335eeefe2cda072f13207108281969
    22862 Author: Frederik Heber <heber@bespin.wiss-staff>
    22863 Date:   Thu Jul 23 15:53:01 2009 +0200
    22864 
    22865     fixed indentation from tabs to two spaces.
    22866 
    22867 commit d067d459977745a73acc480166336590b6ba19cf
    22868 Merge: ce5ac38 4379223
    22869 Author: Frederik Heber <heber@bespin.wiss-staff>
    22870 Date:   Thu Jul 23 14:34:47 2009 +0200
    22871 
    22872     Merge branch 'MultipleMolecules'
    22873    
    22874     Conflicts:
    22875    
    22876         molecuilder/src/analyzer.cpp
    22877         molecuilder/src/atom.cpp
    22878         molecuilder/src/boundary.cpp
    22879         molecuilder/src/boundary.hpp
    22880         molecuilder/src/builder.cpp
    22881         molecuilder/src/config.cpp
    22882         molecuilder/src/datacreator.hpp
    22883         molecuilder/src/helpers.cpp
    22884         molecuilder/src/joiner.cpp
    22885         molecuilder/src/moleculelist.cpp
    22886         molecuilder/src/molecules.cpp
    22887         molecuilder/src/molecules.hpp
    22888         molecuilder/src/parser.cpp
    22889         molecuilder/src/parser.hpp
    22890         molecuilder/src/vector.cpp
    22891         molecuilder/src/verbose.cpp
    22892    
    22893     merges:
    22894     - analyzer.cpp: all from HEAD, Hessian stuff
    22895     - atom.cpp: ostream & operator << (ostream &ost, const atom &a), 2nd param is const
    22896     - boundary.cpp: DoSingleStepOutput, VRMLSUffix, HULLEPSILON, Get_center_of_sphere(), Find_next_suitable_point_via_Angle_of_Sphere() and all of tesselation stuff from MultipleMolecules; DoRaster3DOutput, ~BoundaryLineSet(), ~Tesselation() from HEAD; write_raster3d_file with some changes from MultipleMolecules
    22897     - boundary.hpp: all from MultipleMolecules
    22898     - builder.cpp: all in ParseCommandLineOptions() from MultipleMolecules
    22899     - config.cpp: all from HEAD, is stuff from ThermoStat and ConstrainedMD
    22900     - datacreator.hpp: all from HEAD, Hessian stuff
    22901     - helpers.cpp: all from HEAD, ReAlloc() differed just by indentation
    22902     - moleculelist.cpp: all from MultipleMolecules, has to do with introduced molecule centers
    22903     - molecules.cpp: all from HEAD, was ConstrainedMD stuff
    22904     - molecules.hpp: ConstrainedMD and VerletForceIntegration from HEAD, moleculelist stuff from MultipleMolecules
    22905     - parser.cpp: all from HEAD, ColumnCounter is *ColumnCounter there
    22906     - parser.hpp: all from HEAD
    22907     - vector.cpp: completely from MultipleMolecules (more lines)
    22908     - verbose.cpp: all from HEAD
    22909    
    22910     compilation fixes:
    22911     - CheckPresenceOfTriangle() from MultipleMolecules
    22912     - MoleculeListClass::ListOfMolecules has changed to STL list, hence use insert(), ReturnIndex() and MoleculeListClass::OutputConfigForListOfFragments
    22913     - MoleculeListClass::OutputConfigForListOfFragments() had fragmentprefix instead of FRAGMENTPREFIX
    22914     - parser.hpp: EnergyMatrix::ParseIndices() declaration was missing
    22915 
    22916 commit ce5ac38e73b73390de3143a6985456a9e35495f9
    22917 Author: Frederik Heber <heber@bespin.wiss-staff>
    22918 Date:   Thu Jul 23 14:32:48 2009 +0200
    22919 
    22920     Fix indentation from tabs to two spaces to prepare merging with MultipleMolecules
    22921 
    22922 commit 4379223d1ae805fff33d7d6aba7ff8281b0c4c45
    22923 Author: Frederik Heber <heber@bespin.wiss-staff>
    22924 Date:   Thu Jul 23 14:14:13 2009 +0200
    22925 
    22926     Fix indentation from tab to two spaces.
    22927    
    22928     The trouble was caused at the merge e08f45e4539ffcc30e039dec5606cf06b45ab6be. Seemingly, I thought eclipse had pulled some shit which i didn't
    22929 
    22930 commit 986c809f30e6539ae660442a47de63b08aa35574
    22931 Merge: 71e7c7b edcda57
    22932 Author: Frederik Heber <heber@bespin.wiss-staff>
    22933 Date:   Thu Jul 23 13:46:57 2009 +0200
    22934 
    22935     Merge branch 'ConstrainedMolecularDynamics'
    22936    
    22937     Conflicts:
    22938    
    22939         molecuilder/src/molecules.cpp
    22940    
    22941     - conflict was just regarding empty lines with some superfluous spaces
    22942 
    22943 commit 71e7c7b252e9a46447afd01de2aacaa1ea9c9f23
    22944 Merge: 631dcbf cc36a5e
    22945 Author: Frederik Heber <heber@bespin.wiss-staff>
    22946 Date:   Thu Jul 23 13:31:00 2009 +0200
    22947 
    22948     Merge branch 'test'
    22949    
    22950     Conflicts:
    22951    
    22952         molecuilder/src/analyzer.cpp
    22953         molecuilder/src/datacreator.cpp
    22954         molecuilder/src/joiner.cpp
    22955    
    22956     all Chi.. matrices were EnergyMatrix instead of ForceMatrix, despite in all branches (test, master, Thermostat) always some ParseIndices was called for them, which is only implemented in the ForceMatrix. I change hence to ForceMatrix and removed the comments from ParseIndices(). But this is untested.
    22957 
    22958 commit 631dcbf45017adab57e255fe98ef0e91396de52a
    22959 Merge: b38b64d fcbfc8b
    22960 Author: Frederik Heber <heber@bespin.wiss-staff>
    22961 Date:   Thu Jul 23 13:23:59 2009 +0200
    22962 
    22963     Merge branch 'Thermostat'
    22964    
    22965     Conflicts:
    22966    
    22967         .gitignore
    22968         Makefile.am
    22969         molecuilder/src/analyzer.cpp
    22970         molecuilder/src/builder.cpp
    22971         molecuilder/src/config.cpp
    22972         molecuilder/src/moleculelist.cpp
    22973         molecuilder/src/molecules.cpp
    22974         molecuilder/src/molecules.hpp
    22975    
    22976     - config::SaveMPQC() has different call parameters
    22977     - analyzer and joiner had conflicts due to Chi and ChiPAS values
    22978     - molecule::VerletForceIntegration() is slightly different too, but Thermostat supposedly is old version
    22979 
    22980 commit b38b64d7de64c60cbfaf51c1af8e8efd446a3fc4
    22981 Merge: b774160 72744aa
    22982 Author: Frederik Heber <heber@bespin.wiss-staff>
    22983 Date:   Thu Jul 23 11:14:18 2009 +0200
    22984 
    22985     Merge branch 'HessianMatrix'
    22986 
    22987 commit b77416068cae737296792e6c91b7a28206524cad
    22988 Merge: 2746be9 5621c30
    22989 Author: Frederik Heber <heber@bespin.wiss-staff>
    22990 Date:   Thu Jul 23 11:11:01 2009 +0200
    22991 
    22992     Merge branch 'GraphRefactoring'
    22993 
    22994 commit 205ccdc2e7f8e8fa2e39e323dc48d53c37819486
    22995 Author: Frederik Heber <heber@bespin.wiss-staff>
    22996 Date:   Fri Jul 10 23:19:23 2009 +0200
    22997 
    22998     BUGFIX: Due to stupid mistake, first atom was overlooked in periodic translation
    22999    
    23000     - molecule::TranslatePeriodically() is fixed (while is ptr != end) and next pointer moved to its end
    23001 
    23002 commit d1df9b520a18b7600eb18c25dc98b318ecd308be
    23003 Author: Frederik Heber <heber@bespin.wiss-staff>
    23004 Date:   Fri Jul 10 22:21:12 2009 +0200
    23005 
    23006     new class ConfigFileBuffer and new overloaded function ParseForParaneter() based on this buffer
    23007    
    23008     - the problem is that we need to use molecuilder for the periodic translating of atoms in a xzy file. However, molecuilder resorts them per element. This destroty the id mapping needed for the DBOND file. The storing was corrected, but also the loading relies on this order.
    23009     - To solve this, we have to pull off quite something: Parse file into buffer, resort the Ion_Type ones (via a map only), load atoms and then put them into the molecule in the original order!
    23010     - Hence, in config::Load we also have a LinearList (map<int, atom*>) in order to add the atoms after the scanning in their original order into the molecule.
    23011     - class ConfigFileBuffer parses a config file line-wise into a buffer and allows for resorting (via a map) of lines containing key_word Ion_Type.
    23012     - BUGFIX: molecule::Output...() were writing the wrong elements, as they were numbered during the output and not before in ascending order! (I.e. if the first atom is Si, but there is also H present, then this Si would become Ion_Type1_1 instead of Ion_Type2_1, because the elements are still sorted by their Z value, hence Ion_Type1 is H!)
    23013    
    23014     This is basically tested and seems to work properly
    23015 
    23016 commit 6cb412a55f11f6c6a632854832fd61aa21fb5d9e
    23017 Author: Frederik Heber <heber@bespin.wiss-staff>
    23018 Date:   Fri Jul 10 22:20:09 2009 +0200
    23019 
    23020     BUGFIX: molecule::Output...() routines wrote elements beginning with 0 instead of 1
    23021 
    23022 commit 5466f3c25c7264956c286b80f3090bf2e9b5b3d9
    23023 Author: Frederik Heber <heber@bespin.wiss-staff>
    23024 Date:   Fri Jul 10 16:29:56 2009 +0200
    23025 
    23026     XYZ and config files now store the atoms in the same order as they are loaded.
    23027    
    23028     changed functions: molecule::OutputXYZ, molecule::OutputTrajectoriesXYZ, molecule::OutputTrajectories, molecule::Output
    23029 
    23030 commit 21c0171a2ffa8aa89b2345abf037899c7dbedf2b
    23031 Author: Frederik Heber <heber@bespin.wiss-staff>
    23032 Date:   Fri Jul 10 14:48:05 2009 +0200
    23033 
    23034     molecule::CenterInBox puts atoms now periodically into the given box, new function molecule::TranslatePeriodically, BUGFIX: molecule::ReturnFullMatrixforSymmetrical()
    23035    
    23036     - molecule::CenterInBox() has no more a vector as a parameter, but instead enforces the periodicity of the simulation box, i.e. all atoms out of bounds are put back in with wrap-around at boundaries. Call of function was changed in everywhere.
    23037     - in ParseCommandLineParameters() a SetBoxDimension was missing in certain Center...() commands.
    23038     - new function molecule::TranslatePeriodically translates all atoms of a molecule while adhering to the periodicity of the domain
    23039     - new function vector::InverseMatrix() returns the hard-encoded inverse of 3x3 real matrix
    23040     - BUGFIX: molecule::ReturnFullMatrixforSymmetrical()'s assignment from 6-doubles to 9-doubles was all wrong (symmetric to full 3x3 matrix)
    23041 
    23042 commit a37350a0f046102b06e1012072c9ab13e577825e
    23043 Author: Frederik Heber <heber@bespin.wiss-staff>
    23044 Date:   Thu Jul 9 15:33:39 2009 +0200
    23045 
    23046     FIX: Now tries each of the axis direction to find a starting triangle
    23047    
    23048     - if BTS was not set, as no third point was found, output of NormalVector caused error. This is fixed.
    23049     - also, we move in a loop over all three axis direction and try to create a starting triangle.
    23050     - Therefore, the candidates in the list have to be free'd. This is done.
    23051 
    23052 commit 8cede77e6f14d315bdfa9e2e47998e048f3ef55d
    23053 Author: Frederik Heber <heber@bespin.wiss-staff>
    23054 Date:   Thu Jul 9 14:02:46 2009 +0200
    23055 
    23056     Lots of changes to the number of output messages.
    23057    
    23058     As the finding of the non-convex boundary is done, we have cut down a lot on the output created by the procedure. Most of the INFO messages are commented out and all of the REJECTs and Current Candidates and so on as well. There still remains all that is necessary, triangles found, the sequence of accepted candidates, the number of baselines not connected to two triangles ...
    23059 
    23060 commit b65901918c60ce43a59e69765a1da56c67436693
    23061 Author: Frederik Heber <heber@bespin.wiss-staff>
    23062 Date:   Thu Jul 9 13:40:14 2009 +0200
    23063 
    23064     Fixed all of the remaining memory leaks due to CandidatesForTesselation list.
    23065    
    23066     - Opt_Candidates list in Find_next_suitable_triangle() and Find_starting_triangle() was not deleted
    23067     - Also, all contained CandidatesForTesselation were not deleted
    23068     - the candidates list was cleared in Find_third_point_for_Tesselation() but the contained CandidatesForTesselation were not deleted
    23069 
    23070 commit e72001c60c0aa5692845aefdcd2d22a3c7e152c4
    23071 Author: Frederik Heber <heber@bespin.wiss-staff>
    23072 Date:   Thu Jul 9 13:38:33 2009 +0200
    23073 
    23074     Memory leak fix: ParseCommandLineOptions() and main() free'd mol twice or not at all
    23075    
    23076     - ParseCommandLineOptions() free'd mol and periode on ExitFlag, however main() does this too
    23077     - main() exited after ParseCommandLineOptions() returnted with 0 or 1, free'ing nothing.
    23078     - Hence, ParseCommandLineOptions() does not delete, this is all done in main()
    23079     - the return value of ParseCommandLineOptions is now checked in a switch statement with free's and return
    23080 
    23081 commit 989bf66a2aab6e121d0d2978cfd34b79079c47b4
    23082 Author: Frederik Heber <heber@bespin.wiss-staff>
    23083 Date:   Thu Jul 9 12:59:00 2009 +0200
    23084 
    23085     Changed the unsatisfactory PathToDatabases construct, removing warning deprecated conversion from string constant to char *
    23086    
    23087     - new variable config::databasepath (initialized in config constructor, released in destructor)
    23088     - Store.../LoadPeriodentafel() now have to receive const char *
    23089     - PathToDatabases is removed, instead LocalPath is copied into config::databasepath
    23090 
    23091 commit 1c6081a2e5edeea12712e25bd11eaf9624a4241e
    23092 Author: Frederik Heber <heber@bespin.wiss-staff>
    23093 Date:   Thu Jul 9 12:38:53 2009 +0200
    23094 
    23095     fixed compiler warning: deprecated conversion from string const to char * by changed char* to const char*
    23096    
    23097     - "hello" represents a const char *. Hence, if we point a char* at it, it may subsequently be altered, which is not allowed due to its const nature. Hence, the warning. However, we do not change the strings anyway, hence changing to const char *.
    23098 
    23099 commit 70c333f9ab1c2e3d9503da478fc85da9ef13d97b
    23100 Author: Frederik Heber <heber@bespin.wiss-staff>
    23101 Date:   Thu Jul 9 12:36:26 2009 +0200
    23102 
    23103     fixed compiler warning by changing int to size_t because C++ STL set.size() returns size_t.
    23104    
    23105     - changed in PickRandomPointSet...() (PointsPicked, PointsLeft, ...)
    23106     - in boundary.cpp some unnecessary variables were removed also
    23107 
    23108 commit 4777e96cf6171cee29419dee0203241623e06954
    23109 Author: Frederik Heber <heber@bespin.wiss-staff>
    23110 Date:   Thu Jul 9 12:31:05 2009 +0200
    23111 
    23112     Removed unneeded variables
    23113 
    23114 commit 542ab38ee2a53fdfa6396058ef261b31db81ad26
    23115 Author: Frederik Heber <heber@bespin.wiss-staff>
    23116 Date:   Thu Jul 9 12:22:05 2009 +0200
    23117 
    23118     Removed unnecessary code
    23119    
    23120     - Choose_preferable_third_point()
    23121     - already commented out Find_next_suitable_point()
    23122     - Tesselation::Find_next_suitable_point_via_Angle_of_Sphere()
    23123 
    23124 commit 86234be7f2f4f7062c6ddf83c803a72d008d6945
    23125 Author: Frederik Heber <heber@bespin.wiss-staff>
    23126 Date:   Thu Jul 9 11:45:00 2009 +0200
    23127 
    23128     BUGFIX: Memory leak due to special triangles and similar lines in BoundaryPointSet::lines multimap, corrected some output messages, AddTriangleToLines()->AddTriangle()
    23129    
    23130     - BUGFIX: destructor of BoundaryLineSet erases in the BoundaryPointSet::lines _all_ lines with key endpoints[i]->Nr instead of just the one line we are just removing (note: due to degenerated triangles, there may be more than one line with the same endpoints, the key in LineMap however is just the endpoint number). Now, we do equal_range and check whether the line === this.
    23131     - BoundaryPointSet::AddLine() has more sensible message, stating that line is added to a point not other wat round
    23132     - some identation and automated line wraps fixed
    23133     - AddTriangleToLines() renamed to AddTriangle(), as the triangle to line adding is done in the triangles constructor. Here, we just add the triangle to tesselation class' global list
    23134 
    23135 commit 018741f1886afdc512cdde2e7bb4e7e5d4f1e041
    23136 Author: Frederik Heber <heber@bespin.wiss-staff>
    23137 Date:   Tue Jul 7 16:46:22 2009 +0200
    23138 
    23139     FIX: CheckLineCriteriaforDegeneratedTriangle contains criteria when we may add a special (degenerated) triangle
    23140    
    23141     - new function CheckLineCriteriaforDegeneratedTriangle() that checks whether the special triangle closed at least two present edges and does not create two new edges for one being closed (which is the baseline), i.e. the total number of problems should remain the same or become smaller by degenerated triangles, never bigger
    23142     - find_next_suitable_triangle() checks the above criteria when (existentTriangle == 1) and if false, does not add a triangle at all
    23143     - some identing fixes
    23144 
    23145 commit f0ebacc6c34010940a9567bc730b83dea125e6cd
    23146 Author: Frederik Heber <heber@bespin.wiss-staff>
    23147 Date:   Tue Jul 7 11:12:54 2009 +0200
    23148 
    23149     BUGFIX: Initial edge for starting triangle may be up to TWICE the sphere's radius
    23150    
    23151     Find_second_point_for_tesselation() - now checks norm of vector against 2.*RADIUS
    23152 
    23153 commit ce4d22efd2d08dc09d1edd1aca8cbb60d85f725d
    23154 Author: Frederik Heber <heber@bespin.wiss-staff>
    23155 Date:   Tue Jul 7 10:17:53 2009 +0200
    23156 
    23157     BUGFIX: LinkedCell list had to created with 2.*RADIUS of sphere
    23158    
    23159     Some points were missed during the checking for the third point in tesselation due to the linked cell edge length being too small. We have to check TWICE the radius (i.e. the diameter) of the rolling sphere. NOTE: This was even suggested by a comment in that very line ... argh
    23160 
    23161 commit 02da9ef6bb440a647ec6bc6d878dc03b9bc6fc38
    23162 Author: Frederik Heber <heber@bespin.wiss-staff>
    23163 Date:   Tue Jul 7 10:12:28 2009 +0200
    23164 
    23165     BUGFIX: Numerical imprecision forced check of bounds for acos()
    23166    
    23167     Scalarproduct(a)/Norm()/a.Norm() may result in values larger than 1 and smaller than -1 due to numerical rounding errors. -1-MYEPSILON causes NaN to be returned by acos, hence we check whether the value is smaller than -1 or greater than 1 and set to the limit if out of bounds.
    23168    
    23169     This causes a wrong triangle to be taken due to the wrong SphereCenter being copied (comparing MYEPSILON to NAN)
    23170 
    23171 commit 260b2f24cb97da2d5497d1081b9cc5e5ef24df8f
    23172 Author: Frederik Heber <heber@bespin.wiss-staff>
    23173 Date:   Tue Jul 7 10:11:47 2009 +0200
    23174 
    23175     Cosmetical changes in Find_third_point_for_tesselation() and FinDistributionOfEllipsoids commented out in builder.
    23176 
    23177 commit 3d919eedeaf6ca7f077bff3c3e38dad3bba53b8a
    23178 Author: Frederik Heber <heber@bespin.wiss-staff>
    23179 Date:   Tue Jul 7 08:49:32 2009 +0200
    23180 
    23181     All of Saskia Metzler's changes so far to remove bugs from Tesselation (still not working)
    23182    
    23183     Principle ideas:
    23184     - allow maximum of two triangles per triple of atomic indices to also tesselate "flat" areas
    23185     - detect degeneracies by having a list of candidates and adding multiple triangles (one for each) by an angle criteria
    23186    
    23187     New functions:
    23188     - existsIntersection(): Checks per distance minimiser whether two lines intersect (for intersecting triangles)
    23189     - MinIntersectDistance(): Calculates the minimal distance between two lines (function to minimize)
    23190     - sortCandidates(): Sorting function for the third point candidates
    23191     - CheckPresenceOfTriangle(): For a triple of atomic indices, checks whether a triangle between them already exists (needed for allowing max of two triangles per triple)
    23192 
    23193 commit a5b2c3a1b29eef3d3e6b57dfbcea27b22ec153cc
    23194 Author: Frederik Heber <heber@bespin.wiss-staff>
    23195 Date:   Fri Jul 3 16:25:17 2009 +0200
    23196 
    23197     Removing of atoms via command line possible
    23198    
    23199     -R switchs allows for the removal of single atoms
    23200     -Left and Right Boundary are now called Upper and Lower Boundary which makes more sense
    23201 
    23202 commit c54da320524ce1dd5ac8a13de898eab17c38e6ee
    23203 Author: Frederik Heber <heber@bespin.wiss-staff>
    23204 Date:   Wed Jun 3 18:05:22 2009 +0200
    23205 
    23206     BUGFIX: RemoveAtom() would remove the iterator, molecule::RemoveAtom() did not decrease AtomCount
    23207    
    23208     - used two pointer construction, so that the next pointer is already secured before removing the current from the list.
    23209     - RemoveAtom() decreases AtomCount if Elements-array-check is ok
    23210 
    23211 commit 178f929674b15573151e8338cb756aaf0ecfd47c
    23212 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23213 Date:   Sat Apr 11 01:28:39 2009 +0200
    23214 
    23215     return type of MoleculeListClass::insert is now void instead of bool (insertion into list always works)
    23216 
    23217 commit 09af1ba17d496cca5e8ee8701a907e869f208b3c
    23218 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23219 Date:   Sat Apr 11 01:28:02 2009 +0200
    23220 
    23221     removed lots of warnings due to unused variables
    23222    
    23223     This arose due to the code-writes for multiple molecules.
    23224 
    23225 commit 63f06e549b4f5a9f18fc5ce0a5d858955003e9c4
    23226 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23227 Date:   Wed Apr 8 13:35:42 2009 +0200
    23228 
    23229     fixes due to changes in molecule structure (Center...()) and merge submenu is done.
    23230    
    23231     - CenterAtoms(): CenterOrigin() and CenterGravity/Periodic() now don't need vector as parameter anymore
    23232     - ManipulateAtoms() & ManipulateMolecules(): check for number of ActiveFlag molecules was >0, should have been >1, also all ListRunner loops did non check whether the molecule to work on was actually set molecule::ActiveFlag true
    23233     - EditMolecules(): title was non-caps, loading would use Center instead of center, loops asking for index of molecule would loop endlessly due to wrong break condition, remove did falsely use counter instead of molecule::IndexNr
    23234     - MergeMolecules(): simple add, simple merge and multi-merge are implemented
    23235     - SaveConfig(): Translation to true center before save was missing (and back-translation) and filename instead of ConfigFileName is used
    23236     - ParseCommandLineOptions(): new molecule is not set to Active, fix due to ConfigFileName pointing nowhere when none given on command line (argv[1] NULL)
    23237     - main(): ConfigFileName is now a char buffer not char pointer due to trouble with NULL filename, setting of actiive flag corrected (counter instead of IndexNr bug)
    23238 
    23239 commit d671506779336470085bef0cdbe37dd74c5aaecd
    23240 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23241 Date:   Wed Apr 8 13:27:50 2009 +0200
    23242 
    23243     Lots of bugfixes, some name changes and new functions
    23244    
    23245     BUGFIX:
    23246     - molecule::molecule did not initialise IndexNr and ActiveFlag
    23247     - molecule::SetNameFromFilename() was missing terminal \0 at end of constructed name
    23248     - molecule::CenterInBox() translates and zeros Center
    23249     - molecule::CenterEdge() also zeros Center
    23250     - molecule::CenterOrigin(): dropped parameter *center as molecule::Center is now used, translated and center then set to zero
    23251    
    23252     Changes:
    23253     - molecule::CenterGravity() now is called CenterPeriodic() and just calls DeterminePeriodicCenter with molecule::Center as parameter
    23254     - molecule::DetermineCenter() variable is now called center to stop confusion with molecule::Center
    23255     - molecule::PrincipalAxisSystem() uses CenterAtVector with DetermineCenterOfGravity()
    23256     - molecule::IsEqualToWithinThreshold() now uses molecule::DeterminePeriodicCenter() due to name change
    23257     - molecule:SetNameFromFilename() now expects constant *filename
    23258    
    23259     New:
    23260     - molecule:CenterAtVector() adds given vector to molecule::Center
    23261 
    23262 commit 3af1f0f25fa7a1adc1d089360422fda03a33eb7a
    23263 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23264 Date:   Wed Apr 8 13:25:03 2009 +0200
    23265 
    23266     MoleculeListClass::Enumerate() lists center and size of molecule, fix of MoleculeListClass::ReturnIndex()
    23267    
    23268     - MoleculeListClass::Enumerate(): Vector Center and size (greatest distance from center) is also given
    23269     - MoleculeListClass::ReturnIndex(): BUGFIX - counter instead of molecule::IndexNr was still used
    23270 
    23271 commit ca2587035117b37eb5f0dcff6065cf52caccc448
    23272 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23273 Date:   Thu Apr 2 18:42:53 2009 +0200
    23274 
    23275     Framework for embedding one molecule into another, now the embedding center finding is "only" missing
    23276 
    23277 commit ca3ccc44e15b3184201911d3686bddb8b917fc10
    23278 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23279 Date:   Thu Apr 2 18:42:36 2009 +0200
    23280 
    23281     simple switched order for edit molecule to be in alphabetical ordering
    23282 
    23283 commit 1907a789609146bbdebfeff09de44cb4ba21b808
    23284 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23285 Date:   Thu Apr 2 18:12:54 2009 +0200
    23286 
    23287     Basic implementation of Multiple molecules.
    23288    
    23289     builder.cpp:
    23290      - MoleculeListClass *molecules instead of molecule *mol
    23291      - in menu replaced list of elements and atoms by list of molecules
    23292      - new option: SetActiveMolecule
    23293      - new submenus/functions that all work on MoleculeListClass:
    23294        * EditMolecule()
    23295        * ManipulateMolecules() (global operations on all atoms in a molecule)
    23296        * MergeMolecules()
    23297        * ManipulateAtoms() (local operations on single atoms)
    23298      - SaveConfig(): SimpleMultiAdd() of all molecules into a single new one that is stored with the present configuration.
    23299    
    23300     molecules.hpp:
    23301      - new STL list MoleculeList
    23302      - new variables in MoleculeListClass: list of molecules as STL list
    23303      - new variables in molecule: ActiveFlag, name of molecule, Center of molecule (used on merging)
    23304    
    23305     moleculelist.cpp:
    23306      - replaced listofmolecules array by STL list everywhere (only smaller changes necessary)
    23307      - new merging function: SimpleMerge, SimpleAdd, SimpleMultiMerge, SimpleMultiAdd, (EmbedMerge, ScatterMerge ...  both not finished). Add does not while merge does delete the src molecules.
    23308      - new function: Enumerate(). Output of all molecules with number of atoms and chemical formula
    23309      - new function: NumberOfActiveMolecules(). Counts the number of molecules in the list with ActiveFlag set.
    23310      - new function: insert(). Inserts a molecule into the list with a unique index
    23311    
    23312     molecules.cpp:
    23313      - new function: SetNameFromFilename. Takes basename of a filename and sets name accordingly.
    23314      - new function: UnlinkAtom. Only removes atom from list, does not delete it from memory.
    23315    
    23316     atom.cpp:
    23317      - Output() also accepts specific comment instead of "# molecule nr ..."
    23318 
    23319 commit d8b94a86944c4679c88bc250bff510f242d63309
    23320 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23321 Date:   Tue Feb 10 13:04:37 2009 +0100
    23322 
    23323     Gaussian basis for MPQC input files can now be specified with -B switch
    23324    
    23325     builder.cpp: -B in ParseCommandLineOptions
    23326     molecules.hpp: configuration::basis added
    23327     config.cpp: SaveMPQC() takes configuration::basis as name
    23328 
    23329 commit 2746be91f71f00d142e33c5f26e2666094ed13f2
    23330 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23331 Date:   Mon Feb 9 23:17:38 2009 +0000
    23332 
    23333     Basis for MPQC can now be specified via command line switch
    23334    
    23335      * -B is ParseCommandLineOptions added
    23336      * configuration::basis added, set to 3-21G in constructor
    23337      * used in configuration::SaveMPQC()
    23338 
    23339 commit 5bc4d02ef0f3a43607aa4ea1320b526552add482
    23340 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23341 Date:   Mon Feb 9 23:16:19 2009 +0000
    23342 
    23343     Chi integration had some copy&paste error
    23344 
    23345 commit 6ac7eeecbbe9724fc31880df564e84ba30311c54
    23346 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23347 Date:   Mon Feb 9 15:55:37 2009 +0000
    23348 
    23349     Merge branch 'ConcaveHull' of ../espack2 into ConcaveHull
    23350    
    23351     Conflicts:
    23352    
    23353         molecuilder/src/boundary.cpp
    23354         molecuilder/src/boundary.hpp
    23355         molecuilder/src/builder.cpp
    23356         molecuilder/src/linkedcell.cpp
    23357         molecuilder/src/linkedcell.hpp
    23358         molecuilder/src/vector.cpp
    23359         molecuilder/src/vector.hpp
    23360         util/src/NanoCreator.c
    23361    
    23362     Basically, this resulted from a lot of conversions two from spaces to one tab, which is my standard indentation. The mess was caused by eclipse auto-indenting. And in espack2:ConcaveHull was the new stuff, so all from ConcaveHull was replaced in case of doubt.
    23363     Additionally, vector had ofstream << operator instead ostream << ...
    23364 
    23365 commit a98603750c1b5ea8639c4f89919340c98b730445
    23366 Merge: 6742207 cc2ee58
    23367 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23368 Date:   Mon Feb 9 14:18:13 2009 +0000
    23369 
    23370     Merge ../espack3
    23371 
    23372 commit 124df14536b3633bd16d55d7442e9d0695c204a3
    23373 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23374 Date:   Fri Feb 6 09:48:09 2009 +0000
    23375 
    23376     Find_non_convex_border(): calls CreateAdjacencyList() to fill bond list
    23377 
    23378 commit e1bc6830af4c7501528091f383832e414f3c59e4
    23379 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23380 Date:   Fri Feb 6 09:44:15 2009 +0000
    23381 
    23382     New file and class LinkedCell that contains the linked cell algorithms
    23383    
    23384     Linked Cell class with
    23385      * max,min vectors, list of cells, number of cells per axis
    23386      * n is temporary indices to access a specific cell
    23387      * functions to get pointer to cell specified by vector or by atom and checking bounds
    23388 
    23389 commit cc2ee58b3a94582183e54721ea65863f8c843fd7
    23390 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23391 Date:   Mon Dec 29 21:26:43 2008 +0000
    23392 
    23393     Just a temporary commit
    23394 
    23395 commit 6d4a76f17e90d47b8304ea3d09b5f35183b9d3d2
    23396 Merge: 12298c6 23e09be
    23397 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23398 Date:   Mon Dec 29 13:29:21 2008 +0100
    23399 
    23400     Merge branch 'ConcaveHull' of ssh://stud64dc-01/home/neuen/workspace/ESPACK into ConcaveHull
    23401    
    23402     Conflicts:
    23403    
    23404         molecuilder/src/boundary.cpp
    23405    
    23406     Fixed the incorporation of write_raster3d_file() ...
    23407 
    23408 commit 12298c6c425bd81e8eb06db20b3aca630c98b764
    23409 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23410 Date:   Mon Dec 29 13:25:04 2008 +0100
    23411 
    23412     Now we also produce Raster3D output files additionally to TecPlot ones ...
    23413 
    23414 commit 23e09be2d40210f0374711bf133d62f2e96f064f
    23415 Author: Christian Neuen <neuen@stud64dc-06.wiss-stud>
    23416 Date:   Tue Dec 23 14:28:05 2008 +0100
    23417 
    23418     fancy commit
    23419 
    23420 commit 02bfdee48bf20f43a0f4e7f6b4c779daa4163c92
    23421 Merge: 44fd957 196a5ac
    23422 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23423 Date:   Tue Dec 23 14:06:36 2008 +0100
    23424 
    23425     Merge branch 'ConcaveHull' of ssh://stud64dc-01/home/neuen/workspace/ESPACK into ConcaveHull
    23426    
    23427     Conflicts:
    23428    
    23429         molecuilder/src/boundary.cpp
    23430    
    23431     + Merge is solved (was Christian's fault :)
    23432     + find_non_convex_hull is checked and working on Heptan boundary
    23433 
    23434 commit 44fd957c290401f17701bb788d3d339733fe6b38
    23435 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23436 Date:   Tue Dec 23 12:22:57 2008 +0100
    23437 
    23438     Cleaned up all debugging output
    23439 
    23440 commit 196a5ac4e0597225fe1d79967a945d42ddfed2e6
    23441 Author: Christian Neuen <neuen@stud64dc-06.wiss-stud>
    23442 Date:   Tue Dec 23 12:21:29 2008 +0100
    23443 
    23444     BallAngel enhanced, added new alternative direction for issues with right angles
    23445 
    23446 commit 7c6712a25ea23cdfa7e88b8f2293af4c65278eec
    23447 Author: Christian Neuen <neuen@stud64dc-06.wiss-stud>
    23448 Date:   Fri Dec 19 17:21:11 2008 +0100
    23449 
    23450     Switched choice process to Ball angle completely.
    23451     Problem remains.
    23452     Same position?
    23453 
    23454 commit e9fa06f36adaf7b5bf0b33b34e7ea747201e8bff
    23455 Author: Christian Neuen <neuen@stud64dc-06.wiss-stud>
    23456 Date:   Thu Dec 18 18:21:34 2008 +0100
    23457 
    23458     First change to Ball angle as criteria, however, change sucks.
    23459 
    23460 commit 10af0deb228f5e5b25d4fd0c600059654562e5c7
    23461 Author: Christian Neuen <neuen@stud64dc-06.wiss-stud>
    23462 Date:   Wed Dec 17 16:56:07 2008 +0100
    23463 
    23464     Solved possible problem with Second quadrant overhaul
    23465 
    23466 commit e4ea462e4975fcf1debaf5bbf7e4ced6f9d55b4d
    23467 Author: Christian Neuen <neuen@stud64dc-06.wiss-stud>
    23468 Date:   Tue Dec 16 19:39:28 2008 +0100
    23469 
    23470     Tesselation starts to look good, minor discrepancies are still there and a segmentation fault.
    23471 
    23472 commit caf5d608169807a028a2cd63e1c2eb8962eaa347
    23473 Author: Christian Neuen <neuen@stud64dc-06.wiss-stud>
    23474 Date:   Thu Dec 11 16:23:01 2008 +0100
    23475 
    23476     Atom indices are now correctly processed.
    23477 
    23478 commit f71497989750680f5dd0615f305121f4c4601d64
    23479 Author: Christian Neuen <neuen@stud64dc-06.wiss-stud>
    23480 Date:   Mon Dec 8 15:16:34 2008 +0100
    23481 
    23482     Another update w.r.t. the Tesselation.
    23483     Some signs switched, but atom indices might be misused.
    23484 
    23485 commit a8bcea6105d46c2f1e551ab69003f9d1cc03e44f
    23486 Author: Christian Neuen <neuen@stud64dc-06.wiss-stud>
    23487 Date:   Thu Dec 4 16:15:00 2008 +0100
    23488 
    23489     several changes, now output is created, quality unknown
    23490 
    23491 commit f683feb0f2b4232b7bc42f3893078413c798f659
    23492 Author: Christian Neuen <neuen@stud64dc-06.wiss-stud>
    23493 Date:   Wed Dec 3 15:18:10 2008 +0100
    23494 
    23495     Parses a pdb and xyz file and decideds which atoms are in both and which have been ommitted. It remaps the indices of the atoms, so that the indices are without gap and applies this remapping to a dbond file, renaming the bonds and removing the bonds which do not appear any more.
    23496 
    23497 commit 69eb71ca95b6ddd8113c4c58130d3a649792ac26
    23498 Author: Christian Neuen <neuen@stud64dc-06.wiss-stud>
    23499 Date:   Wed Dec 3 15:12:05 2008 +0100
    23500 
    23501     Multiple changes to boundary, currently not fully operational.
    23502     Molecules has a new routine to create adjacency lists, reading bonds from a dbond file instead of looking for the distances by itself.
    23503     Vector function Project onto plane has been updated.
    23504 
    23505 commit 1ffa216657b5beb85210757a5d292a8b64bd5b79
    23506 Author: Christian Neuen <neuen@stud64dc-06.wiss-stud>
    23507 Date:   Thu Nov 27 10:59:27 2008 +0100
    23508 
    23509     The border.cpp contains the same functions as the changes in boundary, in case it is desired to have the convex and non convex routine seperated at a later time.
    23510 
    23511 commit 03648b9b7a0304a1d85f5faf7250acf9fcbbbe04
    23512 Author: Christian Neuen <neuen@stud64dc-06.wiss-stud>
    23513 Date:   Thu Nov 27 10:55:08 2008 +0100
    23514 
    23515     In vector a function for calculation of the vector-(cross-)product has been added.
    23516     In Boundary a new way for finding the non-convex boundary is implemented.
    23517     Currently problem with comparison of the return value of the map::find routine.
    23518 
    23519 commit 51695cfc06f5f047e51d2313f7093855e00ab2cd
    23520 Author: Christian Neuen <neuen@stud64dc-06.wiss-stud>
    23521 Date:   Tue Nov 25 16:05:07 2008 +0100
    23522 
    23523     Construction of border triangles of non convex point set
    23524 
    23525 commit 72744aa9455778453eaeac1db101b313b5406e2a
    23526 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23527 Date:   Wed Oct 29 21:01:04 2008 -0400
    23528 
    23529     Analyzer now produces data file with Frobenius norm of hessian matrix.
    23530 
    23531 commit 376f976dda971f927ed160c923994210d8d4df4e
    23532 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23533 Date:   Wed Oct 29 20:56:02 2008 -0400
    23534 
    23535     Added some commentary to HessianMatrix::SumSubHessians to ease debugging
    23536 
    23537 commit 05d2b274f224b68850cb42c32e5c8dd92bb7e0e6
    23538 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23539 Date:   Wed Oct 29 10:54:54 2008 -0400
    23540 
    23541     Implemented Frobenius norm calculation for class HessianMatrix
    23542    
    23543     HessianMatrix::CreateDataDeltaFrobeniusOrderPerAtom() - New data creator that calculates the frobenius norm (with 1/N prefactor), to estimate the accuracy of the approximated HessianMatrix
    23544 
    23545 commit b12a3574887c67ef085de6c3928441bc590032f2
    23546 Author: Frederik Heber <heber@bespin.wiss-staff>
    23547 Date:   Sun Oct 19 15:57:23 2008 +0200
    23548 
    23549     HessianMatrix implemented fully, but not yet working, probably due to wrong matrix generation in script file (convertHessian.py)
    23550    
    23551     HessianMatrix::IsSymmetric was though to be needed, but is NOT. As we regard full matrices, we don't need to add onto mirrored indices as well
    23552     Joiner and Analyzer have seen some small changes and bugfixes: NoHessian was not also always looked at when needed and so on
    23553 
    23554 commit 6742207a959f7641d50782ed06b4b4b943cf307d
    23555 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23556 Date:   Wed Oct 29 20:55:19 2008 -0400
    23557 
    23558     Implemented analysis of magnetic susceptibilites.
    23559    
    23560     This is very similar to Sigma(PAS), however not with ForceMatrix class but with EnergyMatrix. This is still not finished and yet not working. However, it does not impact on other functions of joiner or analyzer.
    23561 
    23562 commit 5621c3089e979328ea79df91460a2be02964b1f7
    23563 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23564 Date:   Wed Oct 29 20:59:40 2008 -0400
    23565 
    23566     Begin of implementing classes Graph, SubGraph, Node and Edge.
    23567    
    23568     So far only initial class definitions, functions are all as of yet missing.
    23569 
    23570 commit cc36a5ec90e8d8af8be4e456d8d7c84711dea74d
    23571 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23572 Date:   Wed Oct 29 21:01:04 2008 -0400
    23573 
    23574     Analyzer now produces data file with Frobenius norm of hessian matrix.
    23575 
    23576 commit 2e6e7aefe411005fa1086c244c878459f4f21c8c
    23577 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23578 Date:   Wed Oct 29 20:59:40 2008 -0400
    23579 
    23580     Begin of implementing classes Graph, SubGraph, Node and Edge.
    23581    
    23582     So far only initial class definitions, functions are all as of yet missing.
    23583 
    23584 commit a8f53c4a62332111708d480361fdc08e8cf6a08b
    23585 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23586 Date:   Wed Oct 29 20:56:02 2008 -0400
    23587 
    23588     Added some commentary to HessianMatrix::SumSubHessians to ease debugging
    23589 
    23590 commit 234af2e0631e6e266b8ee56b086bfbb87318d49c
    23591 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23592 Date:   Wed Oct 29 20:55:19 2008 -0400
    23593 
    23594     Implemented analysis of magnetic susceptibilites.
    23595    
    23596     This is very similar to Sigma(PAS), however not with ForceMatrix class but with EnergyMatrix. This is still not finished and yet not working. However, it does not impact on other functions of joiner or analyzer.
    23597 
    23598 commit 84fc918b794641fe7de6f2483ddf1b33396f47cb
    23599 Author: Frederik Heber <heber@ins.uni-bonn.de>
    23600 Date:   Wed Oct 29 10:54:54 2008 -0400
    23601 
    23602     Implemented Frobenius norm calculation for class HessianMatrix
    23603    
    23604     HessianMatrix::CreateDataDeltaFrobeniusOrderPerAtom() - New data creator that calculates the frobenius norm (with 1/N prefactor), to estimate the accuracy of the approximated HessianMatrix
    23605 
    23606 commit eeec8fb96069e10986806be23efb05adf344d003
    23607 Author: Frederik Heber <heber@bespin.wiss-staff>
    23608 Date:   Sun Oct 19 15:57:23 2008 +0200
    23609 
    23610     HessianMatrix implemented fully, but not yet working, probably due to wrong matrix generation in script file (convertHessian.py)
    23611    
    23612     HessianMatrix::IsSymmetric was though to be needed, but is NOT. As we regard full matrices, we don't need to add onto mirrored indices as well
    23613     Joiner and Analyzer have seen some small changes and bugfixes: NoHessian was not also always looked at when needed and so on
    23614 
    23615 commit f731aed8e27c7b0f1fcfad0872e0742f3403b3b8
    23616 Author: Frederik Heber <heber@bespin.wiss-staff>
    23617 Date:   Sat Oct 18 17:05:54 2008 +0200
    23618 
    23619     ColumnCounter -> *ColumnCounter
    23620    
    23621     columns of the MatrixContainer class may now be variable over each matrix. This was changed globally to allow for varying column numbers of the new class HessianMatrix.
    23622 
    23623 commit 85d278634d82c0d87206785b8cb85c4c6f794e06
    23624 Author: Frederik Heber <heber@bespin.wiss-staff>
    23625 Date:   Sat Oct 18 16:06:51 2008 +0200
    23626 
    23627     Introduced new class HessianMatrix derived from MatrixContainer, which shall contain the hessians calculated by mpqc.
    23628 
    23629 commit 450d63e3aecf24a3631d6e9db7a79102c715e4e8
    23630 Author: Frederik Heber <heber@bespin.wiss-staff>
    23631 Date:   Sat Oct 18 16:03:57 2008 +0200
    23632 
    23633     VolumeOfConvexEnvelope() has new parameter with tecplot ofstream and the file is stored there and not in Tesselation::Tesselation().
    23634    
    23635     + BUGFIX: As we shift the molecule to the center of gravity for the "projection onto axis planes" method to work, we forgot about shifting it back before storing nodes and triangles in the tecplot file. Now, we store the data to file in VolumeOfConvexEnvelope(), where the molecule has been shifted back already.
    23636     + VolumeOfConvexEnvelope() now gets an additional parameter with the tecplot ofstream, so that the name of the tecplot file may be chosen on the command line (with checks whether the argument was given or not)
    23637 
    23638 commit 65de9b134a90f9d37ee598221141c6e8391b0087
    23639 Author: Frederik Heber <heber@bespin.wiss-staff>
    23640 Date:   Fri Oct 17 15:24:10 2008 +0200
    23641 
    23642     molecule::PickLocalBackEdges(): BUGFIX: if Walker as not in subgraph, next candidate wasn't popped from stack due to wrong brackets of if clause.
    23643    
    23644     This caused to loop to run indefinitely (hence, the new output messages for the functions in molecule::FragmentMolecule(). It is fixed.
    23645 
    23646 commit 4ee3df7d3ad5f7f9db4c737e70f26a1b547347c0
    23647 Author: Frederik Heber <heber@bespin.wiss-staff>
    23648 Date:   Fri Oct 17 15:22:38 2008 +0200
    23649 
    23650     Analyzer now writes usable plot and data files for shielding comparison (both relative (Delta...) and absolute).
    23651    
    23652     We were able to use the ForceMatrix functions in a very straight-forward and simple manner (excellent programming if I may so :)
    23653 
    23654 commit 9a5bcd1b9e1cb7f3d50def75223622b926786d75
    23655 Author: Frederik Heber <heber@bespin.wiss-staff>
    23656 Date:   Fri Oct 17 15:20:42 2008 +0200
    23657 
    23658     config::Save() and config::SaveMPQC() now take string for filename, instead of opened ofstream.
    23659    
    23660     This was necessary, as config::SaveMPQC() now writes to files: One with hessian calc enabled, the other not. As it is a pendant of config::Save(), this file was changed accordingly. Both are called from builder.cpp (ParseFromParamters() and main()) and moleculelist.cpp (MoleculeListClass::OutputConfigForListOfFragments()), hence these were changed,too.
    23661 
    23662 commit f006938f9e251ee5d77f964af5728fd0a645c59c
    23663 Author: Frederik Heber <heber@bespin.wiss-staff>
    23664 Date:   Thu Oct 16 11:27:59 2008 +0200
    23665 
    23666     New tests that check that if subsequent arguments to certain cmd options are missing, it is admonished.
    23667 
    23668 commit a8b9d61068f3f5cf8e1a42240f2a3128874cc073
    23669 Author: Frederik Heber <heber@bespin.wiss-staff>
    23670 Date:   Thu Oct 16 11:27:17 2008 +0200
    23671 
    23672     ParseCommandLineOptions(): All cases now make thorough checks verifying the correct number of subsequent arguments.
    23673 
    23674 commit 52f5d5d2312e073ff5dc9a8561eacdf21c0b84b9
    23675 Author: Frederik Heber <heber@bespin.wiss-staff>
    23676 Date:   Thu Oct 16 11:26:48 2008 +0200
    23677 
    23678     periodentafel::LoadPeriodentafel(): if other dbs fail, we just give a warning, not an error
    23679 
    23680 commit e198c7eb5987f3ecfab54dfbc1690375e23f1bd3
    23681 Author: Frederik Heber <heber@bespin.wiss-staff>
    23682 Date:   Thu Oct 16 11:25:56 2008 +0200
    23683 
    23684     New function IsValidNumber(): checks whether a command line argument os truely a valid number
    23685    
    23686     This is needed for the following commits where each command line arguments makes thorough checks to the number of its subsequent arguments.
    23687 
    23688 commit 95634fe5ab2efbd4217ef8f96a50a6428f673e4c
    23689 Author: Frederik Heber <heber@bespin.wiss-staff>
    23690 Date:   Wed Oct 15 20:20:51 2008 +0200
    23691 
    23692     Analyzer now prints usable ShieldingsPAS data and plot files (so that comparison per order is possible).
    23693 
    23694 commit 19f3d6b52d8fb15fc152deeadf2d12f72fbe27c4
    23695 Author: Frederik Heber <heber@bespin.wiss-staff>
    23696 Date:   Wed Oct 15 20:20:40 2008 +0200
    23697 
    23698     new function AppendOutputFile() for appending to output files whereas with OpenOutputFile the contents is deleted.
    23699 
    23700 commit 57d8b005ecc147724ea9b83a7772e74c015cff14
    23701 Author: Frederik Heber <heber@bespin.wiss-staff>
    23702 Date:   Wed Oct 15 19:16:43 2008 +0200
    23703 
    23704     molecule::VerletForceIntegration() different code, same algorithm (still bug-hunting)
    23705 
    23706 commit 2b4a4087bfef04889a36e1b91688f2a56bea8e3a
    23707 Author: Frederik Heber <heber@bespin.wiss-staff>
    23708 Date:   Tue Oct 14 21:14:10 2008 +0200
    23709 
    23710     new version of Tesselation::GuessStartingTriangle() seems to fix problems
    23711    
    23712     + now, we find the starting triangle in the following manner (point = boundary point!):
    23713       1. pick a point A
    23714       2. for all unequal pairs B,C (not A), calculate AB^2+BC^2+AC^2 and sort into ascending list
    23715       3. Go through list, picking thus baseline B,C along with peak A of a candidate triangle
    23716       4. check whether all other boundary points lie only on one side
    23717       5. check whether no boundary point is inside the triangle
    23718       6. If all successful, starting triangle is found
    23719       With this procedure, the convex hull of all SiOHCa3 clusters are found perfectly.
    23720 
    23721 commit ca8073901157e1302ad5c69a06c379e27ec66590
    23722 Author: Frederik Heber <heber@bespin.wiss-staff>
    23723 Date:   Tue Oct 14 15:26:02 2008 +0200
    23724 
    23725     BUGFIX: Tesselation::AddPoint() always increased Tesselation::PointsOnBoundaryCount, even if point was present already
    23726    
    23727     + we look at PointTestPair->second to determine whether point was present before or not, and only increase Tesselation::PointsOnBoundaryCount if true
    23728 
    23729 commit ec7ba80eb21e003af9ec7acd755302049e63733c
    23730 Author: Frederik Heber <heber@bespin.wiss-staff>
    23731 Date:   Sun Oct 12 17:58:48 2008 +0200
    23732 
    23733     changed basis set for mpqc from STO-3G to 3-21G (more stable with Calcium) in config::SaveMPQC()
    23734 
    23735 commit 9fc556ca6d0481c3e2398c3287b232e83726a913
    23736 Author: Frederik Heber <heber@bespin.wiss-staff>
    23737 Date:   Sat Oct 11 18:07:45 2008 +0200
    23738 
    23739     corrected number of valence orbitals for Calcium (2 -> 4) and inserted typical bond distance and angle (first taken from bpti, second guessed)
    23740 
    23741 commit 74a65e7a553d4ba98e039de2f94a19ac6ed2499a
    23742 Author: Frederik Heber <heber@bespin.wiss-staff>
    23743 Date:   Sat Oct 11 18:07:28 2008 +0200
    23744 
    23745     molecule::AddHydrogenReplacementAtom() returns false on missing parameters, molecule::FragmentMolecule() less output
    23746    
    23747     molecule::AddHydrogenReplacementAtom(): Gave only a warning when either typical hydrogen bond length or angle was missing, now the adding stops, error instead of warning message and false is returned instead.
    23748     molecule::BreadthFirstSearchAdd() exits, when AddHydrogenReplacementAtom() returns false
    23749     molecule::StoreFragmentFromKeySet() exits, when AddHydrogenReplacementAtom() returns false
    23750 
    23751 commit edcda57bf8ce399e8a4ee61cc3d8dfe3762ec753
    23752 Author: Frederik Heber <heber@bespin.wiss-staff>
    23753 Date:   Fri Oct 10 15:36:06 2008 +0200
    23754 
    23755     BUGFIX: AssignKeySetsToFragment() had FragmentCounter-- at wrong place
    23756    
    23757     + MoleculeLeafClass::AssignKeySetsToFragment(): FragmentCounter was decreased even when no keyset had been scanned, setting it to -1, bad for the subsequent free. It has to be decreased again right after the recursive call. Begin and end messages added. Free checks for FreeList=true and ListOfLocalAtoms != NULL (safety measure).
    23758     + MoleculeLeafClass::FillBondStructureFromReference(): No BUG here (no keyset check to prevent increase for subsequent decrease), but same changes
    23759 
    23760 commit 4158ba5fa97fe796922357bc902acc0a69d050d3
    23761 Author: Frederik Heber <heber@bespin.wiss-staff>
    23762 Date:   Fri Oct 10 15:32:33 2008 +0200
    23763 
    23764     BUGFIX: molecule::CreateAdjacencyList() used CandidateBondNo in output even if no candidate had been found
    23765    
    23766     + If no Candidate has been found, output message would declare to be unable to correct bond degree for a unspecified bond (CandidateBondNo set to no sensible value)
    23767 
    23768 commit 617b53ac1a332edd19665484e05e0e071fb68d49
    23769 Author: Frederik Heber <heber@bespin.wiss-staff>
    23770 Date:   Fri Oct 10 15:36:06 2008 +0200
    23771 
    23772     BUGFIX: AssignKeySetsToFragment() had FragmentCounter-- at wrong place
    23773    
    23774     + MoleculeLeafClass::AssignKeySetsToFragment(): FragmentCounter was decreased even when no keyset had been scanned, setting it to -1, bad for the subsequent free. It has to be decreased again right after the recursive call. Begin and end messages added. Free checks for FreeList=true and ListOfLocalAtoms != NULL (safety measure).
    23775     + MoleculeLeafClass::FillBondStructureFromReference(): No BUG here (no keyset check to prevent increase for subsequent decrease), but same changes
    23776 
    23777 commit 1e82436670bbdab8a2f2c4c9e9b6b176e529aac8
    23778 Author: Frederik Heber <heber@bespin.wiss-staff>
    23779 Date:   Fri Oct 10 15:32:33 2008 +0200
    23780 
    23781     BUGFIX: molecule::CreateAdjacencyList() used CandidateBondNo in output even if no candidate had been found
    23782    
    23783     + If no Candidate has been found, output message would declare to be unable to correct bond degree for a unspecified bond (CandidateBondNo set to no sensible value)
    23784 
    23785 commit fcbfc8b407a7facce5cce4b025c250e1413426b7
    23786 Author: Frederik Heber <heber@bespin.wiss-staff>
    23787 Date:   Fri Oct 10 15:36:06 2008 +0200
    23788 
    23789     BUGFIX: AssignKeySetsToFragment() had FragmentCounter-- at wrong place
    23790    
    23791     + MoleculeLeafClass::AssignKeySetsToFragment(): FragmentCounter was decreased even when no keyset had been scanned, setting it to -1, bad for the subsequent free. It has to be decreased again right after the recursive call. Begin and end messages added. Free checks for FreeList=true and ListOfLocalAtoms != NULL (safety measure).
    23792     + MoleculeLeafClass::FillBondStructureFromReference(): No BUG here (no keyset check to prevent increase for subsequent decrease), but same changes
    23793 
    23794 commit ad85c2203339834fa6ac518acaf5aaa2efb1b02d
    23795 Author: Frederik Heber <heber@bespin.wiss-staff>
    23796 Date:   Fri Oct 10 15:32:33 2008 +0200
    23797 
    23798     BUGFIX: molecule::CreateAdjacencyList() used CandidateBondNo in output even if no candidate had been found
    23799    
    23800     + If no Candidate has been found, output message would declare to be unable to correct bond degree for a unspecified bond (CandidateBondNo set to no sensible value)
    23801 
    23802 commit 41f151252894d0d3731a46b364f36e7364983553
    23803 Author: Frederik Heber <heber@bespin.wiss-staff>
    23804 Date:   Thu Oct 9 20:27:56 2008 +0200
    23805 
    23806     BUGFIXES: CyclicStructureAnalysis() now compatible to disconnected subgraphs, AssignKeySetsToFragment() and FillBondStructureFromReference() memory cleanup corrected
    23807    
    23808     + molecule::DepthFirstSearchAnalysis() now just returns BackEdgeStack, not MinimumRingSize. CyclicStructureAnalysis() is called during FragmentMolecule(), after subgraphs bonds list have been filled by FillBondStructureFromReference().
    23809     + new function molecule::PickLocalBackEdges(), as the BackEdgeStack returned by DepthFirstSearchAnalysis() co
    23810     ntains only global bonds, not the local ones for the subgraph, we have to step through it and pick the right
    23811     ones out.
    23812     + molecule::FragmentMolecule() now calls molecule::CyclicStructureAnalysis() separately for each subgraph, along with a BackEdgeStack filled by PickLocalBackEdges(), and allocates&initialises MinimumRingSize array. Als
    23813     o AssignKeySetsToFragment() frees the LocalListOfAtoms now (FreeList=true), now longer after the following wh
    23814     ile
    23815     + molecule::CyclicStructureAnalysis() takes a local BackEdgeStack and analysis the subgraphs cycles, returnin
    23816     g minimum ring size
    23817     + MoleculeLeafClass::AssignKeySetsToFragment() now frees memory for ListOfLocalAtoms when FreeList is set. BUGFIX: test of first key was testing against ..->nr != -1. However, LocalListOfAtoms was not even initialised correctly to NULL, hence ...->nr pointed in some cases to nowhere. Now it test atom* against NULL.
    23818     + MoleculeLeafClass::FillBondStructureFromReference() now frees memory for ListOfLocalAtoms when FreeList is set correctly (only free initial pointer when FragmentCounter == 0, also it was decreased not before but after freeing, hence we free'd the wrong list). Also, father replaced by GetTrueFather() (makes the function moregenerally useable, was not a bug).
    23819     + ParseCommandLineOptions() option 'D': adapted to changes in DepthFirstSearchAnalysis() in a similar manner
    23820     to FragmentMolecule()
    23821     + molecule::CountCyclicBonds() adapted but does not perform CyclicStructureAnalysis()
    23822     + molecule::CreateAdjacencyList() counts the bonds that could not be brought to covalently corrected degree (i.e. the remaining ionic atoms)
    23823     + molecule::CreateListOfBondsPerAtom() prints atom names and number, which is helpful as name contains global
    23824      and number contains local number (helped in finding above bugs)
    23825     + CreateFatherLookupTable(): BUGFIX: LookupTable was not initialised to NULL (see above)
    23826 
    23827 commit 3ccc3e7a14502461795e5eacfd890ff9d7202edb
    23828 Author: Frederik Heber <heber@bespin.wiss-staff>
    23829 Date:   Thu Oct 9 20:27:56 2008 +0200
    23830 
    23831     BUGFIXES: CyclicStructureAnalysis() now compatible to disconnected subgraphs, AssignKeySetsToFragment() and FillBondStructureFromReference() memory cleanup corrected
    23832    
    23833     + molecule::DepthFirstSearchAnalysis() now just returns BackEdgeStack, not MinimumRingSize. CyclicStructureAnalysis() is called during FragmentMolecule(), after subgraphs bonds list have been filled by FillBondStructureFromReference().
    23834     + new function molecule::PickLocalBackEdges(), as the BackEdgeStack returned by DepthFirstSearchAnalysis() co
    23835     ntains only global bonds, not the local ones for the subgraph, we have to step through it and pick the right
    23836     ones out.
    23837     + molecule::FragmentMolecule() now calls molecule::CyclicStructureAnalysis() separately for each subgraph, along with a BackEdgeStack filled by PickLocalBackEdges(), and allocates&initialises MinimumRingSize array. Als
    23838     o AssignKeySetsToFragment() frees the LocalListOfAtoms now (FreeList=true), now longer after the following wh
    23839     ile
    23840     + molecule::CyclicStructureAnalysis() takes a local BackEdgeStack and analysis the subgraphs cycles, returnin
    23841     g minimum ring size
    23842     + MoleculeLeafClass::AssignKeySetsToFragment() now frees memory for ListOfLocalAtoms when FreeList is set. BUGFIX: test of first key was testing against ..->nr != -1. However, LocalListOfAtoms was not even initialised correctly to NULL, hence ...->nr pointed in some cases to nowhere. Now it test atom* against NULL.
    23843     + MoleculeLeafClass::FillBondStructureFromReference() now frees memory for ListOfLocalAtoms when FreeList is set correctly (only free initial pointer when FragmentCounter == 0, also it was decreased not before but after freeing, hence we free'd the wrong list). Also, father replaced by GetTrueFather() (makes the function moregenerally useable, was not a bug).
    23844     + ParseCommandLineOptions() option 'D': adapted to changes in DepthFirstSearchAnalysis() in a similar manner
    23845     to FragmentMolecule()
    23846     + molecule::CountCyclicBonds() adapted but does not perform CyclicStructureAnalysis()
    23847     + molecule::CreateAdjacencyList() counts the bonds that could not be brought to covalently corrected degree (i.e. the remaining ionic atoms)
    23848     + molecule::CreateListOfBondsPerAtom() prints atom names and number, which is helpful as name contains global
    23849      and number contains local number (helped in finding above bugs)
    23850     + CreateFatherLookupTable(): BUGFIX: LookupTable was not initialised to NULL (see above)
    23851 
    23852 commit df793af37622fc6e5428ad9e5627590d46749e75
    23853 Author: Frederik Heber <heber@bespin.wiss-staff>
    23854 Date:   Thu Oct 9 20:27:56 2008 +0200
    23855 
    23856     BUGFIXES: CyclicStructureAnalysis() now compatible to disconnected subgraphs, AssignKeySetsToFragment() and FillBondStructureFromReference() memory cleanup corrected
    23857    
    23858     + molecule::DepthFirstSearchAnalysis() now just returns BackEdgeStack, not MinimumRingSize. CyclicStructureAnalysis() is called during FragmentMolecule(), after subgraphs bonds list have been filled by FillBondStructureFromReference().
    23859     + new function molecule::PickLocalBackEdges(), as the BackEdgeStack returned by DepthFirstSearchAnalysis() co
    23860     ntains only global bonds, not the local ones for the subgraph, we have to step through it and pick the right
    23861     ones out.
    23862     + molecule::FragmentMolecule() now calls molecule::CyclicStructureAnalysis() separately for each subgraph, along with a BackEdgeStack filled by PickLocalBackEdges(), and allocates&initialises MinimumRingSize array. Als
    23863     o AssignKeySetsToFragment() frees the LocalListOfAtoms now (FreeList=true), now longer after the following wh
    23864     ile
    23865     + molecule::CyclicStructureAnalysis() takes a local BackEdgeStack and analysis the subgraphs cycles, returnin
    23866     g minimum ring size
    23867     + MoleculeLeafClass::AssignKeySetsToFragment() now frees memory for ListOfLocalAtoms when FreeList is set. BUGFIX: test of first key was testing against ..->nr != -1. However, LocalListOfAtoms was not even initialised correctly to NULL, hence ...->nr pointed in some cases to nowhere. Now it test atom* against NULL.
    23868     + MoleculeLeafClass::FillBondStructureFromReference() now frees memory for ListOfLocalAtoms when FreeList is set correctly (only free initial pointer when FragmentCounter == 0, also it was decreased not before but after freeing, hence we free'd the wrong list). Also, father replaced by GetTrueFather() (makes the function moregenerally useable, was not a bug).
    23869     + ParseCommandLineOptions() option 'D': adapted to changes in DepthFirstSearchAnalysis() in a similar manner
    23870     to FragmentMolecule()
    23871     + molecule::CountCyclicBonds() adapted but does not perform CyclicStructureAnalysis()
    23872     + molecule::CreateAdjacencyList() counts the bonds that could not be brought to covalently corrected degree (i.e. the remaining ionic atoms)
    23873     + molecule::CreateListOfBondsPerAtom() prints atom names and number, which is helpful as name contains global
    23874      and number contains local number (helped in finding above bugs)
    23875     + CreateFatherLookupTable(): BUGFIX: LookupTable was not initialised to NULL (see above)
    23876 
    23877 commit ba4432331924fc02b7f5a1f24643fb79bc770fb4
    23878 Author: Frederik Heber <heber@bespin.wiss-staff>
    23879 Date:   Thu Oct 9 18:19:39 2008 +0200
    23880 
    23881     Output of atom and bond to stream now is set to const bond/atom
    23882 
    23883 commit aa57027f3fede3beb1cfc17ee62c74fd56535dae
    23884 Author: Frederik Heber <heber@bespin.wiss-staff>
    23885 Date:   Sun Sep 28 19:55:04 2008 +0200
    23886 
    23887     corrected molecule::VerletForceIntegration() and analyzer creates data and plot file for shielding values
    23888 
    23889 commit 62f793aff2f24a09fa44578b18eca5a99c739605
    23890 Author: Frederik Heber <heber@bespin.wiss-staff>
    23891 Date:   Thu Sep 25 19:57:19 2008 +0200
    23892 
    23893     thermostats enumerator, necessary variables included in class config, molecule::Thermostats() and ..::Constrained
    23894     Potential()
    23895    
    23896     Thermostat header definitions implemented. Can be parsed from the ESPACK config file into class config
    23897     ConstrainedPotential() calculates the transformation between two given configurations my minimsing a penalty func
    23898     tional of the distance to travel per atom. This was implemented due to Michael Griebel's talk during the MultiMat
    23899      Closing meeting in order to produce some visuals. It basically mimics a "Bain Transformation". But it is not yet
    23900      perfectly implemented.
    23901     Also, MD was corrected in VerletIntegration(). However, forces are still wrong with mpqc, as the kinetic energy increases dramatically during the MD simulation.
    23902 
    23903 commit 16a52b3c50fff2ccc678808e2588e1174646b8ec
    23904 Author: Frederik Heber <heber@bespin.wiss-staff>
    23905 Date:   Thu Sep 25 19:51:37 2008 +0200
    23906 
    23907     Lots of conversion factors for various units
    23908    
    23909     Were taken from PCP defs.h
    23910 
    23911 commit 7ce307c78745a2122b212146fe5353c2ac465fa6
    23912 Author: Frederik Heber <heber@bespin.wiss-staff>
    23913 Date:   Thu Sep 25 19:50:17 2008 +0200
    23914 
    23915     Some files were missing in the repository
    23916    
    23917     pseudopotentials and the databases of molecuilder were not present, they are now included as EXTRA_DIST in the Makefile.am
    23918 
    23919 commit 795a543aef7113a3c669a306acef3425d65f403d
    23920 Author: Frederik Heber <heber@bespin.wiss-staff>
    23921 Date:   Thu Sep 11 15:04:01 2008 +0200
    23922 
    23923     molecule::MinimiseConstrainedPotential(): Extension of search and bugfix
    23924    
    23925     We set the DistanceIterator to the begin() of DistanceList if we have reached the end, i.e. start anew for searching possible candidates.
    23926     Trajectories were not written correctly, due to wrong if condition (step> MDSteps) instead of (steps < MaxStep)
    23927 
    23928 commit c30cda6abbb8ffa286b09e6111634efbf42891a6
    23929 Author: Frederik Heber <heber@bespin.wiss-staff>
    23930 Date:   Tue Sep 9 18:42:29 2008 +0200
    23931 
    23932     molecule::MinimiseConstrainedPotential() : Minimisation is fixed
    23933    
    23934     Now, minimisation works. The re-occurence of doubles despite pair-wise exchanging during argument minimisation was due to a wrong DistanceIterator list setting in the injective minimisation before.
    23935     Also, we enhanced the minimisation finding (though it is not optimal yet!) by going through each possible target in the distance list from the very beginning (i.e. we also take again smaller distances into account).
    23936     For control purpose PrintPermutationMap also checks on the number of doubles (i.e. target's that are owned by two sources).
    23937 
    23938 commit 85bac07a96bad99841916279c5887226effb9305
    23939 Author: Frederik Heber <heber@bespin.wiss-staff>
    23940 Date:   Tue Sep 9 17:29:58 2008 +0200
    23941 
    23942     Implemented molecule::LinearInterpolationBetweenConfiguration().
    23943    
    23944     command line option "-L" with start and end step performs a linear interpolation between two atomic configurations. So far the mapping from initial atom labels to final labels is not yet finished, it is injective, but not yet minimal.
    23945 
    23946 commit a1fe77b80222d4b06bce07cbd04191ac9a489a93
    23947 Author: Frederik Heber <heber@bespin.wiss-staff>
    23948 Date:   Fri Sep 5 18:56:31 2008 +0200
    23949 
    23950     Basic implementation of Constrained MD is done, missing testing.
    23951 
    23952 commit 6e93532a2d845fe2e2784e97e1a0882bd15affda
    23953 Author: Frederik Heber <heber@bespin.wiss-staff>
    23954 Date:   Fri Sep 5 10:22:51 2008 +0200
    23955 
    23956     Constrained Molecular Dynamics: two new functions molecule::ConstrainedPotential(), molecule::MinimiseConstrainedPotential()
    23957    
    23958     Constrained Molecular Dynamics scaffold implemented (so far it does nothing):
    23959     - config::DoConstrainedMD contains the target step (i.e. config::DoConstrainedMD = 2 will do a constraint motion from step 1 to step 2), 0 means no constrained motion, is parsed in config::load(), def
    23960     ault is 0
    23961     - molecule::ConstrainedPotential() contains the constrained potential with three terms: distance, tr
    23962     ajectory distance, equal target (last two are pure penalties). Implemented, not tested.
    23963     - molecule::MinimiseConstrainedPotential() is a scaffold, not changing forces and returning null
    23964     - molecule::VerletForceIntegration calls the above with the Force Matrix and target step as function
    23965      parameters
    23966 
    23967 commit 18913c2ca930123026243027483a5e8569fd7118
    23968 Author: Frederik Heber <heber@bespin.wiss-staff>
    23969 Date:   Thu Sep 11 15:25:47 2008 +0200
    23970 
    23971     config::DoWannier implemented that is parsed from config file, default is 0
    23972 
    23973 commit 4f23357f638834520f1ad76131c93dac4640b347
    23974 Author: Frederik Heber <heber@bespin.wiss-staff>
    23975 Date:   Thu Sep 11 15:02:14 2008 +0200
    23976 
    23977     ParseCommandLineOptions(): Command line option "-E" for changing an atom's element, BUGFIX: argptr could become >argc
    23978 
    23979 commit 2985c869920de1734bc16aa5227840ff9c56b82a
    23980 Author: Frederik Heber <heber@bespin.wiss-staff>
    23981 Date:   Tue Sep 9 17:32:16 2008 +0200
    23982 
    23983     BUGFIX: Normalize() would try to normalize a zero vector which ended NaN.
    23984    
    23985     We only normalize if vector is non-zero in magnitude.
    23986 
    23987 commit 698b04044c25e6ea14765313bdc85be65fdffb0a
    23988 Author: Frederik Heber <heber@bespin.wiss-staff>
    23989 Date:   Tue Sep 9 10:37:07 2008 +0200
    23990 
    23991     new function: molecule::OutputTemperatureFromTrajectories() stores velocities as temperature
    23992    
    23993     In order to use VibrAlyzer we need a temperature file, which we don't have anymore as we do the M
    23994     D in molecuilder now. Hence, there is a new command line switch (-L) and a menu item in MeasureAt
    23995     oms() in order to print temperature or to store it to a given file.
    23996 
    23997 commit bd3e5550ecf9aca4526efb079a96f370a9a477eb
    23998 Author: Frederik Heber <heber@bespin.wiss-staff>
    23999 Date:   Tue Sep 9 09:46:15 2008 +0200
    24000 
    24001     configure BUGFIX: GSL may be linked against cblas_... functions or just ..., this is fixed.
    24002    
    24003     Before we checked for cblas_dnrm2. However, e.g. libgoto names it simply dnrm2. Hence, the blas functions are not found or slower (c)blas, or gsl(c)blas is used. Now, we simply check for dnrm2 functions in the list of libs first, if it fails, then for cblas_dnrm2. And finally, we test GSL functionality by checking for main(), which only works if a working blas lib has been found before.
    24004     Also, we removed AC_MSG_NOTICE about CFLAGS and others. However, the other for MPICC was left present.
    24005 
    24006 commit deac6c2ee61a86d3a46c6eccc2756bd2c242c638
    24007 Author: Frederik Heber <heber@bespin.wiss-staff>
    24008 Date:   Sat Sep 6 18:21:31 2008 +0200
    24009 
    24010     BUGFIX: molecule::...Scale(),Translate(),Mirror() and Align() did only change vectors of atom struct, not in the Trajectories structure. RemoveAtom did not remove trajectories entry
    24011    
    24012     This is fixed.
    24013     Also, fixed that RemoveAtom() did not remove the entry in Trajectories structure.
    24014 
    24015 commit a6b7fb65396523f30f3be7cb1c8c8dfaaf680d1a
    24016 Author: Frederik Heber <heber@bespin.wiss-staff>
    24017 Date:   Sat Sep 6 17:08:32 2008 +0200
    24018 
    24019     BUGFIX: config::SaveMPQC() used molecule::DetermineCenter() which relies on the created bond structure, causing segfault.
    24020    
    24021     When storing a newly created configuration file, the bond structure needs not be present yet. Hence, we created the function molecule:DetermineCenterOfAll(), similar to molecule::DetermineCenterOfGravity() just without scaling by masses. This new function is now used instead.
    24022 
    24023 commit d1fc7f6c252281b36280161c5061d0e730662c24
    24024 Author: Frederik Heber <heber@bespin.wiss-staff>
    24025 Date:   Sat Sep 6 17:06:51 2008 +0200
    24026 
    24027     BUGFIX: Moved case 'a' in ParseCommandLineOptions() to the config_present == empty option switch.
    24028    
    24029     If atoms were added to an newly-created and empty configuration file, this would not work, as the config file was still empty and hence config_present != present, so far needed for case 'a'. Now, it is moved in the vicinity of case 'P', where it belongs to and if the first atom is added, config_present is set to present.
    24030 
    24031 commit a8aadf6291f42c04cb057454fa0a010c23184d00
    24032 Author: Frederik Heber <heber@bespin.wiss-staff>
    24033 Date:   Fri Sep 5 19:09:39 2008 +0200
    24034 
    24035     SaveConfig() now also stores an MPQC input file.
    24036    
    24037     MoleculeListClass::OutputConfigForListOfFragments() did this already, but it was missing for SaveConfig(). We do the same regarding filenames and output, only we call config::SaveMPQC().
    24038 
    24039 commit ed060ec87e8e74bee52410a6471d3c0f47149edd
    24040 Author: Frederik Heber <heber@bespin.wiss-staff>
    24041 Date:   Fri Sep 5 19:02:18 2008 +0200
    24042 
    24043     moved all definitions from boundary.hpp to molecules.hpp, and renamed DistanceNrPair to DistancePair.
    24044 
    24045 commit 7e27e738a38b76dacb4576347f33afc94b7933dc
    24046 Author: Frederik Heber <heber@bespin.wiss-staff>
    24047 Date:   Wed Sep 3 19:28:31 2008 +0200
    24048 
    24049     BUGFIX: config::load() parses endlessly if there are no atoms in the config file.
    24050    
    24051     Since MaxTypes is 0, we check for it and don't scan if there are none according to it. If MaxTypes != 0 however there are no ions given, we break with an error message (which was missing before in config:ParseForParameters()).
    24052 
    24053 commit dd8cf8a8462703ebe06c909e9115df444b75404d
    24054 Author: Frederik Heber <heber@bespin.wiss-staff>
    24055 Date:   Tue Sep 2 14:06:14 2008 +0200
    24056 
    24057     FIX: ExitFlag not defaults to 0, and set specifically to 1 in the subcases
    24058    
    24059     In ParseCommandLineOptions() the ExitFlag was always set to 1, even if only the elements databases were given on the command line. This lead to exit of program, when none was desired.
    24060 
    24061 commit 7e07cfbaccb8721446cd98910c37724dcc61f432
    24062 Author: Frederik Heber <heber@bespin.wiss-staff>
    24063 Date:   Tue Sep 2 14:05:31 2008 +0200
    24064 
    24065     fix: in config::edit() the loop asking for cell values had the wrong order
    24066    
    24067     sigh from the dumb optimization...
    24068 
    24069 commit 3dcd149e7e9a272112b92ca2b13b0ad8200eb6d2
    24070 Author: Frederik Heber <heber@bespin.wiss-staff>
    24071 Date:   Fri Aug 29 12:39:59 2008 +0200
    24072 
    24073     molecule::ScanForPeriodicCorrection() two printfs were commented out
    24074 
    24075 commit c1fc22aaa072e01ad3e6939465d7f8bb9d033b13
    24076 Author: Frederik Heber <heber@bespin.wiss-staff>
    24077 Date:   Fri Aug 29 12:39:17 2008 +0200
    24078 
    24079     config::SaveMPQC() included in headers and used in OutputConfigForListOfFragments() and cleaned up the path&filename creation
    24080 
    24081 commit 6b8b57c269257f8192eb7f11ffd114cf48339f05
    24082 Author: Frederik Heber <heber@bespin.wiss-staff>
    24083 Date:   Fri Aug 29 12:12:00 2008 +0200
    24084 
    24085     new function SaveMPQC(), bugfixes in ParseForParameter()
    24086    
    24087     ParseForParameter(): first while loop tested dummy[0] although it might occur that dummy = NULL, this is now checked beforehand. On stepping through the values in the keyword line, the end marker (dummy) was shifted to the start of the next value, hence included the tabs. This lead to strings being stored with tabs at the end and on consecutive loading&storing in an MD run to an accumulation of tabs till MD step 152, where the config file could not be parsed anymore due to the size of the string value. This is fixed (the shifthing further is removed, as unnecessary).
    24088     SaveMPQC(): molecuilder now stores input files for MPQC directly, i.e. they don't have to be converted from the ESPACK format externally. This saves a lot of time during BOSSANOVA MD.
    24089 
    24090 commit ab3a0e355a8ec6c4f7f4b9c7c65b2931c2d58151
    24091 Author: Frederik Heber <heber@bespin.wiss-staff>
    24092 Date:   Mon Aug 18 12:55:30 2008 +0200
    24093 
    24094     Fixed second test (main_pcp_linux was not written anymore, hence copied) and error code in third test (2 not 0)
    24095 
    24096 commit 19892d8d4b3e7063877efba20bee402e3caa3695
    24097 Author: Frederik Heber <heber@bespin.wiss-staff>
    24098 Date:   Mon Aug 18 11:02:34 2008 +0200
    24099 
    24100     tiny comments and docu update for FragmentMolecule()
    24101 
    24102 commit 362b0e5abaff6113ef0ca4989b9074448eccb8b8
    24103 Author: Frederik Heber <heber@bespin.wiss-staff>
    24104 Date:   Mon Aug 18 10:57:58 2008 +0200
    24105 
    24106     Adaptivity fixes, MD by VerletForceIntegration introduced, MD molecule::Trajectories, atom Max::Order, no more recursive going down the fragmentation level
    24107    
    24108     MD
    24109     ==
    24110     molecule::Trajectories is now a map to a struct trajectory list of all the MD steps.
    24111     struct Trajectory contains STL vectors of coordinates, velocities and forces. Both are needed for the new VerletForceIntegration.
    24112     Parsing of coordinates, velocities and forces from the config file was completely rewritten:
    24113      - in the FastParsing case, we just scan for IonType1_1 to find the last step, set the file pointer there and scan all remaining ones
    24114      - in the other case, we create the atoms in the first step and put them in a hash for lookup on later steps and read in sequentially (with file pointer moving on).
    24115      - This is a lot faster than the old variant.
    24116     VerletForceIntegration() implemented in a working manner with force smoothing (mean of actual and last one).
    24117     OutputTrajectoriesXYZ() now concatenates the single MD steps into one xyz file, so that the animation can be viewed with e.g. jmol or vmd
    24118     config:Deltat is now public (lazy me) and set to 1 instead of 0 initially, also Deltat is parsed accordingly (if not present, defaults to 1)
    24119     MatrixContainer::ParseMatrix from parser.cpp is used during VerletForceIntegration() to parse the forces file. Consequently, we have included parser.* in the Makefile.am.
    24120     Fix: MoleculeListClass::OutputConfigForListOfFragments() stores config file under config::configpath, before it backup'd the path twice to PathBackup.
    24121    
    24122     Adaptivity
    24123     ==========
    24124     Adaptivity (CheckOrderAtSite()) had compared not absolute, but real values which caused sign problems and faulty behaviour.
    24125     Adapatvity (CheckOrderAtSite()) had included atoms by Order (desired one) not by FragOrder (current one) into the list of candidates, which caused faulty behaviour.
    24126     CheckOrderAtSite() did single stepping wrong as the mask bit (last in AtomMask) was checked for true not false! Also bit was not set to false initially in FragmentMolecule().
    24127     Adaptivity: FragmentMolecule now returns 1 - continue, 2 - don't ... to tell whether we still have to continue with the adaptive cycle (is given as return value from molecuilder)
    24128     introduced atom::MaxOrder
    24129     StoreOrderAtSiteFile() now also stores the MaxOrder and ParseOrderAtSiteFromFile() parses it back into atom class
    24130    
    24131     Removed Fragmentation Recursion
    24132     ===============================
    24133     As we switched in the prelude of the adaptivity to a monotonous increase from order 1 to the desired one, we don't need to recursively go down each level from a given current bond order, as all these fragments have already been created on the lower orders. Consequently, FragmentBOSSANOVA does not contain NumLevels or alike anymore. This simplified the code a bit, but probably is not yet completely done. (but is working, checked on heptan).
    24134     SPFragmentGenerator() does not need Labels anymore, global ones are used for checks. Consequently, PowerSetGenerator() and FragmentSearch structure don't initialise/contain them anymore. We always compare against ...->GetTrueFather()->nr.
    24135 
    24136 commit f054074bc0e2ebd43408e39a6e2ae0cd96597630
    24137 Author: Frederik Heber <heber@bespin.wiss-staff>
    24138 Date:   Mon Aug 18 10:35:40 2008 +0200
    24139 
    24140     analyzer has been adapted to the aforementioned change in the calling scheme.
    24141 
    24142 commit 8f019c37319f5387da730449c13ecaf090715119
    24143 Author: Frederik Heber <heber@bespin.wiss-staff>
    24144 Date:   Mon Aug 18 10:35:11 2008 +0200
    24145 
    24146     Splitting MatrrixContainer::ParseMatrix in ParseMatrix
    24147    
    24148     ParseMatrix just parses only a given matrix into a given part of the MatrixContainer::matrix array).
    24149     ParseFragmentMatrix calls ParseMatrix for a sequence of numbered files containing the matrices.
    24150     ForceMatrix::ParseFragmentMatrix overrides the routine from MatrixContainer in order to handle the parsing of the last and one ma
    24151     trix in a special way
    24152     EnergyMatrix::ParseFragmentMatrix overrides the routine from MatrixContainer in order to handle the parsing of the last and one matrix in a special way
    24153     Realloc() was fixed:  ReAlloc would break if given oldptr is NULL, but now we simply switch to doing a malloc instead and only admonishing the wrong call to ReAlloc instead of Malloc
    24154     analyser.cpp and joiner.cpp have been adapted to these new calling schemes
    24155 
    24156 commit f3dc4cada1aab42f4ac415cb0adb90ad5db6eed7
    24157 Author: Frederik Heber <heber@bespin.wiss-staff>
    24158 Date:   Mon Aug 18 10:27:34 2008 +0200
    24159 
    24160     Time analysis is back in
    24161 
    24162 commit 9e5a04de7e452653cd51c0bbb3ed1427808806fb
    24163 Author: Frederik Heber <heber@bespin.wiss-staff>
    24164 Date:   Mon Aug 18 10:25:28 2008 +0200
    24165 
    24166     Included missing silicon and took more or lesss sensible values for valence orbitals from a website
    24167 
    24168 commit 5e0d1f1c85a9ade010b400eb5a691b8c94a48949
    24169 Author: Frederik Heber <heber@bespin.wiss-staff>
    24170 Date:   Wed Aug 6 14:00:18 2008 +0200
    24171 
    24172     config::Save() and config::Load() parse MD steps into and out of molecule::Trajectories. Tested.
    24173 
    24174 commit e9b8bbc350d26b202af7d90b4200003a5a492355
    24175 Author: Frederik Heber <heber@bespin.wiss-staff>
    24176 Date:   Wed Aug 6 11:02:01 2008 +0200
    24177 
    24178     Rename of class vector to Vector to avoid conflict with vector from STL.
    24179 
    24180 commit d7e30ca04fa0adf2762a650a9f855a8ded1885f5
    24181 Author: Frederik Heber <heber@bespin.wiss-staff>
    24182 Date:   Wed Aug 6 10:59:06 2008 +0200
    24183 
    24184     Scaffold of new function: VerletForceIntegration() - does MD step by parsing external forces file.
    24185    
    24186     PCP is too slow and unnecessarily ECut-dependent. If we incorporate the Verlet integration into molecuilder, we get a much more complete "wrapper" package.
    24187 
    24188 commit b4b7c37aea37c05e26de1669061a747720f5d760
    24189 Author: Frederik Heber <heber@bespin.wiss-staff>
    24190 Date:   Wed Aug 6 10:50:52 2008 +0200
    24191 
    24192     pcp.speed is parsed and analyzed again (Time matrices).
    24193    
    24194     This was commented out before.
    24195 
    24196 commit fb936468428f5110b9922aa5f20ccb14c1c45e08
    24197 Author: Frederik Heber <heber@bespin.wiss-staff>
    24198 Date:   Wed Aug 6 10:37:04 2008 +0200
    24199 
    24200     The entries in the Header of ForceMatrix are now separated by tabs, not white spaces in general
    24201    
    24202     This fixes problems with the headers of the speed entries of MPQC which are multiple words separated by spaces. As we already use tabs to separate each entries, we just had to rewrite the code to split by '\t' which is done by getline.
    24203 
    24204 commit 4aa03a552cf306f8b3265e786d08e545bf01bed4
    24205 Author: Frederik Heber <heber@bespin.wiss-staff>
    24206 Date:   Thu Jul 31 16:05:37 2008 +0200
    24207 
    24208     new test function CheckForConnectedSubgraph() and bigger rewrite of PowerSetGenerator() and SPFragmentGenerator() to allow for ings
    24209    
    24210     CheckForConnectedSubgraph(): Is an O(N^2) function to check whether we do not create fragments we don't want to have (i.e. disconnected ones)
    24211     PowerSetGenerator(): Instead of adding the possible Walkers to an AtomStack, we use the bonds we store in the BondsPerSPList, which by the way have the necessary directional information (i.e. they come with the predecessor in Bond#leftatom). This way, we generate fragments in ring structures without any problems.
    24212     SPFragmentGenerator(): had to be adapted as the calling in PowerSetGenerator() had changed a bit. We already let the root be added by this function and don't add it in PowerSetGenerator(), which simplifies (no if-catch for first order) the code there a bit. Furthermore, we had to check whether an added vertex was not already in the keyset (this may happen, as both edge 1<->2 as 2<->1 may appear at different SPLevels in BondsPerSPLevel: Ring structures in contrast to tree structures don not allow for uniqueness! This is first realised through the hash map storing the keysets). This again caused a change in recognizing when the stack contains a fragment, as Suborder-bits (bits is the number of atoms added for this combination) is not the way anymore - we use an additional Counter "Added".
    24213    
    24214     Test on Benzonitrile was successful. We counted the possible fragments by hand, checked them furthermore till order 5 and the numbers were ok up till full order 8 in the end.
    24215 
    24216 commit af6d8f00912cd5022f1a2c33ac397ac378ec965d
    24217 Author: Frederik Heber <heber@bespin.wiss-staff>
    24218 Date:   Wed Jul 30 16:16:21 2008 +0200
    24219 
    24220     CyclicStructureAnalysis(): BUGFIX - BFSStack may be empty if we can't find the loop, FragmentBOSSANOVA(): BUGFIX - FragmentLowerOrderList may be NULL
    24221 
    24222 commit 41baafea7091ff08639dc60305b81c5e1871ee8e
    24223 Author: Frederik Heber <heber@bespin.wiss-staff>
    24224 Date:   Wed Jul 30 15:11:30 2008 +0200
    24225 
    24226     2 BUGFIXES: CreateAdjacencyList() and CyclicStructureAnalysis()
    24227    
    24228     CreateAdjacencyList(): with benzophenone and indigo it was found that the correction of the bond degree was not working properly. Carbon bound to oxygen and other carbons would not raise the bond degree to oxygen preferentially over the carbon bonds, which lead to wrong bond degrees in the end. We refrained from using matrix schemes as these are not O(N) in a simple manner, but remained with the local scheme that now checks each also mismatching bond partner for its number of bonds and takes preferentially the one with the fewest bonds as the increase candidate.
    24229     CyclicStructureAnalysis(): with biphenylene and cholesterol it was found that the cycle detection did not work as expected. Cycles were found twice due to a back edge being shared by two cycles at the same time (and it's randomly dependend on the vertex ids which cycle is found first). Hence, we now do a backtracking of a cycle candidate, looking whether each of its vertices is not already set to be cyclic. If so, we removed the last added vertices from lists and stacks (i.e. the closing edges), so that the other BFS finger with the real candidate may still reach the looked-for backedge (otherwise the vertex would be marked gray and hence not visited).
    24230 
    24231 commit 683914b4876eed83b28d109437ddb9f72c5a18f5
    24232 Author: Frederik Heber <heber@bespin.wiss-staff>
    24233 Date:   Mon Jul 28 16:41:22 2008 +0200
    24234 
    24235     CyclicStructureAnalysis: BUGFIX - MinimumRingSize of non-loop atoms was wrong
    24236    
    24237     - new bool atom:IsCyclic states whether atoms is part of a cycle or not, this is set in CyclicStructureAnalysis()
    24238     - MinimumRingSize was set to MinimumRingSize plus ShortestPath thereto. This gives correct results only if this goes to a loop-member. However the if-condition was phrased in such a manner, that it became possible that non-loop members (with MinimumRingSize set below AtomCount) would now also be regarded als loop members. This is sort of a triangle inequality problem :), path of A to B plus path from B to C is probably not the same as path from A to C in terms of length
    24239 
    24240 commit 87e27351ede74c047e0a540d97da19854f66ea26
    24241 Author: Frederik Heber <heber@bespin.wiss-staff>
    24242 Date:   Mon Jul 28 16:18:25 2008 +0200
    24243 
    24244     CyclicStructureAnalysis: BUGFIX - MinimumRingSize was not set correctly
    24245    
    24246     - During BFS search from non-loop members to loops, Walker was pushed instead of Root at start of BFS
    24247     - if Backedge lead to a terminal hydrogen, this hydrogen ended up with AtomCount MinimumRingSize instead of correct one.
    24248 
    24249 commit b610433d971fac0a9b4ebc55ee01222a06161971
    24250 Author: Frederik Heber <heber@bespin.wiss-staff>
    24251 Date:   Mon Jul 28 15:47:52 2008 +0200
    24252 
    24253     Removed Output of parsed elements db (does work well, so not necessary anymore)
    24254 
    24255 commit 95845742c9849804a86919863f94de644eb5f1a5
    24256 Author: Frederik Heber <heber@bespin.wiss-staff>
    24257 Date:   Mon Jul 28 15:45:43 2008 +0200
    24258 
    24259     CheckOrderAtSite: BUGFIX - Added MinimumRingSize to parameter list, as otherwise infinite loop
    24260    
    24261     If FragmentBOSSANOVA checks for remaining below MinimumRingSize per atom, CheckOrderAtSite however does not and fills AtomMask with values for atoms not to be included, we end up with an endless loop. Hence, MinimumRingSize is given as an additional parameter and CheckOrderAtSite checks for it for adaptive and for global increase (for stepwise we don't have the loop problem and FragmentBOSSANOVA will do the right thing).
    24262 
    24263 commit 3902484c207d407476dea9c34dc0482f306011aa
    24264 Author: Frederik Heber <heber@bespin.wiss-staff>
    24265 Date:   Thu Jul 24 16:00:19 2008 +0200
    24266 
    24267     BIG change: Hcorrection included and bugfix of analyzer (wrt forces)
    24268    
    24269     - Hcorrection is supplied via molecuilder which gives correction values if hydrogen atoms are to close and thus already feel each other's influence. This correction energy matrix is also parsed ans subtracted from the approximated energy matrix generated from the fragments. This impacts both on joiner, analyzer and molecuilder
    24270     - Forces were not working which had multiple causes:
    24271       - first, we stepped back down to absolute errors which rather gives a feel about convergence (1e-6 is simply small and neglegible)
    24272       - there may have been bugs where (either in Force or in ForceFragments) adding up took place, this is cleaned up
    24273       - more routines have been abstracted from analyzer into datacreator functions
    24274         - the order of ions had changed, re-run with current molecuilder, calculation and subsequent joining/analyzing brought correct results finally
    24275     - plots were bad still due to wrong axes (two more functions finding max/min values), use of wrong columns in plot file
    24276 
    24277 commit c685eb762cafcd3ac83229798d1b5348383442c3
    24278 Author: Frederik Heber <heber@bespin.wiss-staff>
    24279 Date:   Thu Jul 24 15:58:40 2008 +0200
    24280 
    24281     adding atom: element is now first, not last parameter and output message is clearer
    24282    
    24283     This is to remedy the problem of forgetting the element's Z value, the output message should give clear indication.
    24284 
    24285 commit 82cd9fdbc792e4131e56a2df3b65817208d6f955
    24286 Author: Frederik Heber <heber@bespin.wiss-staff>
    24287 Date:   Thu Jul 24 15:56:00 2008 +0200
    24288 
    24289     BUGFIX: elements.db is now using path instead of file
    24290    
    24291     elements database was not correctly stored, as a filename was still given in Load/StorePeriodentafel instead of the path. This is corrected.
    24292 
    24293 commit 7d96c688dc2211a43672144fbe15e285661198f4
    24294 Author: Frederik Heber <heber@bespin.wiss-staff>
    24295 Date:   Wed Jul 9 15:33:57 2008 +0200
    24296 
    24297     class vector was wrongly still in molecules.hpp instead of vector.hpp
    24298 
    24299 commit 0378e209ab9d2f0bacdbc445771626883a31a43c
    24300 Author: Frederik Heber <heber@bespin.wiss-staff>
    24301 Date:   Wed Jul 9 15:24:20 2008 +0200
    24302 
    24303     StoreKeySetFile(): removed unncessary iterator "ende" storing
    24304 
    24305 commit 1b62f36c7f43cecd8e3b385195d91298fbf95215
    24306 Author: Frederik Heber <heber@bespin.wiss-staff>
    24307 Date:   Tue Jul 8 15:12:55 2008 +0200
    24308 
    24309     changed verbosity a bit
    24310 
    24311 commit 68cb0f6ecaea70afd3066840aea2c154a6ecfb92
    24312 Author: Frederik Heber <heber@bespin.wiss-staff>
    24313 Date:   Fri Jun 27 23:12:52 2008 +0200
    24314 
    24315     introduced shieldings to analyzer and joiner
    24316    
    24317     both now handle pcp.sigma_all...csv files just as pcp.forces.all. Therefore the data format in pcp/perturbed.c was adapted a bit, as we need a header.
    24318     periodentafel.hpp got periodentafel and element class from molecules.hpp
    24319 
    24320 commit 1f066feec5dd1816d82aa85f8b131467fb6faaa0
    24321 Author: Frederik Heber <heber@bespin.wiss-staff>
    24322 Date:   Mon Jun 23 13:25:09 2008 +0200
    24323 
    24324     ParseCommandLineOptions(): new option 'O' centers system at origin
    24325    
    24326     Just calls CenterOrigin for the given molecule.
    24327 
    24328 commit f14a52d761035defda8d929cf23b405d9285bfef
    24329 Author: Frederik Heber <heber@bespin.wiss-staff>
    24330 Date:   Mon Jun 23 13:23:50 2008 +0200
    24331 
    24332     StoreFragmentFromKeySet(): BUGFIX - commented out the Leaf->AddBond for non-hydrogen atoms by accident
    24333    
    24334     This happened because the adding was hidden in the "*out << ... << endl;" directive. I put it onto an extra line and surrounded it with "*out <<" and so on so that it may still be used.
    24335 
    24336 commit 2565207417a14b61bdcd62329a6c9df902acf1d4
    24337 Author: Frederik Heber <heber@bespin.wiss-staff>
    24338 Date:   Sun Jun 22 15:39:41 2008 +0200
    24339 
    24340     ParseCommandLineOptions(): BUGFIX - break was missing for case 'n' causing next argument to be skipped
    24341 
    24342 commit 8a3e457fdc8672973ca81864d2f77e092e907b83
    24343 Merge: d427bdd d250b29
    24344 Author: Frederik Heber <heber@bespin.wiss-staff>
    24345 Date:   Sun Jun 22 15:27:47 2008 +0200
    24346 
    24347     Merge branch 'bisect' into AdaptiveMolecuilder
    24348 
    24349 commit d250b29e2b8e1c054b7f93c4f475f36dfb7a3a33
    24350 Author: Frederik Heber <heber@bespin.wiss-staff>
    24351 Date:   Fri Jun 20 10:08:13 2008 +0200
    24352 
    24353     MatrixContainer::ParseMatrix(): BUGFIX - line_s_.eof()
    24354    
    24355     Bug was introduced by fixing compiler warnings, were we overlooked changing one line.eof() to lines.eof() in the second nested for-loop
    24356 
    24357 commit d427bdde3cb24cf94d568fcc40e8a7154d5b8670
    24358 Author: Frederik Heber <heber@bespin.wiss-staff>
    24359 Date:   Fri Jun 20 09:08:31 2008 +0200
    24360 
    24361     OutputConfigForListOfFragments(): boundary is now 2.5 Angstroem instead of 5 Angstroem
    24362    
    24363     5A is too huge for the small molecules resulting during the fragmentation process
    24364 
    24365 commit 14d4d4644ea84a22d5937320a9912d6d1b62ef29
    24366 Author: Frederik Heber <heber@bespin.wiss-staff>
    24367 Date:   Mon Jun 16 16:09:27 2008 +0200
    24368 
    24369     BUGFIX: If other databases could not be loaded, no error was produced, resulting in strange behaviour of the fragmentation routine.
    24370    
    24371     Now an error message is produced, though we still continue. The problem was the switch in handling const char * and a huge mess in LoadPeriodenTafel() with strncat and strncpy.
    24372 
    24373 commit edb65060a73f63aabcd848073d037264b4a050f7
    24374 Author: Frederik Heber <heber@bespin.wiss-staff>
    24375 Date:   Fri Jun 13 16:26:50 2008 +0200
    24376 
    24377     some mor changes to fine-tune the cluster generation.
    24378    
    24379     Sadly, VolumeOfConvexEnvelope() is not robust/stable, with Ratio1.4-1/1800K/compundH.*.xyz no usable convex envelope was found but points were connected right through the cluster.
    24380 
    24381 commit 318bfd37d3e5e3924d9bac94b3435c4b628d634e
    24382 Author: Frederik Heber <heber@bespin.wiss-staff>
    24383 Date:   Fri Jun 13 11:18:57 2008 +0200
    24384 
    24385     Final touches for Create Clusters in water
    24386    
    24387     repetition in CreateClustersinWater(), some stuff thrown out in VolumeOfConvexEnvelope (loop to throw out some more points, which does not happen if we take any appearing in at least one BoundaryPoints), some variable declarations shifted to the start of a function, BoundaryPoints are given to functions and if NULL is created by calling GetBoundaryPoints() and free'd subsequently.
    24388 
    24389 commit 6c58125d49933c6c85972c57b3af4f3c937fa82f
    24390 Author: Frederik Heber <heber@bespin.wiss-staff>
    24391 Date:   Thu Jun 12 21:34:36 2008 +0200
    24392 
    24393     Smaller fixes
    24394    
    24395     CreateClustersinWater is now PrepareClustersinWater (as actual suspension is done in VMD still)
    24396     BoundaryPoints can be returned or not in VolumeOfConvexEnvelope
    24397 
    24398 commit 110cebe3fea3969bcc2d7a77d60d8d02c0c7734f
    24399 Author: Frederik Heber <heber@bespin.wiss-staff>
    24400 Date:   Thu Jun 12 21:14:46 2008 +0200
    24401 
    24402     VolumeOfConvexEnvelope: Works!
    24403    
    24404     VolumeOfConvexEnvelope has been analysed into various smaller functions and approach is working.
    24405     two new files: boundary.?pp
    24406     various new functions:
    24407     class Tesselation with AddPoint(), TesselateOnBoundary() and GuessStartingTriangle() does the actual tesselation
    24408     CreateClustersinWater() will create the repetition of the cluster with correct spacing (unfinished).
    24409     GetDiametersOfCluster() calculate the greatest diameter in projection per axis
    24410     GetBoundaryPoints() gets the boundary on the convex envelope by projection for a molecular cluster
    24411     GetCommonEndpoint() finds the endpoint two lines are sharing
    24412 
    24413 commit bc84e47f9f13a622b8ffa4b250cd9f41bd97cd8d
    24414 Author: Frederik Heber <heber@bespin.wiss-staff>
    24415 Date:   Thu Jun 12 21:14:32 2008 +0200
    24416 
    24417     cosmetics
    24418 
    24419 commit 8eb17a7adbbd9a60923470c82989201886dfb9c8
    24420 Author: Frederik Heber <heber@bespin.wiss-staff>
    24421 Date:   Thu Jun 12 21:13:43 2008 +0200
    24422 
    24423     StorePeriodentafel(): BUGFIX - there still was elements.db instead of define value
    24424 
    24425 commit cdee6b32d79cd13f039afa954391109eedbf8b22
    24426 Author: Frederik Heber <heber@bespin.wiss-staff>
    24427 Date:   Tue Jun 10 13:31:03 2008 +0200
    24428 
    24429     fastparse was not yet working for more than one ion type
    24430    
    24431     moved parsing of ion type numbers before the coordinates parsing loop (prescanning). Bug came due to sequential setting on fastparse
    24432 
    24433 commit 49de64f43390d73584f072908bf52bbacde73c26
    24434 Author: Frederik Heber <heber@bespin.wiss-staff>
    24435 Date:   Tue Jun 10 13:21:32 2008 +0200
    24436 
    24437     VolumeOfConvexEnvelope() finished and tested with SiOH4, 1_2_dimethoxyethane and CSHCluster (Ratio1-1)
    24438 
    24439 commit 233e33e9480b84b60d83d44696ee46721204ee12
    24440 Author: Frederik Heber <heber@bespin.wiss-staff>
    24441 Date:   Tue Jun 10 13:21:13 2008 +0200
    24442 
    24443     fastparse enabled by "-n"
    24444 
    24445 commit 498a9f0a80c4bdd9c53148a9c59c1b7a4a56a22e
    24446 Author: Frederik Heber <heber@bespin.wiss-staff>
    24447 Date:   Tue Jun 10 13:20:12 2008 +0200
    24448 
    24449     some new functions: vector::vector(), vector::ProjectOntoPlane(), vector::One(), vector::Init()
    24450    
    24451     vector::vector()    new constructor allowing for setting of components
    24452     vector::ProjectOntoPlane()  projects vector onto plane described by normal vector
    24453     vector::One()       sets components to given double
    24454     vector::Init()      initialised components to given values
    24455 
    24456 commit 3dfad8a4201cfdb6a7b9916e1a68d0087b9cceb1
    24457 Author: Frederik Heber <heber@bespin.wiss-staff>
    24458 Date:   Tue Jun 10 13:15:52 2008 +0200
    24459 
    24460     Revert "some new functions: vector::vector(), vector::ProjectOntoPlane(), vector::One(), vector::Init()"
    24461    
    24462     This reverts commit d11f22c4a97b28e748e8ef9cb37f315ad278ac27.
    24463 
    24464 commit 62c16c6c66c80350d6b87fe7eddb9e936cc4b9ef
    24465 Author: Frederik Heber <heber@bespin.wiss-staff>
    24466 Date:   Tue Jun 10 13:13:41 2008 +0200
    24467 
    24468     enabled fast parsing (-n)
    24469    
    24470     config::Load(): the repetition and thereby impossible setting of "sequential" makes reading of big configs very slow. Hence, a command line parameter can be specified to skip more instances of Ion_Type...
    24471 
    24472 commit 17ce5c7296def2b5de1bec37a2d35a1aa9e78b35
    24473 Author: Frederik Heber <heber@bespin.wiss-staff>
    24474 Date:   Tue Jun 10 13:11:22 2008 +0200
    24475 
    24476     some new functions: vector::vector(), vector::ProjectOntoPlane(), vector::One(), vector::Init()
    24477    
    24478     vector::vector(): another constructor for directly initiating vector
    24479     vector::ProjectOntoPlane(): projects a vector onto the planbe defined by a given normal vector
    24480     vector::One(): set all components to 1
    24481     vector::Init(): initialises vector with given components
    24482 
    24483 commit d52ea1b95c0737e6f74144cdd7c80b914460b1d9
    24484 Author: Frederik Heber <heber@bespin.wiss-staff>
    24485 Date:   Sat Jun 7 15:21:53 2008 +0200
    24486 
    24487     Working version of PAS transformation (tested on C-S-H cluster) and code scaffold of VolumeOfConvexEnvelope that's untested so far
    24488    
    24489     PAS simply calculates inertia tensor, diagonalizes it via GSL and transforms molecule into eigenvector system such that z axis is eigenvector of biggest eigenvalue.
    24490 
    24491 commit 65684fe4aeaaa75d4330f79782835a5a7a1b9d07
    24492 Author: Frederik Heber <heber@bespin.wiss-staff>
    24493 Date:   Sat Jun 7 15:21:33 2008 +0200
    24494 
    24495     these are all smaller fixes due to extensively enabled compiler warnings
    24496    
    24497     e.g. local variable shadows definition of a global one
    24498 
    24499 commit fa40b590ae065d7e32aad6262abe84f43f935ec4
    24500 Author: Frederik Heber <heber@bespin.wiss-staff>
    24501 Date:   Sat Jun 7 15:20:30 2008 +0200
    24502 
    24503     these are all smaller fixes due to extensively enabled compiler warnings
    24504    
    24505     e.g. local variable shadows global (mol::nr by local nr)
    24506     and others
    24507 
    24508 commit a19da5d7a0a0600c5861cea9fef8ae21cc04f188
    24509 Author: Frederik Heber <heber@bespin.wiss-staff>
    24510 Date:   Sat Jun 7 15:16:19 2008 +0200
    24511 
    24512     new aclocal macro with controles all the enable-debug/optimization/warning in a unified manner and still keeps packages independent of each other.
    24513    
    24514     Note that Ralf suggested specifying optimizations in CFLAGS directly, due to the load of activateable warnings, i saw it rather fit to make such a configure option.
    24515 
    24516 commit 1f642268e359bca860ac2c8ceb4dd15f33268e0a
    24517 Author: Frederik Heber <heber@bespin.wiss-staff>
    24518 Date:   Mon Jun 2 12:28:29 2008 +0200
    24519 
    24520     <string.h> needed for strncat and companions for gcc-4.3.0
    24521 
    24522 commit 0ba2b0a58c53ca568e683849b188703d2d5af5da
    24523 Author: Frederik Heber <heber@bespin.wiss-staff>
    24524 Date:   Fri May 30 17:48:16 2008 +0200
    24525 
    24526     libblas needed for libgsl is now found via AC_SEARCH_LIB and list blas cblas gslblas gslcblas
    24527 
    24528 commit 5e4058b78eadb943a2301066be5c8ada549f6595
    24529 Author: Frederik Heber <heber@bespin.wiss-staff>
    24530 Date:   Fri May 30 15:51:53 2008 +0200
    24531 
    24532     OutputConfigForListOfFragments(): return of configuration::GetDefaultPath() is checked for NULL
    24533 
    24534 commit 95078ca4732979af555e943b8313bc34ee581d98
    24535 Author: Frederik Heber <heber@bespin.wiss-staff>
    24536 Date:   Fri May 30 15:50:45 2008 +0200
    24537 
    24538     AM_CFLAGS thrown out as warnings are added to CFLAGS in configure-part. Huge changes to make mpi working with given environment variables MPICC and MPILIBS
    24539 
    24540 commit 6b33de20554fbe8605c0a37c1145e9b75c16283f
    24541 Author: Frederik Heber <heber@bespin.wiss-staff>
    24542 Date:   Fri May 30 12:43:34 2008 +0200
    24543 
    24544     LoadPeriodentafel() mixup of cat and cpy orders prevented loading of database with a given path
    24545 
    24546 commit fedd5fbd70ec189e8e4c28aa0b8b94531a943479
    24547 Author: Frederik Heber <heber@bespin.wiss-staff>
    24548 Date:   Fri May 30 12:42:49 2008 +0200
    24549 
    24550     main(): periode is not printed anymore after parsing cmd options, ParseCommandLineOptions(): one extra space after three dots
    24551 
    24552 commit 4b4d6539988f3597846b5269ec16dd92769df1c2
    24553 Author: Frederik Heber <heber@bespin.wiss-staff>
    24554 Date:   Fri May 30 11:03:32 2008 +0200
    24555 
    24556     for bigger molecules listing of found keywords slows things done (yet, parsing is slow nonetheless)
    24557 
    24558 commit 37b5bb45fbac22d3d8ac22472f9899235fde4a17
    24559 Author: Frederik Heber <heber@bespin.wiss-staff>
    24560 Date:   Mon May 26 15:28:28 2008 +0200
    24561 
    24562     renamed ElementsFileName to PathToDatabases, -e now gives path to databases instead of elements d
    24563     b file
    24564    
    24565     We rather now give the path and not elements db file as all the databases generally reside in the
    24566      same dir.
    24567 
    24568 commit d7d29c8de30f5e13b53d2ff84d98af623ea5518d
    24569 Author: Frederik Heber <heber@bespin.wiss-staff>
    24570 Date:   Mon May 26 15:25:38 2008 +0200
    24571 
    24572     renamed ElementsFileName to PathToDatabases, -e now gives path to databases instead of elements db file
    24573    
    24574     We rather now give the path and not elements db file as all the databases generally reside in the same dir.
    24575 
    24576 commit a2c08448e34b43e5f13d9ce4fd9ad56901b7b761
    24577 Author: Frederik Heber <heber@bespin.wiss-staff>
    24578 Date:   Mon May 26 15:24:33 2008 +0200
    24579 
    24580     BUGFIX: config files' path in the current working directory would not be recognized correctly.
    24581    
    24582     This bug was introduced due to the for-loop speedup.
    24583 
    24584 commit 4ba4a7a4284581071c90e32d20b84638f6535a77
    24585 Author: Frederik Heber <heber@bespin.wiss-staff>
    24586 Date:   Mon May 26 15:23:29 2008 +0200
    24587 
    24588     BUGFIX: single letter FragmentNumbers gave "\n" as return string.
    24589    
    24590     This bug was introduced when we changed the code from for(..=0; ... < bla; i++) to for (..=i..;i--;)
    24591 
    24592 commit 27c6bed417eee81579045472e65747039fcf60db
    24593 Author: Frederik Heber <heber@bespin.wiss-staff>
    24594 Date:   Mon May 26 15:23:02 2008 +0200
    24595 
    24596     Some sensible starting values for element class construct
    24597 
    24598 commit 0329bfbf7e293c546e599210029dabc0faefc481
    24599 Author: Frederik Heber <heber@bespin.wiss-staff>
    24600 Date:   Mon May 26 15:22:31 2008 +0200
    24601 
    24602     new define LocalPath being the local path for pointers to set to (like PathToDatabases)
    24603 
    24604 commit 1e9384a6e32201e86eeb94aa0ab96989b3343686
    24605 Author: Frederik Heber <heber@bespin.wiss-staff>
    24606 Date:   Mon May 26 15:22:10 2008 +0200
    24607 
    24608     bit more verbosity on the FragmentNumber
    24609 
    24610 commit c9c643a515314f6e3a2907ebf2b3bb5e708d0b2d
    24611 Author: Frederik Heber <heber@bespin.wiss-staff>
    24612 Date:   Mon May 26 15:21:19 2008 +0200
    24613 
    24614     fragmentation no more has various methods (dropped ... A)
    24615 
    24616 commit 9a1b84acd58750f8b8a589c26f814bdd50c82f9b
    24617 Author: Frederik Heber <heber@bespin.wiss-staff>
    24618 Date:   Mon May 26 15:20:10 2008 +0200
    24619 
    24620     BUGFIX: line.erase() threw exception with illegal line end
    24621    
    24622     Found by test case (molecuilder test 3), just do it the more complicated way.
    24623 
    24624 commit a251a3154c4639182ac91a4c9a60749cf9f1f0aa
    24625 Author: Frederik Heber <heber@bespin.wiss-staff>
    24626 Date:   Mon May 26 12:52:00 2008 +0200
    24627 
    24628     molecule::CreateAdjacencyList() now needs IsAngstroem as parameter
    24629    
    24630     This is necessary, as the database values (covalent radii et al) are in Angstroem, hence don't match if we use Bohrradii as length unit instead. CreateAdjacencyList() converts units and now finds correct bond structure and fragments properly.
    24631 
    24632 commit 040f939737e2f25b621255cb260f20f4a72946cc
    24633 Author: Frederik Heber <heber@bespin.wiss-staff>
    24634 Date:   Sat May 24 14:31:46 2008 +0200
    24635 
    24636     removed specialised CFLAGS for general AM_C(PP)FLAGS that just enable all warnings
    24637 
    24638 commit 7f3b9d586ee7b40daaed7e586efd3f0d178326f6
    24639 Author: Frederik Heber <heber@bespin.wiss-staff>
    24640 Date:   Fri May 23 11:17:19 2008 +0200
    24641 
    24642     Lots of for loops now count in reverse order where it does not matter, some 3 -> NDIM
    24643    
    24644     for(i=0;i<var;i++) is slower than for (i=var;i--;) if the order of the i's is not important (note: i-- is also a value and it stops when on i == 0 automatically)
    24645     in builder.cpp there were some remnant 3 actually meant to be NDIM
    24646 
    24647 commit 6097eacc1c3d8c67ad1c8af97ace6fd74bc97add
    24648 Author: Frederik Heber <heber@bespin.wiss-staff>
    24649 Date:   Wed May 21 13:18:11 2008 +0200
    24650 
    24651     ParseMatrix(): char * to string, Contains() hat KeySetContainer:: still in front (new g++ of hardy complained)
    24652 
    24653 commit ca2b8351d36cdb8ecccc8ba4a307064e6a6fcdad
    24654 Author: Frederik Heber <heber@bespin.wiss-staff>
    24655 Date:   Wed May 21 13:15:32 2008 +0200
    24656 
    24657     command line parsing outsourced to ParseCommandLineOptions(), cases in main() listed in alphabetical order, setting of cell_size by hand replaced through already present SetDimension()
    24658    
    24659     new function ParseCommandLineOptions() does the command line parsing, subsequently some variables weren't needed anymore in main().
    24660     sorted the cases in switch in main() of the interactive menu in alphabetical order.
    24661     In 't'ranslate and 'c'enter cases, SetDimension() and by-hand setting cell_size was present. The later was thrown out
    24662 
    24663 commit a9d2544724995d2401c4c0710adbfb2b1becee68
    24664 Author: Frederik Heber <heber@bespin.wiss-staff>
    24665 Date:   Wed May 21 13:14:06 2008 +0200
    24666 
    24667     new function CenterInBox, some char* converted to string
    24668    
    24669     CenterInBox centers the given geometry in a rectangular box of given edge lengths
    24670     new g++ that came with ubuntu hardy complained about deprecated use of char* instead of string (for constant char arrays such: "test")
    24671 
    24672 commit 3b67a19c331349c124108e1936b2e8eab25ec373
    24673 Author: Frederik Heber <heber@bespin.wiss-staff>
    24674 Date:   Wed May 21 13:13:17 2008 +0200
    24675 
    24676     new vector header added to molecuilder_SOURCES
    24677 
    24678 commit cf2de5c1bfe1d8b2db947be6a7521e3f09095598
    24679 Author: Frederik Heber <heber@bespin.wiss-staff>
    24680 Date:   Wed May 21 13:12:54 2008 +0200
    24681 
    24682     one lousy space added
    24683 
    24684 commit 342f33f9b32f60351e5e75e68fc61b2624f2d554
    24685 Author: Frederik Heber <heber@bespin.wiss-staff>
    24686 Date:   Wed May 21 11:24:54 2008 +0200
    24687 
    24688     new header file for the vector class, new operators +=,*=,*,+
    24689 
    24690 commit 98b1d274f2a40b91f0e41792478e05950bffb599
    24691 Author: Frederik Heber <heber@bespin.wiss-staff>
    24692 Date:   Fri May 16 15:35:43 2008 +0200
    24693 
    24694     main(): typo in Usage message, BUGFIX - command line arguments did not end in exit and flag renamed to ExitFlag
    24695    
    24696     BUGFIX - problem was flag > 1 instead of flag >= 1 check
    24697 
    24698 commit 0b051479db2dcd5879e76693155b80d3b0d8cc6d
    24699 Author: Frederik Heber <heber@bespin.wiss-staff>
    24700 Date:   Fri May 9 16:38:27 2008 +0200
    24701 
    24702     CyclicStructureAnalysis(): forget to check whether we actually have found rings or not (only then MinimumRingSize needs to be checked for non-set neighbours also)
    24703 
    24704 commit fc850d10e0fcb47d27b1b6baf17186a20debf1ea
    24705 Author: Frederik Heber <heber@bespin.wiss-staff>
    24706 Date:   Fri May 9 16:20:08 2008 +0200
    24707 
    24708     MinimumRingSize is now an array over all atoms
    24709    
    24710     Each entry in MinimumRingSize defines the maximum bond order possible due to membership in or vicinity to a ring. In order to do create this array, CyclicStructureAnalysis() was expanded with another BFS going over all atoms that are only close to a ring (nearest ring member is search and entri in array set). All other functions such as DepthFirstSearchAnalysis() and FragmentBOSSANOVA(), where the MinimumRingSize is now checked (and not in FragmentMolecule) anymore, are adapted to have an array parameter.
    24711 
    24712 commit de293ac530466215e29d973ad379a2e65165a40c
    24713 Author: Frederik Heber <heber@bespin.wiss-staff>
    24714 Date:   Fri May 9 15:49:57 2008 +0200
    24715 
    24716     TranslateIndicesToGlobalIDs() did not check whether FragmentList[..] != NULL
    24717 
    24718 commit f30216592247d6e5e03bad30325a3cd465013fa4
    24719 Author: Frederik Heber <heber@bespin.wiss-staff>
    24720 Date:   Fri May 9 14:50:42 2008 +0200
    24721 
    24722     joiner now writes ENERGYPERFRAGMENT file for adaptive BOSSANOVA
    24723 
    24724 commit bf2db1e99c572bcefe2ba34b3c1a8026d8b90dbe
    24725 Author: Frederik Heber <heber@bespin.wiss-staff>
    24726 Date:   Fri May 9 14:50:16 2008 +0200
    24727 
    24728     CreateDataFragment(): endline after datum in header
    24729 
    24730 commit 396d06593ac8e4bfc3f523f3be261ca555407c48
    24731 Author: Frederik Heber <heber@bespin.wiss-staff>
    24732 Date:   Fri May 9 14:49:46 2008 +0200
    24733 
    24734     ENERGYPERFRAGMENT without ".dat"
    24735 
    24736 commit 6f6a8ee98e006ee7598831d5e56396ead5ffa6c8
    24737 Author: Frederik Heber <heber@bespin.wiss-staff>
    24738 Date:   Fri May 9 14:49:30 2008 +0200
    24739 
    24740     some comments for where "F" and where "E" terms are created
    24741 
    24742 commit 5de3c9715484117abab874d386126879cace7a9f
    24743 Author: Frederik Heber <heber@bespin.wiss-staff>
    24744 Date:   Thu May 8 19:31:04 2008 +0200
    24745 
    24746     molecule::CheckOrderAtSite() now interprets negative Orders as adaptive increase by parsing EnergyPerFragment.da
    24747     t
    24748    
    24749     positive Order is global increase till all sites have at least this order, Order 0 means single global increase step, negative Order is the exponent in 10^{-Order} to give the threshold value: ENERGYPERFRAGMENT is scanned in
    24750     to a map (sorted by values) and all fragments still above the threshold are taken into AtomMask for increase. Jo
    24751     iner has to write this file with (Root id of Fragment, energy contribution) pairs.
    24752 
    24753 commit a529de23ab0454b5100271094a23f2836cfca2e9
    24754 Author: Frederik Heber <heber@bespin.wiss-staff>
    24755 Date:   Thu May 8 18:18:07 2008 +0200
    24756 
    24757     molecule::CheckOrderAtSite() returns bool and used as threshold criterium to break while in molecule::FragmentMolecule()
    24758    
    24759     As we are now near the end of the switch to adaptive increase of the bond order, the first step was to increment the OrderAtSite on all sites equally. This is now implemented. CheckOrderAtSite() checks whether the order is still below the desired value at one site and if so continues. In this while-loop we fill the RootStack and call BOSSANOVA. The sequence of AssignKeySets.. and FillRootStack... was flipped for this.
    24760 
    24761 commit bf46daa8afbb82c7de05fbedc890325cd98c83eb
    24762 Author: Frederik Heber <heber@bespin.wiss-staff>
    24763 Date:   Thu May 8 17:52:11 2008 +0200
    24764 
    24765     new function molecule::CreateMappingLabelsToConfigSequence() creates SortIndex in molecule::FragmentMolecule()
    24766    
    24767     further and now final abstraction of FragmentMolecule()
    24768 
    24769 commit 87f6c98765e07307ce97e48dcfbb5a4069cdcfac
    24770 Author: Frederik Heber <heber@bespin.wiss-staff>
    24771 Date:   Thu May 8 17:39:36 2008 +0200
    24772 
    24773     new function MoleculeLeafClass::TranslateIndicesToGlobalIDs() used in molecule::FragmentMolecule()
    24774    
    24775     MoleculeLeafClass::TranslateIndicesToGlobalIDs() abstractizes translation of local atom::nr returned by BOSSANOVA per fragment into one list of global indices that can be used to store fragment configs and globally valid keyset file
    24776 
    24777 commit da5355158c7aa76269ad1823da9a96b5ac114691
    24778 Author: Frederik Heber <heber@bespin.wiss-staff>
    24779 Date:   Thu May 8 17:26:55 2008 +0200
    24780 
    24781     new functions MoleculeLeafClass::AssignKeySetsToFragment() and MoleculeLeafClass::FillListOfLocalAtoms() and molecule::OutputListOfBonds(), Count() now const
    24782 
    24783 commit df2fcae341603b39aa6e7c81927780a4b56e6472
    24784 Author: Frederik Heber <heber@bespin.wiss-staff>
    24785 Date:   Thu May 8 17:25:00 2008 +0200
    24786 
    24787     FragmentMolecule(): abstractized AssignKeySetsToFragments() and shifted some memory deallocation around
    24788    
    24789     MoleculeLeafClass::AssignKeySetsToFragments() now does the splitting up of the keysets into FragmentList[] array
    24790     some memory dealloaction (ListOfLocalAtoms) was shifted up a bit, closer to where it's not needed anymore.
    24791     some comments changed and some more output included
    24792 
    24793 commit d2a2942f50d4672158abc620f6af83d3524d381b
    24794 Author: Frederik Heber <heber@bespin.wiss-staff>
    24795 Date:   Thu May 8 17:22:41 2008 +0200
    24796 
    24797     new function FillListOfLocalAtoms() checks whether List needs filling or is already present, Count() const
    24798    
    24799     Count() is now Count() const
    24800     new function FillListOfLocalAtoms() checks for NULL pointers and if found fills the list by calling CreateFatherLookupTable()
    24801 
    24802 commit fc130990ba824f75d8475b8f7f294eb379c3352b
    24803 Author: Frederik Heber <heber@bespin.wiss-staff>
    24804 Date:   Thu May 8 14:45:52 2008 +0200
    24805 
    24806     MoleculeLeafClass::FillRootStackForSubgraphs used to remove filling of root stack (abstraction)
    24807 
    24808 commit 4a54f335bc5cd305916789ff44d100d50a98b477
    24809 Author: Frederik Heber <heber@bespin.wiss-staff>
    24810 Date:   Thu May 8 14:45:25 2008 +0200
    24811 
    24812     new functions MoleculeLeafClass::Count() and MoleculeLeafClass::FillRootStackForSubgraphs()
    24813    
    24814     Count: counts leaves in chain list
    24815     FillRootStackForSubgraphs: fills root stack array from atom's in each fragment/subgraph
    24816 
    24817 commit 386aa29d1bbd5ac0019a7d04316e3f8d45a5c442
    24818 Author: Frederik Heber <heber@bespin.wiss-staff>
    24819 Date:   Thu May 8 14:41:47 2008 +0200
    24820 
    24821     FillBondStructureFromReference: previous == NULL was bad idea, new functions Count() and FillRootStackForSubgraphs()
    24822    
    24823     FillBondStructureFromReference: checking previous == NULL if we are the first is bad due to starting node (with mpty leaf) being actual previous, hence we decrease FragmentCounter before return, thus climb up the ladder and then down again and free in this course. Initial list pointer is free'd if FragmentCounter == 0: much better!
    24824     Count: simply counts the number of further leaves in the chain list, also by the neat recursive trick
    24825     FillRootStackForSubgraphs: Fills a rootstack by going through the leaves of a subgraph and checking on their atom's father's atom::AdaptiveOrder against given Order. This is further abstraction for molecule::FragmentMolecule()
    24826 
    24827 commit 9fcf479595dd39cf6703677eb220251fac77a2e7
    24828 Author: Frederik Heber <heber@bespin.wiss-staff>
    24829 Date:   Thu May 8 14:04:42 2008 +0200
    24830 
    24831     new function molecule::CheckOrderAtSite and molecule::FragmentMolecule() abstractized
    24832    
    24833     molecule::CheckOrderAtSite() just checks a given order against atom:AdaptiveOrder and whether there's still something to do for the fragmentation.
    24834     MoleculeLeafClass::FillBondStructureFromReference, CreateFatherLookupTable, along with the molecule::CheckOrderAtSite are used to make the structure of molecule::FragmentMolecule clearer
    24835 
    24836 commit c82f3d1d590c3a59b332f8f562e3ffddb0d32ec3
    24837 Author: Frederik Heber <heber@bespin.wiss-staff>
    24838 Date:   Thu May 8 14:02:43 2008 +0200
    24839 
    24840     new function MoleculeLeafClass::FillBondStructureFromReference that fills the bond structure of subgraphs from total molecule
    24841    
    24842     new function to abstractize molecule::FragmentMolecule more and more as the function lacks structure
    24843 
    24844 commit 8f75a455e44b75b6288faf0238bb8c86627a4a49
    24845 Author: Frederik Heber <heber@bespin.wiss-staff>
    24846 Date:   Thu May 8 14:01:42 2008 +0200
    24847 
    24848     new function CreateFatherLookupTable
    24849    
    24850     Creates a lookup table for true father's atom:nr -> atom, which is used during the molecule::FragmentMolecule lateron. Implemented as a template to be used not only for atoms but also for bonds and others
    24851 
    24852 commit fe5589e98fa7bb039905c2aa66d94af21115550d
    24853 Author: Frederik Heber <heber@bespin.wiss-staff>
    24854 Date:   Thu May 8 14:00:24 2008 +0200
    24855 
    24856     Matrix::ParseMatrix()L: comment makes it clearer at what fragment with which index something went awry
    24857 
    24858 commit 8d9c387d8b2dbb15d2d71353f662bda798b156f8
    24859 Author: Frederik Heber <heber@bespin.wiss-staff>
    24860 Date:   Wed May 7 16:46:33 2008 +0200
    24861 
    24862     rewritten CyclicStructureAnalysis(): uses DFS spanning tree and limited BFS from all back edges
    24863    
    24864     The DFS tree is given via a StackClass and from each BackEdge a BFS is started to find the leftatom from rightatom but not by taking BackEdge itself. Hence, it finds the smallest circle and returns it.
    24865     Also, it limits itself by constantly redefining MinimumRingSize as the minimum of this and the current RingSize.
    24866     Tested to good results on buckyball. And may easily be enhanced to scanning and returning all rings (but so far we only need the minimum ring size).
    24867 
    24868 commit 6d35e462d5c89a48ff8212fab4811f87fdab291e
    24869 Author: Frederik Heber <heber@bespin.wiss-staff>
    24870 Date:   Wed May 7 15:38:13 2008 +0200
    24871 
    24872     AtomStackClass -> template <typename T> StackClass<T> change in new file stackclass.hpp, other templates to helpers.hpp
    24873    
    24874     StackClass was changed to a template and as template code may only be present in header file was moved to a new
    24875     header file stackclass.hpp. New file was added to Makefile.am
    24876     Other templates (list management et al) were moved to helpers.hpp as they are more sensibly placed there.
    24877 
    24878 commit db066d756f5b01d67a9bcb1ea28c9571452a3762
    24879 Author: Frederik Heber <heber@bespin.wiss-staff>
    24880 Date:   Wed May 7 15:35:09 2008 +0200
    24881 
    24882     changed comments a bit
    24883 
    24884 commit 7b42617324deb08ac411bdd2181e40d58b221499
    24885 Author: Frederik Heber <heber@bespin.wiss-staff>
    24886 Date:   Tue May 6 11:48:00 2008 +0200
    24887 
    24888     MatrixContainer::MatrixContainer() debug message fixes only, ForceMatrix::ParseIndices() re-done parsing of Forces-Factors file
    24889    
    24890     ParseIndices() was hacked down to just ...[j]=j entries in the belief that we do not need ForcesFactors anymore. However, we do due to the saturated hydrogen and hence the index parsing thrown out before is needed again. This caused joiner to return faulty forces of course.
    24891 
    24892 commit 63382d0f3121ce63d14ba9c280087cae6a4c3794
    24893 Author: Frederik Heber <heber@bespin.wiss-staff>
    24894 Date:   Tue May 6 11:45:31 2008 +0200
    24895 
    24896     KeySetFile is stored without an additional last tab on each line
    24897 
    24898 commit 3c4b089ee6460a3d67b5db52602da06a85904fe5
    24899 Author: Frederik Heber <heber@bespin.wiss-staff>
    24900 Date:   Mon May 5 18:54:44 2008 +0200
    24901 
    24902     joiner crashed due to incorrect destructing of MatrixContainer, analyzer did not initialise KeySets in ParseKeySets
    24903    
    24904     joiner crashed as ParseMatrix would return without free'ing initialized Matrix and RowCounter when suffix file cannot be opened. Now, they are initialized in such a manner that ~MatrixContainer recognizes and  free's them
    24905     analyzer would stumble afgter parsing keysets on the order, as he was looking for -1 to which KeySets was not properly initialized but what should be read from KeySets file.
    24906     Also, analyzer would parse the final tab as a number which rendered nonsense. Hence, StoreKeySetFile does not ptroduce a tab after last entry per line anymore
    24907 
    24908 commit 2459b1b8b885ddb84c9c4feab2f53d9d08d718c0
    24909 Author: Frederik Heber <heber@bespin.wiss-staff>
    24910 Date:   Mon May 5 18:19:05 2008 +0200
    24911 
    24912     ForcesFile and TEFactors are _needed_, reincorporated. UniqueFragments structure is now in BOSSANOVA
    24913    
    24914     ForcesFile is again written, as we need it for the hydrogen not coming saturation (forces!)
    24915     TEFactors are back, as despite my notion they are needed in the evaluation
    24916     UniqueFragments structure is shifted from PowerSetGenerator to FragmentBOSSANOVA. Actually only for the labels - however, the if was changed to test the real indices (which are also always the same, which is better for adaptive runs) - but might be more useful there still.
    24917     analyzer and joiner again parse indices.
    24918 
    24919 commit bd65791c80eaf19f1799a7c9599f95606c4a4796
    24920 Author: Frederik Heber <heber@bespin.wiss-staff>
    24921 Date:   Fri May 2 17:18:27 2008 +0200
    24922 
    24923     Free(): only set to NULL if it was free'd otherwise it is already
    24924 
    24925 commit 3b15bb4271e1d6dbd035284767a09bd363a96360
    24926 Author: Frederik Heber <heber@bespin.wiss-staff>
    24927 Date:   Fri May 2 17:18:05 2008 +0200
    24928 
    24929     ~MatrixContainer(): Bugfix - Free if Matrix[MatrixCounter] would also occur if nothing had been allocated so far
    24930 
    24931 commit e6f8b7cccc1dd036398666e6e573bb4b48074037
    24932 Author: Frederik Heber <heber@bespin.wiss-staff>
    24933 Date:   Fri May 2 15:35:10 2008 +0200
    24934 
    24935     commenting in header changed for the four main functions that basically do the fragmentation
    24936 
    24937 commit db942effae4d25e57224c90078ac288434a4a783
    24938 Author: Frederik Heber <heber@bespin.wiss-staff>
    24939 Date:   Fri May 2 15:25:48 2008 +0200
    24940 
    24941     HUGE REWRITE to allow for adaptive increase of the bond order, first working commit
    24942    
    24943     Lots of code was thrown out:
    24944     -BottomUp, TopDown and GetAtomicFragments
    24945     -TEFactors are now used as "CreationCounters", i.e. the count how often a fragment as been created (ideal would be only once)
    24946     -ReduceToUniqueOnes and stuff all thrown out, since they are out-dated since use of hash table
    24947     Other changes:
    24948     -CreateListofUniqueFragments renamed to PowerSetGenerator
    24949     -PowerSetGenerator goes not over all reachable roots, but one given by calling function FragmentBOSSANOVA
    24950     -FragmentBOSSANOVA loops over all possible root sites and hands this over to PowerSetGenerator
    24951     -by the virtue of the hash table it is not important anymore whether created keysets are unique or not, as this is recognized in log(n). Hence, the label < label is not important anymore (and not applicable in an adaptive scheme with old, parsed keysets and unknown labels) (THIS IS HOWEVER NOT DONE YET!)
    24952     The setup is then as follows:
    24953     1. FragmentMolecule
    24954         a. parses adjacency, keysets and orderatsite files
    24955         b. performs DFS to find connected subgraphs (to leave this in was a design decision: might be useful later)
    24956         c. a RootStack is created for every subgraph (here, later we implement the "update 10 sites with highest energy contribution", and that's why this consciously not done in the following loop)
    24957         d. in a loop over all subgraphs
    24958                 d1. calls FragmentBOSSANOVA with this RootStack and within the subgraph molecule structure
    24959                 d2. creates molecule (fragment)s from the returned keysets (StoreFragmentFromKeySet)
    24960         e. combines the generated molecule lists from all subgraphs
    24961         f. saves to disk: fragment configs, adjacency, orderatsite, keyset files
    24962     2. FragmentBOSSANOVA
    24963         a. constructs a complete keyset of the molecule
    24964         b. In a loop over all possible roots from the given rootstack
    24965                 b1. increases order of root site
    24966                 b2. calls PowerSetGenerator with this order, the complete keyset and the rootkeynr
    24967                 b3.     for all consecutive lower levels PowerSetGenerator is called with the suborder, the higher order keyset as the restricted one and each site in the set as the root)
    24968                 b4. these are merged into a fragment list of keysets
    24969         c. All fragment lists (for all orders, i.e. from all destination fields) are merged into one list for return
    24970     3. PowerSetGenerator
    24971         a. initialises UniqueFragments structure
    24972         b. fills edge list via BFS
    24973         c. creates the fragment by calling recursive function SPFragmentGenerator with UniqueFragments structure, 0 as root distance, the edge set, its dimension and the current suborder
    24974         d. Free'ing structure
    24975     4. SPFragmentGenerator (nothing much has changed here)
    24976         a. loops over every possible combination (2^dimension of edge set)
    24977                 a1. inserts current set, if there's still space left
    24978                         a11. yes: calls SPFragmentGenerator with structure, created new edge list and size respective to root distance+1
    24979                         a12. no: stores fragment into keyset list by calling InsertFragmentIntoGraph
    24980                 a2. removes all items added into the snake stack (in UniqueFragments structure) added during level (root distance) and current set
    24981 
    24982 commit 260934983a76c25770b6a1f5706e2fc4eb1eecec
    24983 Author: Frederik Heber <heber@bespin.wiss-staff>
    24984 Date:   Tue Apr 29 14:31:38 2008 +0200
    24985 
    24986     Velocities were not correctly handled, also not in fragments
    24987    
    24988     First bug was loading config with velocities and saving it resulted in all but first component of velocity vecto
    24989     r being zero. Flag=2 was re-introduced in command line switching to prevent saving after fragmentation (as nothi
    24990     ng is done with the original molecule anyway). This removed the bug completely (which is thus kind of mysterious
    24991      in nature). Now, corresponding atoms in fragments have the correct velocities (also replaced hydrogens)
    24992 
    24993 commit c750cc774f9938a4ce5ee5ed6083cd050554830e
    24994 Author: Frederik Heber <heber@bespin.wiss-staff>
    24995 Date:   Tue Apr 29 14:19:51 2008 +0200
    24996 
    24997     char lengths of 255 and MAXDUMMYSTRING replaced with define MAXSTRINGSIZE in molecuilder and pcp
    24998 
    24999 commit 451148c889a1e260d1c4a7372972a3c1e05c9c64
    25000 Author: Frederik Heber <heber@bespin.wiss-staff>
    25001 Date:   Tue Apr 29 09:55:34 2008 +0200
    25002 
    25003     Store/CheckAdj...() now also incorporate bond order to check against.
    25004 
    25005 commit 1fa5b7de584643a09dcfb4bcfcd3194ca070ffc2
    25006 Author: Frederik Heber <heber@bespin.wiss-staff>
    25007 Date:   Tue Apr 29 09:55:11 2008 +0200
    25008 
    25009     config file is again first argument and implemented test of interactive session
    25010 
    25011 commit 4885953476621842a73cecc5177c8cd1f40a0ac5
    25012 Author: Frederik Heber <heber@bespin.wiss-staff>
    25013 Date:   Tue Apr 29 09:45:23 2008 +0200
    25014 
    25015     changed config file to first argument again and standard config name incorporated.
    25016    
    25017     ./molecuilder -e elements.db is hard to scan whether elements.db is the config file or a further argument, hence switch-back to old method of having it in the first place. (this also matches all the scripts written so far again).
    25018 
    25019 commit 04980c7adb06383804e437abc26b93ee9a461f6c
    25020 Author: Frederik Heber <heber@bespin.wiss-staff>
    25021 Date:   Tue Apr 29 09:41:20 2008 +0200
    25022 
    25023     bugfix: configpath and -name are not set to empty string.
    25024 
    25025 commit 6590bee765825bf3573feb664f40520835c1740c
    25026 Author: Frederik Heber <heber@bespin.wiss-staff>
    25027 Date:   Tue Apr 29 09:16:32 2008 +0200
    25028 
    25029     bugfix in main: without arguments, code would crash due to access of argv[1]
    25030    
    25031     This bug was introduced because of the huge changes in the command line parsing. Changed the beginning if (argv >= 1) to >1 and put element db and configpath/name scan into else statement.
    25032 
    25033 commit 3c1dfbeb63a79308ac499024831bea130a5317f9
    25034 Author: Frederik Heber <heber@bespin.wiss-staff>
    25035 Date:   Tue Apr 29 09:06:18 2008 +0200
    25036 
    25037     Full test for fragmentation procedure with readin of the adjacency file.
    25038    
    25039     The test is still a bit of a hack (with moving BondFragment*-files and diff'ing them), but so far it works very well. A test structure is generated, till bond order 2 fragmented, the configs are moved away, fragmented again by reading adjacency, and the new configs are diff'ed against the old ones.
    25040 
    25041 commit b5ecd9d11046feffd27e5a7968e986cb5322b501
    25042 Author: Frederik Heber <heber@bespin.wiss-staff>
    25043 Date:   Tue Apr 29 09:04:59 2008 +0200
    25044 
    25045     configname is also stored in config structure, GetDefaultPath by config::configpath replaced
    25046    
    25047     This stores fragment and affiliated files in same dir as the config, regardless of therein contained paths and is safer and makes the tests work.
    25048 
    25049 commit 2910e0b93cafde370ccfe424f2452b4e74b54a83
    25050 Author: Frederik Heber <heber@bespin.wiss-staff>
    25051 Date:   Tue Apr 29 08:57:59 2008 +0200
    25052 
    25053     Comply with test again: help and version command options exit at once
    25054    
    25055     This had been changed to just flag=2 for this, as molecule and periodentafel structures were not free'd, but this broke the test, so we changed it back and added some delete()s.
    25056 
    25057 commit 5b15abd736e431efbf95ee359dc600e887d01a25
    25058 Author: Frederik Heber <heber@bespin.wiss-staff>
    25059 Date:   Tue Apr 29 08:30:38 2008 +0200
    25060 
    25061     config::Load..() now get filename instead of pointer to file, bugfix for switch structure in command line parsin
    25062     g.
    25063    
    25064     Load..() functions RetrieveConfigPath() - the path that is given for the config file on the command line - and p
    25065     ut it into config::configpath. This is necessary to allow later for a sensible storage path under fragmentation, as the old with defaultpath from the file was stupid, if the given path was wrong (whereas the config path always exists).
    25066     Switch structure in parsing the command line options needed to make better use of the already present flag in or
    25067     der to know when to just save and stop and when to continue to the interactive menu.
    25068 
    25069 commit 5550635707d249fbddac61f337f123ec13876725
    25070 Author: Frederik Heber <heber@bespin.wiss-staff>
    25071 Date:   Mon Apr 28 15:53:54 2008 +0200
    25072 
    25073     Atoms in the fragments in the configs are again ordered as first labeled during Bond structure recognition
    25074    
    25075     Due to the move to disconnected subgraph recognition an additional "layer" of molecules is inserted. The Atoms are AddCopyAtom()ed into new molecules representing each subgraph and receiving new labels thereby (even if there is just one subgraph in the end). As these labels were used in the sorted "KeySet" sets for adding atoms on the one hand, the KeySet file on the other hand however was created from the molecules directly now with labels from the topmost molecule structure ... : lines in BondFragment configs were swapped with respect to freshly fragmented and parsed from KeySet files.
    25076     Do ameloriate this, the StoreFragmentFromKeySet procedure was taken out of FragmentBOSSANOVA() and up into FragmentMolecule(), where the uppermost molecular structure is accessible. At the same time, the topmost labels (via GetTrueFather) are used in the KeySets. Thus, we receive again ordered list of atoms in each fragment config and they match perfectly with those re-created from parsed keyset files (check with diff over all BondFragment*.conf*).
    25077 
    25078 commit c67e1673793e02762e260fdf179ea566a38cffff
    25079 Author: Frederik Heber <heber@bespin.wiss-staff>
    25080 Date:   Mon Apr 28 15:46:05 2008 +0200
    25081 
    25082     removed some output lines (commented-out) mostly in ScanForPeriodicCorrection, CenterEdge, AddHydrogenReplacement and StoreFragmentFromKeySet
    25083 
    25084 commit 140e34d94a3c8db06bd911101ae23f20deb57a9e
    25085 Author: Frederik Heber <heber@bespin.wiss-staff>
    25086 Date:   Mon Apr 28 13:39:07 2008 +0200
    25087 
    25088     FragmentMolecule(): status variable used when checking adjacency file was faulty used
    25089    
    25090     After the splitting up into new functions StoreAdj...() and CheckAdj...(), status was not used properly anymore. Now, it gathers per AND conjunction the status of the three steps (ill ListOfAtoms, CheckAdj, ParseKeySets).
    25091 
    25092 commit 10f6416d40d305bb1142dd1702e26b15d8bb910d
    25093 Author: Frederik Heber <heber@bespin.wiss-staff>
    25094 Date:   Mon Apr 28 13:36:11 2008 +0200
    25095 
    25096     All filenames (const char *) have been transferred to defs.hpp
    25097    
    25098     Filenames have been transformed into #define's into order to centralise these values. Parser.hpp had these already and they were streamlined to match defs.hpp (which is now included in parser.hpp)
    25099 
    25100 commit b0a0c3848d8b7c7dd67aad39324d6c2a6b8f507a
    25101 Author: Frederik Heber <heber@bespin.wiss-staff>
    25102 Date:   Mon Apr 28 12:41:40 2008 +0200
    25103 
    25104     storing and comparing Adjacency outsourced into two new functions.
    25105    
    25106     New functions:
    25107     - StoreAdjacencyToFile(): stores the current bond structure into a file
    25108     - CheckAdjacencyFileAgainstMolecule(): parses an adjacency list from a file and compares against present bond st
    25109     ructure of the molecule
    25110 
    25111 commit 183f35941c82e11c9c474c42c5bccbe92689a8d1
    25112 Author: Frederik Heber <heber@bespin.wiss-staff>
    25113 Date:   Mon Apr 28 11:22:38 2008 +0200
    25114 
    25115     FragmentMolecule(): Adjacency store/check and parsing of KeySetFile incorporated
    25116    
    25117     - StoreFragmentFromKey_S_et() renamed
    25118     - StoreFragmentFromKeySet() now does not get whole config structure as parameter but only needed IsAngstroem value
    25119     - two new functions:
    25120       ScanBufferIntoKeySet() - scans a text line of numbers into a KeySet deque
    25121       ParseKeySetFile() - parses a file of the above lines, fills each into a KeySet and spills out fragment molecules by calling StoreFragmentFromKeySet()
    25122     - FragmentMolecule(): Adjacency file written, read and checked if it matches the just created bond structure. If so, then we don't fragment again but parse the KeySetFile and reconstruct fragments thereby.
    25123 
    25124 commit 08f1a0a71552716eafe64ce87071d4c20b4150b9
    25125 Author: Frederik Heber <heber@bespin.wiss-staff>
    25126 Date:   Mon Apr 28 11:18:10 2008 +0200
    25127 
    25128     main(): thrown out unused stringstreams prefix and line
    25129 
    25130 commit a8aac8d768159ee96f928c92bb1fde6ab4e08835
    25131 Author: Frederik Heber <heber@bespin.wiss-staff>
    25132 Date:   Mon Apr 28 09:16:42 2008 +0200
    25133 
    25134     OutputConfigForListOfFragments(): various ofstream gathered into a single one: output
    25135    
    25136     Preparation for adding "AdjacencyFile" next
    25137 
    25138 commit f3cba66fdc98cfc127e0bb5bccc5ea5c320130f8
    25139 Author: Frederik Heber <heber@bespin.wiss-staff>
    25140 Date:   Sun Apr 27 15:05:46 2008 +0200
    25141 
    25142     forgot to commit the actual autotest files listed during last commit, that make "make check" work.
    25143 
    25144 commit 0ca39c907892a993150e58581896f58b0287b21f
    25145 Author: Frederik Heber <heber@bespin.wiss-staff>
    25146 Date:   Sun Apr 27 15:04:01 2008 +0200
    25147 
    25148     Complete test kit (make check) for the three parts: pcp, molecuilder, utilites is incorporated via autotest
    25149    
    25150     In directory tests of each subdir there are the following files:
    25151     - atlocal.in: sets some variables such as prefix and others via automake and configure for the tests
    25152     - Makefile.am: Hooks for the checks and automatic generation of package.m4
    25153     - <exe>.in: Wrapper for the executable, for correct paths and so on
    25154     - testsuite.at: the actual tests in a similar grammar to autoconf
    25155 
    25156 commit 96838df2b95a71fefc16c7500c7df703e8219638
    25157 Author: Frederik Heber <heber@bespin.wiss-staff>
    25158 Date:   Sun Apr 27 15:01:06 2008 +0200
    25159 
    25160     AddXYZFile(): Bugfix - if element could not be parsed (e.g. elements db was not loaded correctly)
    25161    
    25162     This has so far not spawned an error message, now it does and atom's element is set to hydrogen.
    25163 
    25164 commit 206887fd8da59e69a4f69ac80c1cc173265fc53e
    25165 Author: Frederik Heber <heber@bespin.wiss-staff>
    25166 Date:   Sun Apr 27 14:59:40 2008 +0200
    25167 
    25168     Load/StorePeriodentafel(): filename as parameter, if NULL default name in pwd is used
    25169 
    25170 commit 73f80e7abed54d6843f6a2911d1e001bb32914c9
    25171 Author: Frederik Heber <heber@bespin.wiss-staff>
    25172 Date:   Sun Apr 27 14:59:18 2008 +0200
    25173 
    25174     new elementsdb-switch and command line options parsing parts moved around to accomodate.
    25175    
    25176     New switch (just sets a variable) made some moving around necessary. Elements db cannot be parsed right at the start anymore, neither the config file before the command line switches. Hence, the following is now in operation:
    25177     1. first parse through all options for stuff just setting variables, giving help et al
    25178     2. parse elements db
    25179     3. parse config file if present
    25180     4. parse again through options for those that actually operate on a given configuration or add atoms (parsing xyz) ...
    25181     This was necessary, as 'make check' could not be made workable otherwise and its "bad behaviour" if the code assumes the elements.db to be in the same dir as the exe.
    25182 
    25183 commit cf959d5dddf3381f8d96dab490a9f29308e56d8a
    25184 Author: Frederik Heber <heber@bespin.wiss-staff>
    25185 Date:   Sun Apr 27 14:53:53 2008 +0200
    25186 
    25187     Load/StorePeriodentafel(): filename as parameter, if NULL default name in pwd is used
    25188    
    25189     Filename is NULL by default or parsed on command line (new -e switch). It was necessary because of command line test (make check), as elements.db is not in the same dir. Also, opening of files is checked and a related status returned for both functions.
    25190 
    25191 commit dbe929ff6db6c4da014f56f595de7f279f3f76e3
    25192 Author: Frederik Heber <heber@bespin.wiss-staff>
    25193 Date:   Fri Apr 25 15:54:51 2008 +0200
    25194 
    25195     Huge rewrite of initial command line parsing
    25196    
    25197     config file argument is now the last one. Additionally, multiple command line options may be given consecutively (i.e. -t 1 1 1 -c 5 5 5), which is done via a while loop. Also, empty config files (if given filename is not present or with unknown syntax) are checked and status stored in enumerate ConfigStatus. This is used later as certain command line options only are possible if there has been read a valid configuration.
    25198 
    25199 commit 7151c4d1599615f43467a66e761b7bd1821684ca
    25200 Author: Frederik Heber <heber@bespin.wiss-staff>
    25201 Date:   Fri Apr 25 15:52:38 2008 +0200
    25202 
    25203     added VERSIONSTRING
    25204 
    25205 commit 267e95ac6a5eb10cf7af1d9035e906fa9e6a94aa
    25206 Author: Frederik Heber <heber@bespin.wiss-staff>
    25207 Date:   Fri Apr 25 15:52:05 2008 +0200
    25208 
    25209     LoadPeriodentafel(): no more outputs of parsed elements
    25210 
    25211 commit 13aab96bae88f47456abe1549668f337767064f9
    25212 Author: Frederik Heber <heber@bespin.wiss-staff>
    25213 Date:   Fri Apr 25 12:29:18 2008 +0200
    25214 
    25215     normal blas (e.g. prefered gotoblas) instead of gslcblas is used in linking
    25216 
    25217 commit 6dea43fe741fd6c97488de84672ba0db426b38da
    25218 Author: Frederik Heber <heber@bespin.wiss-staff>
    25219 Date:   Thu Apr 24 19:03:14 2008 +0200
    25220 
    25221     ADDHYDROGEN and HAVE_DEBUG fix: config.h was not yet included
    25222    
    25223     Misunderstanding of DHAVE_CONFIG_H lead to the believe it would get included also automatically. Now, helpers.hpp and parser.hpp both have it included if HAVE_CONFIG_H is present. Consequently, ADDHYDROGEN and HAVE_DEBUG now work.
    25224 
    25225 commit a16756d3b8b3cefad05bc3fd247909f7d1f95dd4
    25226 Author: Frederik Heber <heber@bespin.wiss-staff>
    25227 Date:   Thu Apr 24 19:01:39 2008 +0200
    25228 
    25229     FragmentMolecule(): debug messages removed for ADDHYDROGEN
    25230 
    25231 commit 2cab01cf0b3736cb07613c8950af2ece0d317266
    25232 Author: Frederik Heber <heber@bespin.wiss-staff>
    25233 Date:   Thu Apr 24 18:59:35 2008 +0200
    25234 
    25235     AC_MSG_WARN if both optimization and debug present removed
    25236    
    25237     As optimization is ob by default, warning got triggered when enabling debug only already, which is nonsense.
    25238 
    25239 commit d3a46dd9779aed0b0c746d4835159414fe9963b7
    25240 Author: Frederik Heber <heber@bespin.wiss-staff>
    25241 Date:   Thu Apr 24 15:52:02 2008 +0200
    25242 
    25243     added --enable-optimization, thrown -g -O specifics out of Makefile.am's
    25244    
    25245     --enable-optimization is added to each configure.ac and is linked with --enable-debug (no debug and optimization at the same time, debug is normally off and -O2 on), implemented via C(XX)FLAGS
    25246     Henceforth, -g, -O and -cc=... specifics are thrown out of the Makefile.am's, so that the optimiziation and debugging is streamlined throughout the whole package
    25247 
    25248 commit 943d02e40086a937085f077abff25299a61b3c66
    25249 Author: Frederik Heber <heber@bespin.wiss-staff>
    25250 Date:   Wed Apr 23 19:33:51 2008 +0200
    25251 
    25252     molecuilder reads and stored ion velocities
    25253    
    25254     Class atom has new variables velocity vector v and integer FixedIon. These are parse during config:load(), and stored via atom:Output() (but only if norm of v is above MYEPSILON), values are copied to son atoms/nodes in AddCopyAtom and AddHydrogenAtom (there: no fancy splitting of the vector as done with the InBondVector)
    25255 
    25256 commit c88cde2554898c89662be277078fc77c7d21920f
    25257 Author: Frederik Heber <heber@bespin.wiss-staff>
    25258 Date:   Fri Apr 18 13:26:42 2008 +0200
    25259 
    25260     -initial commit
    25261     -Minimum set of files needed from ESPACK SVN repository
    25262     -Switch to three tantamount package parts instead of all relating to pcp (as at some time Ralf's might find inclusion as well)
    25263 
    25264 commit 14de4697703b4c1283d68496e457f6c1c3c794aa
    25265 Author: Frederik Heber <heber@bespin.wiss-staff>
    25266 Date:   Fri Apr 18 13:26:42 2008 +0200
    25267 
    25268     -initial commit
    25269     -Minimum set of files needed from ESPACK SVN repository
    25270     -Switch to three tantamount package parts instead of all relating to pcp (as at some time Ralf's might find inclusion as well)
     118.04.2008
     2        + essential switch in structure of ESPACK. Instead of having everything
     3        relative to pcp, we now have three tantamount packages: pcp, utilities and
     4        molecuilder
  • Makefile.am

    r404d2b r363f28  
    11ACLOCAL_AMFLAGS = -I m4
    2 SUBDIRS = src/JobMarket src/unittests tests doc
     2
     3SUBDIRS=
     4if COND_COMPILE_CODEPATTERNS
     5SUBDIRS += ThirdParty/CodePatterns
     6endif
     7SUBDIRS += ThirdParty/LinearAlgebra data/icons src src/unittests src/Tesselation/TriangleMatcher src/Bond/AdjacencyMatcher tests utils doc
    38
    49AUTOMAKE_OPTIONS = subdir-objects
    510
    6 #include doc/am_doxygen_include.am
    7 
    811EXTRA_DIST = \
    912        bootstrap \
     13        debian/changelog \
     14        debian/compat \
     15        debian/control \
     16        debian/copyright \
     17        debian/molecuilder.install \
     18        debian/molecuilder-dev.install \
     19        debian/rules \
     20        debian/source/format \
    1021        m4/ac_doxygen.m4 \
     22        m4/acx_compilerflags.m4 \
     23        m4/acx_pthread.m4 \
     24        m4/ax_check_gl.m4 \
     25        m4/ax_check_glu.m4 \
    1126        m4/ax_codepatterns.m4 \
     27        m4/ax_lang_compiler_ms.m4 \
     28        m4/ax_molecuilder.m4 \
     29        m4/ax_python.m4 \
    1230        m4/boost.m4 \
    1331        m4/cppunit.m4
    1432
    15 #        doc/am_doxygen_include.am
     33.PHONY: doc extracheck installextracheck
     34doc:
     35        mkdir -p ${DX_DOCDIR}
     36        cd doc && $(MAKE) doxygen-doc
    1637
    17 .PHONY: doc
    18 doc:
    19         cd doc && make doxygen-doc
     38guicheck:
     39        cd tests && $(MAKE) guicheck
     40extracheck:
     41        cd tests && $(MAKE) extracheck
     42installextracheck:
     43        cd tests && $(MAKE) installextracheck
     44
     45unity:
     46        cd src && $(MAKE) unity
  • NEWS

    r404d2b r363f28  
    1 2012-05-18 Moved JobMarket into sub-package.
  • README

    r404d2b r363f28  
    1 JobMarket
    2 =========
     1# Project: MoleCuilder
     2#
     3# heber@ins.uni-bonn.de
    34
    4 ... is a sub-package of MoleCuilder (http://trac.ins.uni-bonn.de/projects/molecuilder),
    5 developed at the Institute for Numerical Simulation of the University of Bonn.
     5        MoleCuilder
    66
    7 It offers the possibility (similar to BOINC and other frameworks) to let individual and
    8 independent clients work on a bunch of jobs that are dealt via a server that oversees
    9 this "job market". Jobs are added and the status of the market checked via a controller.
     7... is a tool that started as a mean to edit pcp configuration files (adding/
     8removing groups of atoms, measuring bond lengths and so forth), grew forth into
     9a many-body fragmentation test base of a new method coined BOSSANOVA (Bond
     10Order diSSection in an ANOVA (ANalysis Of VAriance) - like fashion). It spilled
     11out configuration files for each fragment and included joining and analyzing
     12programs, to put together the partial energies and forces of each fragment to
     13the total energy and forces. Since then it has evolved into a complete toolbox
     14for creating molecular systems and worlds.
    1015
    11 It is easy to add new jobs and have them calculated on the Market.
    1216
    13 We have the following requirements:
    14  * Boost libraries 1.40 (http://www.boost.org/
    15  * CodePatterns (http://trac.ins.uni-bonn.de/projects/CodePatterns)
     17INSTALLATION NOTES
     18==================
     19
     20The following packages are needed
     21* GCC or alike
     22* GSL (GNU Scientific Library, available at http://www.gnu.org/software/gsl)
     23* Boost 1.4 or newer
     24* PugiXML (is provided in src/Parser/pugixml)
     25
     26LINKS
     27=====
     28[1] http://www.ins.uni-bonn.de/
  • configure.ac

    r404d2b r363f28  
    33
    44AC_PREREQ(2.59)
    5 AC_INIT(JobMarket, 1.1.6, [foo@mastercontrolprogramm.de], [jobmarket], [https://www.molecuilder.com/])
     5AC_INIT(MoleCuilder, 1.5.4, [foo@molecuilder.de], [molecuilder], [http://www.molecuilder.de/])
    66AC_CONFIG_AUX_DIR([build-aux])
    7 AC_CONFIG_SRCDIR([src/JobMarket/JobId.hpp])
    8 AC_CONFIG_HEADER([config.h libJobMarket_config.h])
     7AC_CONFIG_SRCDIR([src/builder.cpp])
     8AC_CONFIG_HEADER([config.h libmolecuilder_config.h])
    99AC_CONFIG_MACRO_DIR([m4])
     10AC_CONFIG_SUBDIRS([ThirdParty/LinearAlgebra])
    1011
    1112# parallel-tests: use parallel test druver
    1213# color-tests: us coloring to indicate success/failure when available
    1314# tar-pax: use newer tar implementation with longer filename (>99 chars)
    14 AM_INIT_AUTOMAKE([dist-bzip2 1.11 parallel-tests color-tests tar-pax subdir-objects])
     15AM_INIT_AUTOMAKE([dist-bzip2 1.5 parallel-tests color-tests tar-pax subdir-objects])
    1516
    1617# Checks for programs.
     18AC_PROG_CXX
     19AC_PROG_INSTALL
     20
     21# check for cppunit (taken from svn.apache.org/../xmlbeanscxx)
    1722AM_PATH_CPPUNIT(1.9.6)
    18 AC_PROG_CXX
    19 AC_PROG_CC
    20 AC_PROG_MAKE_SET
    21 AC_PROG_INSTALL
    22 
     23AM_CONDITIONAL(CONDCPPUNIT, test "$CPPUNIT_LIBS")
     24
     25dnl Check if we have enable python
     26# python module
     27AC_MSG_CHECKING(whether to enable python module)
     28AC_ARG_ENABLE(
     29        [python],
     30        AS_HELP_STRING([--enable-python],[turn on python module [default=yes]]),
     31        enable_python=$enableval,
     32        enable_python="yes")
     33AC_MSG_RESULT($enable_python)
     34AS_IF([test x"$enable_python" != x"no"],[
     35  # Python (for boost::python)
     36  AM_PATH_PYTHON([2.2])
     37  AX_PYTHON
     38  AC_DEFINE(HAVE_PYTHON,1, ["Build python module and scripts."])
     39])
     40AM_CONDITIONAL([CONDPYTHON], [test x"$enable_python" != x"no"])
     41AC_SUBST(HAVE_PYTHON)
     42
     43dnl Check whether no extra thread for ActionQueue shall be used
     44AC_MSG_CHECKING(whether to enable ActionQueue's run thread)
     45AC_ARG_ENABLE(
     46        [action_thread],
     47        AS_HELP_STRING([--enable-action-thread],[turn on extra run thread for ActionQueue [default=yes]]),
     48        enable_action_thread=$enableval,
     49        enable_action_thread="no"
     50)
     51AC_MSG_RESULT($enable_action_thread)
     52AS_IF([test x"$enable_action_thread" != x"no"],[
     53  AC_DEFINE(HAVE_ACTION_THREAD,1, ["Have extra run thread for ActionQueue."])
     54])
     55AM_CONDITIONAL([CONDACTIONTHREAD], [test x"$enable_action_thread" != x"no"])
     56AC_SUBST(HAVE_ACTION_THREAD)
     57
     58dnl Check if we have enable qtgui
     59# Qt programs
     60AC_MSG_CHECKING(whether to enable Qt-based GUI)
     61AC_ARG_ENABLE(
     62        [qtgui],
     63        AS_HELP_STRING([--enable-qtgui],[turn on Qt GUI compilation [default=yes]]),
     64        enable_qtgui=$enableval,
     65        enable_qtgui="yes")
     66AC_MSG_RESULT($enable_qtgui)
     67AS_IF([test x"$enable_qtgui" != x"no"],[
     68        AC_ARG_WITH(
     69                [Qt-bin],
     70                [AS_HELP_STRING([--with-Qt-bin], [give path to Qt binaries])],
     71                [have_qtgui_path=$withval],
     72                have_qtgui_path="")
     73        AS_IF([test x"$have_qtgui_path" != x""],[
     74                AC_PATH_PROGS([QT_MOC],
     75                        [moc-qt4 moc],
     76                        [AC_MSG_ERROR(["Qts moc not found, please use --with-Qt-bin."])],
     77                        [$have_qtgui_path]
     78                )
     79                AC_PATH_PROGS([QT_RCC],
     80                        [rcc-qt4 rcc],
     81                        [AC_MSG_ERROR(["Qts rcc not found, please use --with-Qt-bin."])],
     82                        [$have_qtgui_path]
     83                )
     84                AC_PATH_PROGS([QT_UIC],
     85                        [uic-qt4 uic],
     86                        [AC_MSG_ERROR(["Qts uic not found, please use --with-Qt-bin."])],
     87                        [$have_qtgui_path]
     88                )
     89        ],[
     90                AC_PATH_PROGS([QT_MOC],
     91                        [moc-qt4 moc],
     92                        [AC_MSG_ERROR(["Qts moc not found, please use --with-Qt-bin."])]
     93                )
     94                AC_PATH_PROGS([QT_RCC],
     95                        [rcc-qt4 rcc],
     96                        [AC_MSG_ERROR(["Qts rcc not found, please use --with-Qt-bin."])]
     97                )
     98                AC_PATH_PROGS([QT_UIC],
     99                        [uic-qt4 uic],
     100                        [AC_MSG_ERROR(["Qts uic not found, please use --with-Qt-bin."])]
     101                )
     102        ])
     103        PKG_CHECK_MODULES([QT], [QtCore QtGui Qt3D], [
     104        ])
     105        AC_SUBST([QT_CFLAGS])
     106        AC_SUBST([QT_LIBS])
     107        AC_DEFINE(HAVE_QTGUI,1, ["Build Qt-based GUI"])
     108])
     109AM_CONDITIONAL([CONDQTGUI], [test x"$enable_qtgui" != x"no"])
     110AC_SUBST(HAVE_QTGUI)
     111
     112dnl Check whether qtgui captures log or not
     113AC_MSG_CHECKING(whether to capture stdout in qtgui)
     114AC_ARG_ENABLE(
     115        [qtgui_capture_log],
     116        AS_HELP_STRING([--enable-qtgui-capture-log],[turn on capturing of log inside qtgui [default=yes]]),
     117        enable_qtgui_capture_log=$enableval,
     118        enable_qtgui_capture_log="yes"
     119)
     120AC_MSG_RESULT($enable_qtgui_capture_log)
     121AS_IF([test x"$enable_qtgui_capture_log" != x"no"],[
     122  AC_DEFINE(QT_CAPTURES_LOG,1, ["Have QtGui capture the stdout."])
     123])
     124AC_SUBST(QT_CAPTURES_LOG)
     125
     126
     127# check additionally for QWT to enable plotting of potentials
     128AC_MSG_CHECKING(whether to enable Qwt-based plotting)
     129#enable_qwt=yes
     130AC_ARG_ENABLE(
     131        [qwt],
     132        AS_HELP_STRING([--enable-qwt],[turn on Qwt compilation [default=yes]]),
     133        enable_qwt=$enableval,
     134        enable_qwt="yes")
     135AC_MSG_RESULT($enable_qwt)
     136AS_IF([test x"$enable_qwt" != x"no"],[
     137        MOL_AC_HAVE_QWT_IFELSE(
     138                [
     139                        enable_qwt=yes
     140                        AC_DEFINE(HAVE_QWT,1, ["Build Qwt-based plotting"])
     141                ],
     142                [
     143                        enable_qwt=no
     144                        AC_MSG_WARN([Qwt not found, disabling plotting in QtUI.])
     145                ]
     146        )
     147])
     148AM_CONDITIONAL([CONDQWT], [test x"$enable_qwt" != x"no"])
     149AC_SUBST(HAVE_QWT)
     150
     151# use doxygen
    23152DX_HTML_FEATURE(ON)
    24153DX_PS_FEATURE(OFF)
    25154DX_PDF_FEATURE(OFF)
    26 DX_INIT_DOXYGEN(JobMarket, Doxyfile, ${docdir})
    27 
     155DX_INIT_DOXYGEN(MoleCuilder, Doxyfile, ${docdir})
     156
     157# use docbook
     158AX_CHECK_DOCBOOK
     159
     160# use libtool
    28161LT_INIT([static])
    29162
     
    32165# refer to the libtool manual, section "Updating library version information":
    33166# http://www.gnu.org/software/libtool/manual/html_node/Updating-version-info.html
    34 AC_SUBST([JOBMARKET_SO_VERSION], [5:0:0])
    35 AC_SUBST([JOBMARKET_API_VERSION], [1.1.6])
     167AC_SUBST([MOLECUILDER_SO_VERSION], [17:0:0])
     168AC_SUBST([MOLECUILDER_API_VERSION], [1.5.4])
    36169
    37170dnl this macro is used to get the arguments supplied
     
    55188          AC_DEFINE(LOG_OBSERVER,1, ["Use observer log."])
    56189          AC_DEFINE(HAVE_DEBUG,2, ["Use debug setting to compile code."])
    57           AC_DEFINE(QT_DEBUG,, ["Enable Qt debug messages."])
     190          dnl AC_DEFINE(QT_DEBUG,, ["Enable Qt debug messages."])
    58191          have_debug="full"
    59192        ],[
    60193          AC_DEFINE(NDEBUG,1, ["Don't compile in debugging code."])
    61194          AC_DEFINE(HAVE_DEBUG,0, ["Use debug setting to compile code."])
    62           AC_DEFINE(QT_NO_DEBUG,, ["Disable Qt debug messages."])
     195          AC_DEFINE(QT_NO_DEBUG_OUTPUT,, ["Disable Qt debug messages."])
    63196          have_debug="no"
    64197        ])
     
    84217AC_SUBST(HAVE_CACHE)
    85218
    86 # CodePatterns library (requires new global NotificationChannel functions)
    87 AM_PATH_CODEPATTERNS([1.3.0], $have_debug,,[AC_MSG_ERROR([Missing CodePatterns library, please specify PKG_CONFIG_PATH or use --with-codepatterns...])])
    88 
    89 # boost
     219# Checks for libraries.
     220AC_CHECK_LIB(m, sqrt, , AC_MSG_ERROR([compatible libc math library not found]))
     221
     222# Pthreads
     223ACX_PTHREAD()
     224
     225# Boost
    90226BOOST_REQUIRE([1.40])
    91227
    92 # boost headers
     228# Boost headers only
     229BOOST_ANY
     230BOOST_ARRAY
     231BOOST_BIMAP
    93232BOOST_BIND
     233BOOST_CAST
     234BOOST_CONVERSION
     235BOOST_EXCEPTION
    94236BOOST_FOREACH
    95 BOOST_EXCEPTION
    96 
    97 # boost libraries
    98 BOOST_ASIO
     237BOOST_FUNCTION
     238BOOST_FUSION
     239BOOST_GRAPH
     240BOOST_ITERATOR
     241BOOST_MULTIARRAY
     242BOOST_MULTIINDEXCONTAINER
     243BOOST_MPL
     244BOOST_PREPROCESSOR
     245BOOST_RANDOM
     246BOOST_SMART_PTR
     247BOOST_STRING_ALGO
     248BOOST_TOKENIZER
     249
     250# Boost headers with libraries
    99251BOOST_FILESYSTEM
    100252BOOST_IOSTREAMS
    101253BOOST_PROGRAM_OPTIONS
     254AS_IF([test x"$enable_python" != x"no"], [BOOST_PYTHON])
    102255BOOST_SERIALIZATION
     256BOOST_THREADS
     257
     258
     259# CodePatterns library (requiring UnobservedIterator)
     260compile_codepatterns="no"
     261AM_PATH_CODEPATTERNS([1.3.2], $have_debug,,[
     262        # compile from ThirdParty
     263        AC_CONFIG_SUBDIRS([ThirdParty/CodePatterns])
     264        compile_codepatterns="yes"
     265        [CodePatterns_LDFLAGS='-L$(top_builddir)/ThirdParty/CodePatterns/src']
     266        [CodePatterns_CFLAGS='-I$(top_srcdir)/ThirdParty/CodePatterns/src']
     267        AS_IF([test x"$enable_debug" != x"no"], [
     268                [CodePatterns_LIBS='-lcodepatterns-debug']
     269        ],[
     270                [CodePatterns_LIBS='-lcodepatterns']
     271        ])
     272        AC_SUBST(CodePatterns_LDFLAGS)
     273        AC_SUBST(CodePatterns_CFLAGS)
     274        AC_SUBST(CodePatterns_LIBS)
     275        #AC_MSG_ERROR([Missing CodePatterns library, please specify PKG_CONFIG_PATH or use --with-codepatterns...])
     276])
     277AM_CONDITIONAL([COND_COMPILE_CODEPATTERNS], [test x"$compile_codepatterns" = x"yes"])
     278
     279# JobMarket library (needs boost/archive/iserializer.hpp before MemDebug.hpp)
     280AC_MSG_CHECKING(whether to enable jobmarket)
     281AC_ARG_ENABLE(
     282  [jobmarket],
     283  AS_HELP_STRING([--enable-jobmarket],[turn on JobMarket feature [default=yes]]),
     284  enable_jobmarket=$enableval,
     285  enable_jobmarket="yes")
     286AC_MSG_RESULT($enable_jobmarket)
     287AS_IF([test x"$enable_jobmarket" != x"no"],[
     288  # JobMarket library (needs SystemCommandJob with suffix)
     289  AM_PATH_JOBMARKET([1.1.6], $have_debug,[
     290    # the following is only required if we have JobMarket
     291    BOOST_ASIO
     292    AC_DEFINE(HAVE_JOBMARKET,1, ["use JobMarket to calculate fragment jobs."])
     293    ],[
     294      enable_jobmarket="no"
     295    ])
     296]
     297#[
     298#  AC_DEFINE(HAVE_JOBMARKET,0, ["use JobMarket to calculate fragment jobs."])
     299#]
     300)
     301AC_SUBST(HAVE_JOBMARKET)
     302AM_CONDITIONAL([CONDJOBMARKET], [test x"$enable_jobmarket" = x"yes"])
     303
     304# VMG library
     305AC_MSG_CHECKING(whether to compile in long-range support via VMG)
     306AC_ARG_ENABLE(
     307  [vmg],
     308  [AS_HELP_STRING([--enable-vmg], [turn on long-range potential calculation via VMG [default=no]])],
     309  [enable_vmg=$enableval],
     310  enable_vmg="no")
     311AC_MSG_RESULT($enable_vmg)
     312AS_IF([test x"$enable_vmg" != x"no"],[
     313  PKG_CHECK_MODULES(VMG, VMG >= 0.1)
     314  AC_SUBST(VMG_CFLAGS)
     315  AC_SUBST(VMG_LIBS)
     316  AC_DEFINE(HAVE_VMG,1, ["use VMG to calculate long-range contributions."])
     317
     318  # check whether to use mpi
     319  AC_ARG_WITH(
     320      [vmg-mpi],
     321      [AS_HELP_STRING([--with-vmg-mpi], [whether to use MPI for communication in VMGJobs])],
     322      [with_vmg_mpi=yes],
     323      [with_vmg_mpi=no])
     324  AS_IF(
     325    [test "x$with_vmg_mpi" != xno],
     326    [
     327      AC_LANG_SAVE
     328      AC_LANG_CPLUSPLUS
     329      LX_FIND_MPI
     330      AC_LANG_RESTORE
     331      AS_IF([test "x$have_CXX_mpi" = xyes],[
     332            AC_DEFINE([MPICH_SKIP_MPICXX], [1], [Skip C++ bindings])
     333            AC_DEFINE([OMPI_SKIP_MPICXX], [1], [Skip C++ bindings])
     334            AC_DEFINE([MPI_NO_CPPBIND], [1], [Skip C++ bindings])
     335            AC_DEFINE([_MPICC_H], [1], [Skip C++ bindings])
     336            AC_DEFINE([MPIBULL_SKIP_MPICXX], [1], [Skip C++ bindings])
     337           ])
     338    ],
     339    [])
     340])
     341AM_CONDITIONAL([CONDVMG], [test x"$enable_vmg" = x"yes"])
     342AM_CONDITIONAL([CONDVMGMPI], [test x"$have_CXX_mpi" = x"yes"])
     343
     344
     345# Check for Levenberg-Marquardt implementation
     346AC_MSG_CHECKING(whether to enable function fitting via levmar)
     347AC_ARG_ENABLE(
     348  [levmar],
     349  AS_HELP_STRING([--enable-levmar],[turn on LevMar feature [default=no]]),
     350  enable_levmar=$enableval,
     351  enable_levmar="no")
     352AC_MSG_RESULT($enable_levmar)
     353# don't use AS_IF here as it expands (and tests) AC_F77_FUN even if levmar
     354# is disabled.
     355if test x"$enable_levmar" = xyes; then
     356        AX_LAPACK([enable_levmar=yes],
     357                [enable_levmar=no
     358                AC_MSG_WARN(["Missing LAPACK, disabling off levmar"])
     359                ]
     360        )
     361fi
     362AS_IF([test x"$enable_levmar" = xyes],[
     363        AC_MSG_CHECKING(for levmar presence via given path )
     364        AC_ARG_WITH(
     365                [levmar],
     366                [AS_HELP_STRING([--with-levmar], [give path to LevMar package])],
     367                [have_levmar_path=$withval
     368                enable_levmar=yes],
     369                [enable_levmar=no])
     370        AC_MSG_RESULT($enable_levmar)
     371        AS_IF([test -n "$have_levmar_path"],[
     372                LEVMAR_CPPFLAGS="-I${have_levmar_path}/include"
     373                LEVMAR_LDFLAGS="-L${have_levmar_path}/lib"
     374                LEVMAR_LIBS="-llevmar"],[
     375                PKG_CHECK_MODULES([LEVMAR],[levmar],[enable_levmar=yes],[
     376                        AC_MSG_CHECKING(for levmar presence via locate)
     377                        enable_levmar=no
     378                        levmar_lib=`locate liblevmar.a | head -n 1 | xargs dirname`
     379                        levmar_include=`locate levmar.h | head -n 1 | xargs dirname`
     380                        if test -n "$levmar_lib"; then
     381                                if test -n "$levmar_include"; then
     382                                        enable_levmar=yes
     383                                        LEVMAR_CPPFLAGS="-I${levmar_include}"
     384                                        LEVMAR_LDFLAGS="-L${levmar_lib}"
     385                                        LEVMAR_LIBS="-llevmar"
     386                                fi
     387                        fi
     388                        AC_MSG_RESULT($enable_levmar)
     389                ])
     390        ])
     391        ],[enable_levmar=no]
     392)
     393AC_MSG_CHECKING(for levmar usability)
     394AS_IF([test x"$enable_levmar" = xyes],[
     395        AC_SUBST(LEVMAR_CPPFLAGS)
     396        AC_SUBST(LEVMAR_LDFLAGS)
     397        AC_SUBST(LEVMAR_LIBS)
     398        AC_DEFINE(HAVE_LEVMAR,1, ["use levmar for non-linear minimisation/potential fitting."])])
     399AC_MSG_RESULT($enable_levmar)
     400AM_CONDITIONAL([CONDLEVMAR], [test x"$enable_levmar" = x"yes"])
    103401
    104402# Checks for header files.
    105403AC_HEADER_STDC
    106 AC_CHECK_HEADERS([unistd.h])
    107 
    108 
    109 # Checks for function
    110 AC_CHECK_FUNCS([atexit])
    111 AC_CHECK_FUNCS([gethostname])
    112 AC_CHECK_FUNCS([socket])
     404AC_CHECK_HEADERS([sys/time.h])
     405AC_HEADER_STDBOOL
     406
    113407AC_FUNC_MALLOC
    114408AC_FUNC_REALLOC
    115 AC_FUNC_ERROR_AT_LINE
     409AC_CHECK_FUNCS([floor pow sqrt strchr])
    116410
    117411# Checks for typedefs, structures, and compiler characteristics.
    118 AC_HEADER_STDBOOL
     412AC_C_CONST
     413AC_C_INLINE
     414AC_C_RESTRICT
    119415AC_TYPE_SIZE_T
     416
     417# Checks for library functions.
     418# check for GNU Scientific Library
     419AC_CHECK_HEADERS([gsl/gsl_blas.h])
     420AC_SEARCH_LIBS(dnrm2, gslblas gslcblas goto blas cblas)
     421AC_SEARCH_LIBS(cblas_dnrm2, gslblas gslcblas blas cblas)
     422AC_SEARCH_LIBS(gsl_blas_dnrm2,, gsl)
     423#AC_CHECK_LIB(gsl, gsl_blas_dnrm2, , [AC_MSG_ERROR(["No working BLAS found for GSL, stopping."])])
     424AC_CHECK_LIB(gsl, main)
    120425
    121426# use CppUnit TestRunner or not
     
    177482
    178483# test suite
    179 AC_CONFIG_FILES([tests/Makefile])
     484
     485AC_CONFIG_FILES([
     486        tests/Makefile])
     487
     488AC_CONFIG_TESTDIR(tests/Calculations)
     489AC_CONFIG_FILES([
     490        tests/Calculations/atlocal
     491        tests/Calculations/Makefile])
     492AC_CONFIG_FILES([tests/Calculations/molecuilder], [chmod +x tests/Calculations/molecuilder])
    180493
    181494AC_CONFIG_TESTDIR(tests/CodeChecks)
     
    184497        tests/CodeChecks/Makefile])
    185498
     499AC_CONFIG_TESTDIR(tests/Fragmentations)
     500AC_CONFIG_FILES([
     501        tests/Fragmentations/atlocal
     502        tests/Fragmentations/Makefile])
     503AC_CONFIG_FILES([tests/Fragmentations/molecuilder], [chmod +x tests/Fragmentations/molecuilder])
     504
     505AC_CONFIG_TESTDIR(tests/GuiChecks)
     506AC_CONFIG_FILES([
     507        tests/GuiChecks/atlocal
     508        tests/GuiChecks/Makefile])
     509AC_CONFIG_FILES([tests/GuiChecks/molecuilder], [chmod +x tests/GuiChecks/molecuilder])
     510AC_CONFIG_FILES([tests/GuiChecks/molecuilderguitest], [chmod +x tests/GuiChecks/molecuilderguitest])
     511AC_CONFIG_FILES([tests/GuiChecks/adjacencymatcher], [chmod +x tests/GuiChecks/adjacencymatcher])
     512AC_CONFIG_FILES([tests/GuiChecks/trianglematcher], [chmod +x tests/GuiChecks/trianglematcher])
     513
     514AC_CONFIG_TESTDIR(tests/JobMarket)
     515AC_CONFIG_FILES([
     516  tests/JobMarket/atlocal
     517  tests/JobMarket/Makefile])
     518AC_CONFIG_FILES([tests/JobMarket/molecuilder], [chmod +x tests/JobMarket/molecuilder])
     519
    186520AC_CONFIG_TESTDIR(tests/regression)
    187521AC_CONFIG_FILES([
    188522        tests/regression/atlocal
    189523        tests/regression/Makefile])
    190 
    191 AC_CONFIG_FILES([
    192   JobMarket.pc:JobMarket.pc.in
    193   JobMarket-debug.pc:JobMarket-debug.pc.in
    194   JobMarketController.pc:JobMarketController.pc.in
    195   JobMarketController-debug.pc:JobMarketController-debug.pc.in
    196   JobMarketPoolWorker.pc:JobMarketPoolWorker.pc.in
    197   JobMarketPoolWorker-debug.pc:JobMarketPoolWorker-debug.pc.in
    198   JobMarketServer.pc:JobMarketServer.pc.in
    199   JobMarketServer-debug.pc:JobMarketServer-debug.pc.in
    200 ])
    201 
     524AC_CONFIG_FILES([tests/regression/molecuilder], [chmod +x tests/regression/molecuilder])
     525AC_CONFIG_FILES([tests/regression/adjacencymatcher], [chmod +x tests/regression/adjacencymatcher])
     526AC_CONFIG_FILES([tests/regression/trianglematcher], [chmod +x tests/regression/trianglematcher])
     527AC_CONFIG_FILES([tests/regression/runpython], [chmod +x tests/regression/runpython])
     528
     529AC_CONFIG_TESTDIR(tests/Tesselations)
     530AC_CONFIG_FILES([
     531        tests/Tesselations/atlocal
     532        tests/Tesselations/Makefile])
     533AC_CONFIG_FILES([tests/Tesselations/molecuilder], [chmod +x tests/Tesselations/molecuilder])
     534AC_CONFIG_FILES([tests/Tesselations/trianglematcher], [chmod +x tests/Tesselations/trianglematcher])
     535
     536AC_CONFIG_FILES([
     537        doc/molecuilder.xml])
     538AC_CONFIG_FILES([
     539        doc/userguide/catalog.xml:doc/userguide/catalog.xml.in])
     540AC_CONFIG_FILES([
     541        MoleCuilder.pc:MoleCuilder.pc.in])
     542AC_CONFIG_FILES([
     543        doc/Makefile
     544        doc/userguide/Makefile
     545])
    202546AC_CONFIG_FILES([
    203547        Makefile
    204         doc/Makefile
    205         src/JobMarket/Makefile
     548        src/Makefile
     549        src/Bond/AdjacencyMatcher/Makefile
     550        src/Tesselation/TriangleMatcher/Makefile
     551        data/icons/Makefile
     552        utils/Makefile
     553])
     554AC_CONFIG_FILES([
    206555        src/unittests/Makefile
    207556])
    208557
     558# produce python scripts and tests only when python's present
     559AC_CONFIG_TESTDIR([tests/Python])
     560AC_CONFIG_FILES([tests/Python/atlocal])
     561AM_COND_IF([CONDPYTHON],[
     562        AC_CONFIG_FILES([utils/Python/boxmaker.py:utils/Python/boxmaker.py.in], [chmod +x utils/Python/boxmaker.py])
     563        AC_CONFIG_FILES([utils/Python/python_wrapper:utils/Python/python_wrapper.in], [chmod +x utils/Python/python_wrapper])
     564        AC_CONFIG_FILES([tests/Python/run], [chmod +x tests/Python/run])
     565])
     566AC_CONFIG_FILES([tests/Python/Makefile])
     567
    209568AC_OUTPUT
  • doc/Makefile.am

    r404d2b r363f28  
    1 EXTRA_DIST = 
     1EXTRA_DIST =
    22
    3 include am_doxygen_include.am
     3# userguide documentation
    44
    5 EXTRA_DIST += am_doxygen_include.am Doxyfile
     5EXTRA_DIST += \
     6        userguide/createguide.sh \
     7        $(top_builddir)/doc/molecuilder.pdf
     8
     9XSLTPROC=xsltproc
     10XSLTPROC_FLAGS=@XSLTPROC_FLAGS@ \
     11        --stringparam paper.type A4
     12PDF_STYLESHEET=@DOCBOOK_ROOT@/fo/docbook.xsl
     13XML_CATALOG_FILES=$(top_builddir)/doc/userguide/catalog.xml
     14FOP=fop
     15
     16pdfdir = $(prefix)/share/doc/@PACKAGE@
     17dist_pdf_DATA = @PACKAGE@.pdf
     18
     19if have_fop
     20if have_xsltproc
     21
     22@PACKAGE@.fo: $(top_srcdir)/doc/userguide/userguide.xml
     23        XML_CATALOG_FILES=$(XML_CATALOG_FILES) $(XSLTPROC) $(XSLTPROC_FLAGS) -o $@ $(PDF_STYLESHEET) $<
     24@PACKAGE@.pdf: @PACKAGE@.fo
     25        $(FOP) -fo $< -pdf $@
     26
     27else
     28
     29@PACKAGE@.pdf:
     30        touch $@
     31
     32endif
     33else
     34
     35@PACKAGE@.pdf:
     36        touch $@
     37
     38endif
     39
     40clean-local:
     41        $(RM) -f doc/userguide/catalog.xml
     42        $(RM) -f @PACKAGE@.fo
     43        $(RM) -f @PACKAGE@.pdf
     44
     45distclean-local:
     46        $(RM) -f doc/userguide/catalog.xml
     47        $(RM) -f @PACKAGE@.fo
     48        $(RM) -f @PACKAGE@.pdf
     49
     50
     51SUBDIRS = userguide
     52
     53EXTRA_DIST += \
     54        am_doxygen_include.am \
     55        Doxyfile
    656
    757include ../src/documentation/Makefile.am
    858
     59include am_doxygen_include.am
  • m4/boost.m4

    r404d2b r363f28  
    540540
    541541
     542# BOOST_BIMAP()
     543# ------------
     544# Look for Boost.Bimap
     545BOOST_DEFUN([Bimap],
     546[BOOST_FIND_HEADER([boost/bimap.hpp])])
     547
     548
    542549# BOOST_BIND()
    543550# ------------
     
    545552BOOST_DEFUN([Bind],
    546553[BOOST_FIND_HEADER([boost/bind.hpp])])
     554
     555
     556# BOOST_CAST()
     557# ------------
     558# Look for Boost.Cast
     559BOOST_DEFUN([Cast],
     560[BOOST_FIND_HEADER([boost/cast.hpp])])
    547561
    548562
     
    636650
    637651
     652# BOOST_FUSION()
     653# -----------------
     654# Look for Boost.Fusion
     655BOOST_DEFUN([Fusion],
     656[BOOST_FIND_HEADER([boost/fusion/sequence.hpp])])
     657
     658
    638659# BOOST_FLYWEIGHT()
    639660# -----------------
     
    780801
    781802
     803# BOOST_MPL()
     804# ------------------
     805# Look for Boost.MPL
     806BOOST_DEFUN([MPL],
     807[BOOST_FIND_HEADER([boost/mpl/for_each.hpp])])
     808
     809
    782810# BOOST_MULTIARRAY()
    783811# ------------------
     
    785813BOOST_DEFUN([MultiArray],
    786814[BOOST_FIND_HEADER([boost/multi_array.hpp])])
     815
     816# BOOST_MULTIINDEXCCONTAINER()
     817# ------------------
     818# Look for Boost.MultiIndexContainer
     819BOOST_DEFUN([MultiIndexContainer],
     820[BOOST_FIND_HEADER([boost/multi_index_container.hpp])])
    787821
    788822
  • src/documentation/Makefile.am

    r404d2b r363f28  
    11EXTRA_DIST += \
    2         ${top_srcdir}/src/documentation/jobmarket.dox \
    3         ${top_srcdir}/src/documentation/mainpage.dox
     2        ${top_srcdir}/src/documentation/code.dox \
     3        ${top_srcdir}/src/documentation/copyright.dox \
     4        ${top_srcdir}/src/documentation/faq.dox \
     5        ${top_srcdir}/src/documentation/fileformats.dox \
     6        ${top_srcdir}/src/documentation/future.dox \
     7        ${top_srcdir}/src/documentation/install.dox \
     8        ${top_srcdir}/src/documentation/launch.dox \
     9        ${top_srcdir}/src/documentation/mainpage.dox \
     10        ${top_srcdir}/src/documentation/constructs/actions.dox \
     11        ${top_srcdir}/src/documentation/constructs/atoms.dox \
     12        ${top_srcdir}/src/documentation/constructs/bondgraph.dox \
     13        ${top_srcdir}/src/documentation/constructs/constructs.dox \
     14        ${top_srcdir}/src/documentation/constructs/descriptors.dox \
     15        ${top_srcdir}/src/documentation/constructs/filling.dox \
     16        ${top_srcdir}/src/documentation/constructs/fragmentation.dox \
     17        ${top_srcdir}/src/documentation/constructs/linearalgebra.dox \
     18        ${top_srcdir}/src/documentation/constructs/logger.dox \
     19        ${top_srcdir}/src/documentation/constructs/molecules.dox \
     20        ${top_srcdir}/src/documentation/constructs/observers_observables.dox \
     21        ${top_srcdir}/src/documentation/constructs/parameters.dox \
     22        ${top_srcdir}/src/documentation/constructs/parsers.dox \
     23        ${top_srcdir}/src/documentation/constructs/potentials.dox \
     24        ${top_srcdir}/src/documentation/constructs/qt-gui.dox \
     25        ${top_srcdir}/src/documentation/constructs/queries.dox \
     26        ${top_srcdir}/src/documentation/constructs/randomnumbers.dox \
     27        ${top_srcdir}/src/documentation/constructs/serialization.dox \
     28        ${top_srcdir}/src/documentation/constructs/shaperegistry.dox \
     29        ${top_srcdir}/src/documentation/constructs/shapes.dox \
     30        ${top_srcdir}/src/documentation/constructs/tesselation.dox \
     31        ${top_srcdir}/src/documentation/constructs/validators.dox \
     32        ${top_srcdir}/src/documentation/constructs/values.dox \
     33        ${top_srcdir}/src/documentation/constructs/world.dox \
     34        ${top_srcdir}/src/documentation/howtos/action.dox \
     35        ${top_srcdir}/src/documentation/howtos/howtos.dox \
     36        ${top_srcdir}/src/documentation/tests/code-tests.dox \
     37        ${top_srcdir}/src/documentation/tests/regression-tests.dox \
     38        ${top_srcdir}/src/documentation/tests/tests.dox \
     39        ${top_srcdir}/src/documentation/tests/unit-tests.dox \
     40        ${top_srcdir}/src/documentation/userinterfaces/commandline.dox \
     41        ${top_srcdir}/src/documentation/userinterfaces/graphical.dox \
     42        ${top_srcdir}/src/documentation/userinterfaces/python.dox \
     43        ${top_srcdir}/src/documentation/userinterfaces/textmenu.dox \
     44        ${top_srcdir}/src/documentation/userinterfaces/userinterfaces.dox
     45
  • src/documentation/mainpage.dox

    r404d2b r363f28  
    22 * Project: MoleCuilder
    33 * Description: creates and alters molecular systems
    4  * Copyright (C)  2012 University of Bonn. All rights reserved.
     4 * Copyright (C)  2010 University of Bonn. All rights reserved.
    55 * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
    66 */
     
    1111 *  Here, the mainpage (index.html) for the doxygen documentation resides.
    1212 *
    13  * Created on: May 18, 2012
     13 * Created on: Oct 11, 2011
    1414 *    Author: heber
    1515 */
    1616
    17 /*! \page Copyright notice
     17/*! \page copyright Copyright notice
    1818 *
    1919 *  MoleCuilder - to create and alter molecular systems
    20  *  Copyright (C) 2012 University Bonn. All rights reserved.
     20 *  Copyright (C) 2010 University Bonn. All rights reserved.
    2121 *
    2222 */
    2323
    24 /*! \mainpage JobMarket - a client/server/controller system for launching arbitrary jobs in C++.
     24/** \mainpage MoleCuilder - a molecular set builder
    2525 *
    26  * \li \ref jobmarket
     26 * This is the main page of the Doxygen documentation of \e MoleCuilder. We give
     27 * a brief description what the program is intended to do and then branch via
     28 * the contents of this documentation into various topics.
    2729 *
    28  * \date 2012-05-18
     30 * \section about About the Program
     31 *
     32 *  MoleCuilder is a program, written entirely in C++, that enables the
     33 *  construction of a coordinate set for the atoms making up a molecular system. It
     34 *  allows for both building of simple molecules by adding atom-wise giving bond
     35 *  angles and distances or absolute coordinates, but also using them as
     36 *  templates. Regions can be specified and ordered to be filled with a molecule
     37 *  in a certain manner. Greater conglomerations of molecules can be tesselated
     38 *  and recognized as a region themselves to be subsequently surrounded by other
     39 *  (surface solvated) molecules.
     40 *  Once initial configurations have been created, empirical potential functions
     41 *  can be fitted to ab-initio calculations -- calculated quickly via the BOSSANOVA
     42 *  scheme -- to enable subsequent (classical) molecular dynamics simulations.
     43 *
     44 *  For copyright see \ref copyright.
     45 *
     46 * \section idea The central idea behind the program
     47 *
     48 * What are the central ideas?
     49 *
     50 * - Testedness: See \ref tests-policy which is meant \e seriously. Nothing is
     51 *   worse than one version behaving different to the next with respect to
     52 *   output.
     53 * - Re-usability: Every piece of functionality should be easy to re-use at
     54 *   someplace else. Say no to specialized one-purpose scripts, say yes to
     55 *   a LEGO-like system of building your world.
     56 * - Extendability: It's easy to add a new piece to the code. And it is even
     57 *   more so, if you have read this documentation and know what's all already
     58 *   in place.
     59 * - Userfriendliness: Every Action can be undone, every Action gives lots
     60 *   of output (if desired) to tell you what's going on. It's easy to save
     61 *   files in between. There are also three kinds of GUIs, each of which
     62 *   have the same functionality.
     63 * - Scriptability: Eventually, you want to create lots of configurations with
     64 *   only small differences. A session can be stored as either command-line or
     65 *   python script and extended to create all of the configurations in a straight-
     66 *   forward manner.
     67 *
     68 * \section contents Contents
     69 *
     70 * This manual is divided into the following sections:
     71 * \li \ref install
     72 * \li \ref tests
     73 * \li \ref launch
     74 * \li \ref data
     75 * \li \ref debug
     76 * \li \ref code
     77 * \li \ref fileformats
     78 * \li \ref userguide
     79 *
     80 * \date 2014-04-18
    2981 *
    3082 */
    3183
     84
     85
  • src/unittests/Makefile.am

    r404d2b r363f28  
    22# Also indentation by a single tab
    33
    4 MOSTLYCLEANFILES =
    5 bin_PROGRAMS =
    6 TESTS =
    74check_PROGRAMS =
    85noinst_PROGRAMS =
     6TESTS =
     7XFAIL_TESTS =
     8MOSTLYCLEANFILES =
    99noinst_LTLIBRARIES =
    10 lib_LTLIBRARIES =
    11 
    12 AM_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
    13 AM_CPPFLAGS = -I$(top_srcdir)/src $(CPPUNIT_CFLAGS) $(BOOST_CPPFLAGS) ${CodePatterns_CFLAGS}
    14 
    15 FRAGMENTATIONAUTOMATIONTESTSSOURCES = \
    16   FragmentJobUnitTest.cpp \
    17   FragmentResultUnitTest.cpp \
    18   FragmentQueueUnitTest.cpp \
    19   OperationQueueUnitTest.cpp \
    20   SystemCommandJobUnitTest.cpp \
    21   WorkerAddressUnitTest.cpp \
    22   WorkerPoolUnitTest.cpp
     10
     11#AUTOMAKE_OPTIONS = no-dependencies
     12
     13if CONDCPPUNIT
     14
     15include ../../src/Actions/unittests/Makefile.am
     16include ../../src/Analysis/unittests/Makefile.am
     17include ../../src/Atom/unittests/Makefile.am
     18include ../../src/Descriptors/unittests/Makefile.am
     19include ../../src/Element/unittests/Makefile.am
     20include ../../src/Filling/unittests/Makefile.am
     21include ../../src/FunctionApproximation/unittests/Makefile.am
     22include ../../src/Fragmentation/unittests/Makefile.am
     23include ../../src/Fragmentation/Exporters/unittests/Makefile.am
     24include ../../src/Fragmentation/Homology/unittests/Makefile.am
     25include ../../src/Fragmentation/Summation/unittests/Makefile.am
     26include ../../src/Fragmentation/Summation/Containers/unittests/Makefile.am
     27include ../../src/Fragmentation/Summation/SetValues/unittests/Makefile.am
     28include ../../src/Graph/unittests/Makefile.am
     29
     30if CONDJOBMARKET
     31include ../../src/Jobs/unittests/Makefile.am
     32endif
     33
     34include ../../src/LinkedCell/unittests/Makefile.am
     35include ../../src/Parameters/unittests/Makefile.am
     36include ../../src/Parser/unittests/Makefile.am
     37include ../../src/Potentials/unittests/Makefile.am
     38include ../../src/Potentials/Specifics/unittests/Makefile.am
     39include ../../src/RandomNumbers/unittests/Makefile.am
     40include ../../src/Shapes/unittests/Makefile.am
     41include ../../src/Tesselation/unittests/Makefile.am
     42include ../../src/UIElements/CommandLineUI/unittests/Makefile.am
     43include ../../src/UIElements/Menu/unittests/Makefile.am
     44
     45AM_LDFLAGS = \
     46        $(CodePatterns_LDFLAGS) ${CodePatterns_LIBS} \
     47        $(CPPUNIT_LIBS) \
     48        -ldl
     49AM_CPPFLAGS = -I$(top_srcdir)/src -I$(top_srcdir)/ThirdParty/LinearAlgebra/src ${BOOST_CPPFLAGS} $(CPPUNIT_CFLAGS) ${CodePatterns_CFLAGS}
     50
     51GENERALTESTS = \
     52  AtomIdSetUnitTest \
     53  BoxUnitTest \
     54  Box_BoundaryConditionsTest \
     55  FormulaUnittest \
     56  ListOfBondsUnitTest \
     57  MoleculeUnitTest \
     58  WorldTimeUnitTest
     59
     60# these ones are checked
     61TESTS += $(GENERALTESTS)
     62# these ones are built for checking only
     63check_PROGRAMS += $(GENERALTESTS)
     64# ... and not installed
     65noinst_PROGRAMS += $(GENERALTESTS)
     66
     67if CONDECUT
     68noinst_PROGRAMS += TestRunner
     69endif
     70
     71noinst_LTLIBRARIES += libUnitTest.la
     72libUnitTest_la_LDFLAGS = \
     73        $(AM_LDFLAGS)
     74libUnitTest_la_LIBADD =
     75
     76#nobase_libUnitTest_la_include_HEADERS =
     77
     78## Define the source file list for the "libexample-@MOLECUILDER_API_VERSION@.la"
     79## target.  Note that @MOLECUILDER_API_VERSION@ is not interpreted by Automake and
     80## will therefore be treated as if it were literally part of the target name,
     81## and the variable name derived from that.
     82## The file extension .cc is recognized by Automake, and makes it produce
     83## rules which invoke the C++ compiler to produce a libtool object file (.lo)
     84## from each source file.  Note that it is not necessary to list header files
     85## which are already listed elsewhere in a _HEADERS variable assignment.
     86libUnitTest_la_SOURCES = UnitTestMain.cpp
     87
     88## Instruct libtool to include ABI version information in the generated shared
     89## library file (.so).  The library ABI version is defined in configure.ac, so
     90## that all version information is kept in one place.
     91#libUnitTest_la_LDFLAGS = -version-info $(MOLECUILDER_SO_VERSION)
     92
     93## The generated configuration header is installed in its own subdirectory of
     94## $(libdir).  The reason for this is that the configuration information put
     95## into this header file describes the target platform the installed library
     96## has been built for.  Thus the file must not be installed into a location
     97## intended for architecture-independent files, as defined by the Filesystem
     98## Hierarchy Standard (FHS).
     99## The nodist_ prefix instructs Automake to not generate rules for including
     100## the listed files in the distribution on 'make dist'.  Files that are listed
     101## in _HEADERS variables are normally included in the distribution, but the
     102## configuration header file is generated at configure time and should not be
     103## shipped with the source tarball.
     104#libUnitTest_la_libincludedir = $(libdir)/MoleCuilder/include
     105#nodist_libUnitTest_la_libinclude_HEADERS = $(top_builddir)/libmolecuilder_config.h
     106
     107## Install the generated pkg-config file (.pc) into the expected location for
     108## architecture-dependent package configuration information.  Occasionally,
     109## pkg-config files are also used for architecture-independent data packages,
     110## in which case the correct install location would be $(datadir)/pkgconfig.
     111#pkgconfigdir = $(libdir)/pkgconfig
     112#pkgconfig_DATA = $(top_builddir)/MoleCuilder.pc
     113
     114
     115BOOST_LIB = \
     116        $(BOOST_PROGRAM_OPTIONS_LDFLAGS) $(BOOST_PROGRAM_OPTIONS_LIBS) \
     117        $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_FILESYSTEM_LIBS) \
     118        $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
     119        $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
     120        $(BOOST_THREAD_LDFLAGS) $(BOOST_THREAD_LIBS)
     121
     122GENERALLIBS = \
     123        ../libMolecuilder.la \
     124        $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
     125        ${CodePatterns_LIBS} \
     126        $(BOOST_LIB)
     127
     128ALLLIBS = \
     129        libUnitTest.la \
     130        ../libMolecuilder.la \
     131        ../libMolecuilderUI.la
     132if CONDJOBMARKET
     133ALLLIBS += \
     134        ../libMolecuilderJobs.la
     135endif
     136ALLLIBS += \
     137        $(top_builddir)/ThirdParty/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
     138        ${CodePatterns_LIBS} \
     139        $(BOOST_LIB)
     140
     141TESTSOURCES = \
     142        ${ACTIONTESTSSOURCES} \
     143        ${ANALYSISTESTSSOURCES} \
     144        ${DESCRIPTORTESTSSOURCES} \
     145        ${ELEMENTTESTSSOURCES} \
     146        ${FILLINGTESTSSOURCES} \
     147        ${FRAGMENTATIONTESTSSOURCES} \
     148        ${GRAPHTESTSSOURCES} \
     149        ${LINKEDCELLTESTSSOURCES} \
     150        ${LINEARALGEBRATESTSSOURCES} \
     151        ${PARAMETERTESTSSOURCES} \
     152        ${PARSERTESTSSOURCES} \
     153        ${RANDOMNUMBERTESTSSOURCES} \
     154        ${SHAPETESTSSOURCES} \
     155        ${TESSELATIONTESTSSOURCES} \
     156        $(UIELEMENTSCOMMANDLINEPARSERTESTSSOURCES) \
     157        ${UIELEMENTSMENUTESTSSOURCES} \
     158        stubs/ObserverStub.cpp \
     159        AtomIdSetUnitTest.cpp \
     160  BoxUnitTest.cpp \
     161        Box_BoundaryConditionsUnitTest.cpp \
     162  FormulaUnitTest.cpp \
     163  ListOfBondsUnitTest.cpp \
     164  MoleculeUnitTest.cpp \
     165  WorldTimeUnitTest.cpp
     166
     167TESTHEADERS = \
     168        ${ACTIONTESTSHEADERS} \
     169        ${ANALYSISTESTSHEADERS} \
     170        ${DESCRIPTORTESTSHEADERS} \
     171        ${ELEMENTTESTSHEADERS} \
     172        ${FILLINGTESTSHEADERS} \
     173        ${FRAGMENTATIONTESTSHEADERS} \
     174        ${GRAPHTESTSHEADERS} \
     175        ${LINKEDCELLTESTHEADERS} \
     176        ${LINEARALGEBRATESTSHEADERS} \
     177        ${PARAMETERTESTSHEADERS} \
     178        ${PARSERTESTSHEADERS} \
     179        ${RANDOMNUMBERTESTSHEADERS} \
     180        ${SHAPETESTSHEADERS} \
     181        ${TESSELATIONTESTSHEADERS} \
     182        $(UIELEMENTSCOMMANDLINEPARSERTESTSHEADERS) \
     183        ${UIELEMENTSMENUTESTSHEADERS} \
     184        stubs/ObserverStub.hpp \
     185        AtomIdSetUnitTest.hpp \
     186  BoxUnitTest.hpp \
     187        Box_BoundaryConditionsUnitTest.hpp \
     188  FormulaUnitTest.hpp \
     189  ListOfBondsUnitTest.hpp \
     190  MoleculeUnitTest.hpp \
     191  WorldTimeUnitTest.hpp
    23192 
    24 FRAGMENTATIONAUTOMATIONTESTSHEADERS = \
    25   FragmentJobUnitTest.hpp \
    26   FragmentResultUnitTest.hpp \
    27   FragmentQueueUnitTest.hpp \
    28   OperationQueueUnitTest.hpp \
    29   SystemCommandJobUnitTest.hpp \
    30   WorkerAddressUnitTest.hpp \
    31   WorkerPoolUnitTest.hpp
    32 
    33 FRAGMENTATIONAUTOMATIONTESTS = \
    34   FragmentJobUnitTest \
    35   FragmentResultUnitTest \
    36   FragmentQueueUnitTest \
    37   OperationQueueUnitTest \
    38   SystemCommandJobUnitTest \
    39   WorkerAddressUnitTest \
    40   WorkerPoolUnitTest
    41 
    42 
    43 TESTS += $(FRAGMENTATIONAUTOMATIONTESTS)
    44 check_PROGRAMS += $(FRAGMENTATIONAUTOMATIONTESTS)
    45 noinst_PROGRAMS += $(FRAGMENTATIONAUTOMATIONTESTS)
    46 
    47 FRAGMENTATIONAUTOMATIONLIBS = \
    48   ../JobMarket/libJobMarketJobs.la \
    49   $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
    50   $(BOOST_THREAD_LDFLAGS) $(BOOST_THREAD_LIBS) \
    51   $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
    52   ${CodePatterns_LIBS}
    53 
    54 FragmentJobUnitTest_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
    55 FragmentJobUnitTest_SOURCES = UnitTestMain.cpp \
    56   FragmentJobUnitTest.cpp \
    57   FragmentJobUnitTest.hpp \
    58   stubs/FragmentResultStub.cpp \
    59   stubs/FragmentJobStub.cpp \
    60   stubs/FragmentJobStub.hpp
    61 FragmentJobUnitTest_LDADD = \
    62   ../JobMarket/libJobMarketJobs.la \
    63   $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
    64   $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
    65   ${CodePatterns_LIBS}
    66 
    67 FragmentQueueUnitTest_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
    68 FragmentQueueUnitTest_SOURCES = UnitTestMain.cpp \
    69   FragmentQueueUnitTest.cpp \
    70   FragmentQueueUnitTest.hpp \
    71   stubs/FragmentJobStub.cpp \
    72   stubs/FragmentJobStub.hpp \
    73   stubs/ObserverStub.cpp \
    74   stubs/ObserverStub.hpp
    75 FragmentQueueUnitTest_LDADD = \
    76   ../JobMarket/libJobMarketJobs.la \
    77   $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
    78   $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
    79   ${CodePatterns_LIBS}
    80 
    81 FragmentResultUnitTest_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
    82 FragmentResultUnitTest_SOURCES = UnitTestMain.cpp \
    83   FragmentResultUnitTest.cpp \
    84   FragmentResultUnitTest.hpp
    85 FragmentResultUnitTest_LDADD = \
    86         ../JobMarket/libJobMarketJobs.la \
    87   $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
    88   $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
    89   ${CodePatterns_LIBS}
    90 
    91 OperationQueueUnitTest_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
    92 OperationQueueUnitTest_SOURCES = UnitTestMain.cpp \
    93   OperationQueueUnitTest.cpp \
    94   OperationQueueUnitTest.hpp \
    95   stubs/AsyncOperationStub.hpp
    96 OperationQueueUnitTest_LDADD = \
    97         ../JobMarket/libJobMarketOperations.la \
    98         ../JobMarket/libJobMarketJobs.la \
    99         ../JobMarket/libJobMarketHelper.la \
    100   $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
    101   ${CodePatterns_LIBS}
    102 
    103 SystemCommandJobUnitTest_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
    104 SystemCommandJobUnitTest_SOURCES = UnitTestMain.cpp \
    105   SystemCommandJobUnitTest.cpp \
    106   SystemCommandJobUnitTest.hpp
    107 SystemCommandJobUnitTest_LDADD = \
    108         ../JobMarket/libJobMarketJobs.la \
    109   $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
    110   $(BOOST_IOSTREAMS_LDFLAGS) $(BOOST_IOSTREAMS_LIBS) \
    111   $(BOOST_FILESYSTEM_LDFLAGS) $(BOOST_FILESYSTEM_LIBS) \
    112   $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
    113   ${CodePatterns_LIBS}
    114 
    115 WorkerAddressUnitTest_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
    116 WorkerAddressUnitTest_SOURCES = UnitTestMain.cpp \
    117   WorkerAddressUnitTest.cpp \
    118   WorkerAddressUnitTest.hpp
    119 WorkerAddressUnitTest_LDADD = \
    120         ../JobMarket/libJobMarketHelper.la \
    121   $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
    122   $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
    123   ${CodePatterns_LIBS}
    124 
    125 WorkerPoolUnitTest_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
    126 WorkerPoolUnitTest_SOURCES = UnitTestMain.cpp \
    127   WorkerPoolUnitTest.cpp \
    128   WorkerPoolUnitTest.hpp \
    129   stubs/ObserverStub.cpp \
    130   stubs/ObserverStub.hpp
    131 WorkerPoolUnitTest_LDADD = \
    132         ../JobMarket/libJobMarketPool.la \
    133         ../JobMarket/libJobMarketHelper.la \
    134   $(BOOST_SERIALIZATION_LDFLAGS) $(BOOST_SERIALIZATION_LIBS) \
    135   $(BOOST_SYSTEM_LDFLAGS) $(BOOST_SYSTEM_LIBS) \
    136   ${CodePatterns_LIBS}
     193
     194BoxUnitTest_SOURCES = \
     195        BoxUnitTest.cpp \
     196        BoxUnitTest.hpp \
     197        stubs/ObserverStub.cpp \
     198        stubs/ObserverStub.hpp \
     199        ../Shapes/unittests/stubs/ApproximateShapeAreaStub.cpp \
     200        ../Shapes/unittests/stubs/ApproximateShapeVolumeStub.cpp
     201BoxUnitTest_LDADD = \
     202        $(ALLLIBS) \
     203        ../libMolecuilderShapes.la \
     204        ../libMolecuilderHelpers.la
     205
     206AtomIdSetUnitTest_SOURCES = \
     207        AtomIdSetUnitTest.cpp \
     208        AtomIdSetUnitTest.hpp
     209AtomIdSetUnitTest_LDADD =  $(ALLLIBS)
     210
     211Box_BoundaryConditionsTest_SOURCES = \
     212        Box_BoundaryConditionsUnitTest.cpp \
     213        Box_BoundaryConditionsUnitTest.hpp
     214Box_BoundaryConditionsTest_LDADD = \
     215        $(ALLLIBS) \
     216        ../libMolecuilderShapes.la \
     217        ../libMolecuilderHelpers.la
     218
     219FormulaUnittest_SOURCES = \
     220        FormulaUnitTest.cpp \
     221        FormulaUnitTest.hpp
     222FormulaUnittest_LDADD = $(ALLLIBS)
     223
     224ListOfBondsUnitTest_SOURCES = \
     225        ListOfBondsUnitTest.cpp \
     226        ListOfBondsUnitTest.hpp
     227ListOfBondsUnitTest_LDADD = $(ALLLIBS)
     228
     229MoleculeUnitTest_SOURCES = \
     230        MoleculeUnitTest.cpp \
     231        MoleculeUnitTest.hpp
     232MoleculeUnitTest_LDADD = \
     233        $(ALLLIBS) \
     234        ../libMolecuilderShapes.la \
     235        ../libMolecuilderHelpers.la
     236
     237WorldTimeUnitTest_SOURCES = \
     238        WorldTimeUnitTest.cpp \
     239        WorldTimeUnitTest.hpp
     240WorldTimeUnitTest_LDADD = \
     241        $(ALLLIBS) \
     242        ../libMolecuilderShapes.la \
     243        ../libMolecuilderHelpers.la
     244
     245
     246TestRunner_SOURCES = TestRunnerMain.cpp $(TESTSOURCES) $(TESTHEADERS)
     247TestRunner_LDADD = ${UILIBS} ${ALLLIBS}
    137248
    138249#AUTOMAKE_OPTIONS = parallel-tests
     250
     251endif
  • src/unittests/UnitTestMain.cpp

    r404d2b r363f28  
    11/*
    2  * Project: JobMarket
    3  * Description: asynchronous Server/Controller/Client-approach to parallel computing, based on boost::asio
    4  * Copyright (C)  2010-2012 Frederik Heber. All rights reserved.
     2 * Project: MoleCuilder
     3 * Description: creates and alters molecular systems
     4 * Copyright (C)  2010-2012 University of Bonn. All rights reserved.
    55 *
     6 *
     7 *   This file is part of MoleCuilder.
     8 *
     9 *    MoleCuilder is free software: you can redistribute it and/or modify
     10 *    it under the terms of the GNU General Public License as published by
     11 *    the Free Software Foundation, either version 2 of the License, or
     12 *    (at your option) any later version.
     13 *
     14 *    MoleCuilder is distributed in the hope that it will be useful,
     15 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
     16 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     17 *    GNU General Public License for more details.
     18 *
     19 *    You should have received a copy of the GNU General Public License
     20 *    along with MoleCuilder.  If not, see <http://www.gnu.org/licenses/>.
    621 */
    722
  • src/unittests/stubs/ObserverStub.cpp

    r404d2b r363f28  
    11/*
    2  * Project: JobMarket
    3  * Description: asynchronous Server/Controller/Client-approach to parallel computing, based on boost::asio
    4  * Copyright (C)  2012 Frederik Heber. All rights reserved.
     2 * Project: MoleCuilder
     3 * Description: creates and alters molecular systems
     4 * Copyright (C)  2012 University of Bonn. All rights reserved.
    55 *
     6 *
     7 *   This file is part of MoleCuilder.
     8 *
     9 *    MoleCuilder is free software: you can redistribute it and/or modify
     10 *    it under the terms of the GNU General Public License as published by
     11 *    the Free Software Foundation, either version 2 of the License, or
     12 *    (at your option) any later version.
     13 *
     14 *    MoleCuilder is distributed in the hope that it will be useful,
     15 *    but WITHOUT ANY WARRANTY; without even the implied warranty of
     16 *    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     17 *    GNU General Public License for more details.
     18 *
     19 *    You should have received a copy of the GNU General Public License
     20 *    along with MoleCuilder.  If not, see <http://www.gnu.org/licenses/>.
    621 */
    722
  • tests/CodeChecks/Makefile.am

    r404d2b r363f28  
    44
    55TESTSCRIPTS = \
     6        testsuite-action_present_in_userguide.at \
    67        testsuite-config_h.at \
    78        testsuite-date_in_dox.at \
     9        testsuite-globallistofactions_hpp.at \
    810        testsuite-header-dist.at \
    911        testsuite-memdebug.at \
    10         testsuite-project-disclaimer.at
     12        testsuite-project-disclaimer.at \
     13        testsuite-testsuite-in-makefile.at
    1114
    1215DISTCLEANFILES = atconfig
     
    5962                echo 'm4_define([AT_PACKAGE_STRING],    [@PACKAGE_STRING@])' && \
    6063                echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
    61         } >'$(srcdir)/package.m4'
     64        } >'package.m4'
  • tests/CodeChecks/testsuite-config_h.at

    r404d2b r363f28  
     1#
     2#    MoleCuilder - creates and alters molecular systems
     3#    Copyright (C) 2008-2012 University of Bonn
     4#
     5#    This program is free software: you can redistribute it and/or modify
     6#    it under the terms of the GNU General Public License as published by
     7#    the Free Software Foundation, either version 3 of the License, or
     8#    (at your option) any later version.
     9#
     10#    This program is distributed in the hope that it will be useful,
     11#    but WITHOUT ANY WARRANTY; without even the implied warranty of
     12#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13#    GNU General Public License for more details.
     14#
     15#    You should have received a copy of the GNU General Public License
     16#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17#
    118AT_SETUP([Checking for present config.h include])
    219AT_KEYWORDS([CodeCheck config_h])
    3 ok=""
     20ok="unity.cpp AllActionHeaders.hpp AllActionPython.hpp AllPotentialHeaders.hpp pugiconfig.hpp pugixml.cpp pugixml.hpp"
    421echo `pwd`
    522echo "${#ok[*]} are ok to not contain config.h: ${ok[*]}."
     
    1734    fi
    1835  done
     36  # no .moc.cpp
     37  if test ! -z "`echo $file | grep '.moc.cpp'`"; then
     38        found=1
     39  fi
     40  if test ! -z "`echo $file | grep 'moc_'`"; then
     41        found=1
     42  fi
    1943  # if not, check whether it contains the include
    2044  if test $found -eq 0
  • tests/CodeChecks/testsuite-date_in_dox.at

    r404d2b r363f28  
     1#
     2#    MoleCuilder - creates and alters molecular systems
     3#    Copyright (C) 2008-2012 University of Bonn
     4#
     5#    This program is free software: you can redistribute it and/or modify
     6#    it under the terms of the GNU General Public License as published by
     7#    the Free Software Foundation, either version 3 of the License, or
     8#    (at your option) any later version.
     9#
     10#    This program is distributed in the hope that it will be useful,
     11#    but WITHOUT ANY WARRANTY; without even the implied warranty of
     12#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13#    GNU General Public License for more details.
     14#
     15#    You should have received a copy of the GNU General Public License
     16#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17#
    118AT_SETUP([Checking for present date stamp in .dox files])
    219AT_KEYWORDS([CodeCheck dox date_in_dox])
  • tests/CodeChecks/testsuite-header-dist.at

    r404d2b r363f28  
     1#
     2#    MoleCuilder - creates and alters molecular systems
     3#    Copyright (C) 2008-2012 University of Bonn
     4#
     5#    This program is free software: you can redistribute it and/or modify
     6#    it under the terms of the GNU General Public License as published by
     7#    the Free Software Foundation, either version 3 of the License, or
     8#    (at your option) any later version.
     9#
     10#    This program is distributed in the hope that it will be useful,
     11#    but WITHOUT ANY WARRANTY; without even the implied warranty of
     12#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13#    GNU General Public License for more details.
     14#
     15#    You should have received a copy of the GNU General Public License
     16#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17#
    118AT_SETUP([Checking that header files get distributed])
    219AT_KEYWORDS([CodeCheck header])
    320
    4 ok=""
     21ok="ExportGraph.hpp ExportGraph_ToFiles.hpp ExportGraph_ToJobs.hpp"
    522echo "${#ok[*]} are ok not to get distributed: ${ok[*]}."
    623Makefiles=`find ${abs_top_srcdir}/src -name Makefile.am`
  • tests/CodeChecks/testsuite-memdebug.at

    r404d2b r363f28  
     1#
     2#    MoleCuilder - creates and alters molecular systems
     3#    Copyright (C) 2008-2012 University of Bonn
     4#
     5#    This program is free software: you can redistribute it and/or modify
     6#    it under the terms of the GNU General Public License as published by
     7#    the Free Software Foundation, either version 3 of the License, or
     8#    (at your option) any later version.
     9#
     10#    This program is distributed in the hope that it will be useful,
     11#    but WITHOUT ANY WARRANTY; without even the implied warranty of
     12#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13#    GNU General Public License for more details.
     14#
     15#    You should have received a copy of the GNU General Public License
     16#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17#
    118AT_SETUP([Checking for present MemDebug.hpp include])
    219AT_KEYWORDS([CodeCheck MemDebug])
    3 ok=""
     20ok="builder.cpp MemDebug.cpp SubspaceFactorizer.cpp TestRunner.cpp unity.cpp pugixml.cpp"
    421echo `pwd`
    522echo "${#ok[*]} are ok to not contain MemDebug.hpp: ${ok[0]} ${ok[1]}."
     
    1734    fi
    1835  done
     36  # no .moc.cpp
     37  if test ! -z "`echo $file | grep '.moc.cpp'`"; then
     38        found=1
     39  fi
     40  if test ! -z "`echo $file | grep 'moc_'`"; then
     41        found=1
     42  fi
    1943  # if not, check whether it contains the include if its NOT a unit test
    2044  if test -z `echo $file | grep unittests`
  • tests/CodeChecks/testsuite-project-disclaimer.at

    r404d2b r363f28  
     1#
     2#    MoleCuilder - creates and alters molecular systems
     3#    Copyright (C) 2008-2012 University of Bonn
     4#    Copyright (C) 2013 Frederik Heber
     5#
     6#    This program is free software: you can redistribute it and/or modify
     7#    it under the terms of the GNU General Public License as published by
     8#    the Free Software Foundation, either version 3 of the License, or
     9#    (at your option) any later version.
     10#
     11#    This program is distributed in the hope that it will be useful,
     12#    but WITHOUT ANY WARRANTY; without even the implied warranty of
     13#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14#    GNU General Public License for more details.
     15#
     16#    You should have received a copy of the GNU General Public License
     17#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
     18#
    119AT_SETUP([Checking for present project disclaimer])
    220AT_KEYWORDS([CodeCheck disclaimer])
    3 ok=""
     21ok="unity.cpp pugixml.cpp"
     22okdir="UIElements/Views/Qt4/Plotting UIElements/Views/Qt4/Plotting/QScrollZoomer UIElements/Views/Qt4/Plotting/XMLParser"
    423echo `pwd`
    524echo "${#ok[*]} are ok to not contain config.h: ${ok[*]}."
     
    928  # check whether its one of the excluded ones
    1029  found=0
     30        # skip files taken over from seismolo project
     31  for item in $okdir
     32  do
     33    if test "`dirname $file`" == "${abs_top_srcdir}/src/$item"
     34    then
     35        found=1
     36                break
     37        fi
     38  done
     39  # skip other specific files from 3rd party source or created ones
    1140  for item in $ok
    1241  do
     
    1746    fi
    1847  done
     48  # no .moc.cpp
     49  if test ! -z "`echo $file | grep '.moc.cpp'`"; then
     50        found=1
     51  fi
     52  if test ! -z "`echo $file | grep 'moc_'`"; then
     53        found=1
     54  fi
    1955  # if not, check whether it contains the include
    2056  if test $found -eq 0
    2157  then
    22     AT_CHECK([egrep -q " * Project: JobMarket" $file], 0, [ignore], [ignore], [echo "Could not find project disclaimer in $file."])
    23     AT_CHECK([egrep -q " * Copyright.* Frederik Heber" $file], 0, [ignore], [ignore], [echo "Could not find copyright in $file."])
     58    AT_CHECK([egrep -q " * Project: MoleCuilder" $file], 0, [ignore], [ignore], [echo "Could not find project disclaimer in $file."])
     59    AT_CHECK([egrep -q " * Copyright.* University of Bonn" $file], 0, [ignore], [ignore], [
     60                AT_CHECK([egrep -q " * Copyright.* Frederik Heber" $file], 0, [ignore], [ignore], [echo "Could not find copyright with current year ${year} in $file."])])
     61    AT_CHECK([egrep -q " *    MoleCuilder is free software" $file], 0, [ignore], [ignore], [echo "Could not find MoleCuilder reference in $file."])
    2462  fi
    2563done
  • tests/CodeChecks/testsuite.at

    • Property mode changed from 100755 to 100644
    r404d2b r363f28  
     1#
     2#    MoleCuilder - creates and alters molecular systems
     3#    Copyright (C) 2008-2012 University of Bonn
     4#
     5#    This program is free software: you can redistribute it and/or modify
     6#    it under the terms of the GNU General Public License as published by
     7#    the Free Software Foundation, either version 3 of the License, or
     8#    (at your option) any later version.
     9#
     10#    This program is distributed in the hope that it will be useful,
     11#    but WITHOUT ANY WARRANTY; without even the implied warranty of
     12#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     13#    GNU General Public License for more details.
     14#
     15#    You should have received a copy of the GNU General Public License
     16#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
     17#
    118# Process with autom4te to create an -*- Autotest -*- test suite.
    219#
     
    421# In pre initial files are placed, in post results can be found to be checked by diff in this testsuite.
    522
    6 AT_INIT([Job Market])
    7 AT_TESTED(egrep find grep)
     23AT_INIT([Molecular Builder])
     24AT_TESTED(basename egrep find grep sed)
    825
    926# Use colored output with new-enough Autotest.
    1027m4_ifdef([AT_COLOR_TESTS], [AT_COLOR_TESTS])
    1128
    12 AT_BANNER([JobMarket - Code Checks])
     29AT_BANNER([MoleCuilder - Code Checks])
    1330m4_include(atlocal)
    1431
     
    1734m4_include(testsuite-date_in_dox.at)
    1835
     36m4_include(testsuite-globallistofactions_hpp.at)
     37
    1938m4_include(testsuite-memdebug.at)
    2039
     
    2241
    2342m4_include(testsuite-header-dist.at)
     43
     44m4_include(testsuite-testsuite-in-makefile.at)
     45
     46m4_include(testsuite-action_present_in_userguide.at)
  • tests/Makefile.am

    r404d2b r363f28  
    22
    33SUBDIRS += \
     4        Calculations \
    45        CodeChecks \
    5         regression
     6        GuiChecks \
     7        regression \
     8        Fragmentations \
     9        Tesselations \
     10        Python \
     11        JobMarket
    612
     13.PHONY: extracheck guicheck installextracheck
     14
     15guicheck:
     16        cd GuiChecks && $(MAKE) guicheck
     17extracheck:
     18        cd Calculations && $(MAKE) extracheck
     19installextracheck:
     20        cd Calculations && $(MAKE) installextracheck
  • tests/regression/Makefile.am

    r404d2b r363f28  
    11AUTOM4TE = $(SHELL) $(top_srcdir)/build-aux/missing --run autom4te
     2
     3TESTSUITE = $(srcdir)/testsuite
    24
    35EXTRA_DIST = \
    46        testsuite.at \
    57        $(TESTSUITE) \
    6         $(TESTSCRIPTS) \
    78        atlocal.in \
    8         $(srcdir)/package.m4
    9 
    10 TESTSUITE = $(srcdir)/testsuite
     9        molecuilder.in \
     10        package.m4 \
     11        runpython.in \
     12        trianglematcher.in \
     13        Analysis \
     14        Atoms \
     15        Bond \
     16        Domain \
     17        Filling \
     18        Fragmentation \
     19        Graph \
     20        Molecules \
     21        Options \
     22        Parser \
     23        Potential \
     24        RandomNumbers \
     25        Selection \
     26        Tesselation
    1127
    1228DISTCLEANFILES = atconfig
     
    1430TESTSCRIPTS =
    1531
     32# PLEASE adhere to alphabetical ordering of TESTSCRIPTS
     33
    1634TESTSCRIPTS += \
    17         $(srcdir)/testsuite-addingjobs.at \
    18         $(srcdir)/testsuite-checkstate.at \
    19         $(srcdir)/testsuite-checkalive.at \
    20         $(srcdir)/testsuite-completerun.at \
    21         $(srcdir)/testsuite-enrollinpool.at \
    22         $(srcdir)/testsuite-getresults.at \
    23         $(srcdir)/testsuite-resubmitjobs.at \
    24         $(srcdir)/testsuite-server-shutdown.at \
    25         $(srcdir)/testsuite-server-worker.at
     35        $(srcdir)/Atoms/testsuite-atoms.at \
     36        $(srcdir)/Atoms/Add/testsuite-atoms-add.at \
     37        $(srcdir)/Atoms/ChangeElement/testsuite-atoms-change-element.at \
     38        $(srcdir)/Atoms/Mirror/testsuite-atoms-mirror.at \
     39        $(srcdir)/Atoms/Remove/testsuite-atoms-remove.at \
     40        $(srcdir)/Atoms/RemoveCuboid/testsuite-atoms-remove-cuboid.at \
     41        $(srcdir)/Atoms/RemoveSphere/testsuite-atoms-remove-sphere.at \
     42        $(srcdir)/Atoms/SaveSelectedAtoms/testsuite-atoms-save-selected-atoms.at \
     43        $(srcdir)/Atoms/Saturate/testsuite-atoms-saturate-atoms-bonded_atoms.at \
     44        $(srcdir)/Atoms/Saturate/testsuite-atoms-saturate-atoms-carbon.at \
     45        $(srcdir)/Atoms/Saturate/testsuite-atoms-saturate-atoms-nitrogen.at \
     46        $(srcdir)/Atoms/Translation/testsuite-atoms-translation.at \
     47        $(srcdir)/Atoms/TranslationToOrigin/testsuite-atoms-translation-to-origin.at \
     48        $(srcdir)/Bond/testsuite-bond.at \
     49        $(srcdir)/Bond/Add/testsuite-bond-add.at \
     50        $(srcdir)/Bond/Add/testsuite-bond-add_multiple.at \
     51        $(srcdir)/Bond/AdjacencyMatcher/testsuite-bond-adjacencymatcher.at \
     52        $(srcdir)/Bond/Remove/testsuite-bond-remove.at \
     53        $(srcdir)/Bond/Remove/testsuite-bond-remove_multiple.at \
     54        $(srcdir)/Bond/SetDegree/testsuite-bond-set-degree.at \
     55        $(srcdir)/Bond/SetDegree/testsuite-bond-set-degree_multiple.at \
     56        $(srcdir)/Analysis/testsuite-analysis.at \
     57        $(srcdir)/Analysis/DipoleAngularCorrelation/testsuite-analysis-dipole-angular-correlation.at \
     58        $(srcdir)/Analysis/DipoleAngularCorrelation-PeriodicBoundaries/testsuite-analysis-dipole-angular-correlation-periodic-boundaries.at \
     59        $(srcdir)/Analysis/DipoleCorrelation-DiscreteAngles/testsuite-analysis-dipole-correlation-discrete-angles.at \
     60        $(srcdir)/Analysis/DipoleCorrelation-Empty/testsuite-analysis-dipole-correlation-empty.at \
     61        $(srcdir)/Analysis/PairCorrelation/testsuite-analysis-pair-correlation.at \
     62        $(srcdir)/Analysis/PairCorrelation-RangeTest/testsuite-analysis-pair-correlation-range-test.at \
     63        $(srcdir)/Analysis/PointCorrelation/testsuite-analysis-point-correlation.at \
     64        $(srcdir)/Analysis/PrincipalAxisSystem/testsuite-analysis-principal-axis-system.at \
     65        $(srcdir)/Analysis/SurfaceCorrelation/testsuite-analysis-surface-correlation.at \
     66        $(srcdir)/Domain/testsuite-domain.at \
     67        $(srcdir)/Domain/AddEmptyBoundary/testsuite-domain-add-empty-boundary.at \
     68        $(srcdir)/Domain/BoundInBox/testsuite-domain-bound-in-box.at \
     69        $(srcdir)/Domain/CenterInBox/testsuite-domain-center-in-box.at \
     70        $(srcdir)/Domain/CenterOnEdge/testsuite-domain-center-on-edge.at \
     71        $(srcdir)/Domain/ChangeBox/testsuite-domain-change-box.at \
     72        $(srcdir)/Domain/RepeatBox/testsuite-domain-repeat-box.at \
     73        $(srcdir)/Domain/ScaleBox/testsuite-domain-scale-box.at \
     74        $(srcdir)/Domain/SetBoundaryConditions/testsuite-domain-set-boundary-conditions.at \
     75        $(srcdir)/Filling/testsuite-filling.at \
     76        $(srcdir)/Filling/FillSurface/testsuite-fill-surface-cube.at \
     77        $(srcdir)/Filling/FillSurface/testsuite-fill-surface-cylinder.at \
     78        $(srcdir)/Filling/FillSurface/testsuite-fill-surface-everywhere.at \
     79        $(srcdir)/Filling/FillSurface/testsuite-fill-surface-micelle.at \
     80        $(srcdir)/Filling/FillSurface/testsuite-fill-surface-nowhere.at \
     81        $(srcdir)/Filling/FillSurface/testsuite-fill-surface-sphere.at \
     82        $(srcdir)/Filling/FillVolume/testsuite-fill-volume-cube.at \
     83        $(srcdir)/Filling/FillVolume/testsuite-fill-volume-cylinder.at \
     84        $(srcdir)/Filling/FillVolume/testsuite-fill-volume-everywhere.at \
     85        $(srcdir)/Filling/FillVolume/testsuite-fill-volume-nowhere.at \
     86        $(srcdir)/Filling/FillVolume/testsuite-fill-volume-sphere.at \
     87        $(srcdir)/Filling/RegularGrid/testsuite-fill-regular-grid.at \
     88        $(srcdir)/Filling/RegularGrid/testsuite-fill-regular-grid-with-minimum-distance-to-surface.at \
     89        $(srcdir)/Filling/RegularGrid/testsuite-fill-regular-grid-with-surface.at \
     90        $(srcdir)/Filling/SuspendInWater/testsuite-suspend-in-water.at \
     91        $(srcdir)/Fragmentation/testsuite-fragmentation.at \
     92        $(srcdir)/Fragmentation/AnalyseFragmentationResults/testsuite-fragmentation-analyse-fragment-results.at \
     93        $(srcdir)/Fragmentation/FragmentationAutomation/testsuite-fragmentation-fragmentation-automation.at \
     94        $(srcdir)/Fragmentation/FragmentMolecule/testsuite-fragmentation-fragment-molecule.at \
     95        $(srcdir)/Fragmentation/FragmentMolecule-MaxOrder/testsuite-fragmentation-fragment-molecule-maxorder.at \
     96        $(srcdir)/Fragmentation/ParseSaveFragmentResults/testsuite-fragmentation-parse-save-fragment-results.at \
     97        $(srcdir)/Fragmentation/StoreSaturatedFragment/testsuite-fragmentation-store-saturated-fragment.at \
     98        $(srcdir)/Graph/testsuite-graph.at \
     99        $(srcdir)/Graph/CreateAdjacency/testsuite-graph-create-adjacency.at \
     100        $(srcdir)/Graph/DepthFirstSearch/testsuite-graph-depth-first-search.at \
     101        $(srcdir)/Graph/DestroyAdjacency/testsuite-graph-destroy-adjacency.at \
     102        $(srcdir)/Graph/SubgraphDissection/testsuite-graph-subgraph-dissection.at \
     103        $(srcdir)/Graph/SubgraphDissection-BoundaryConditions/testsuite-graph-subgraph-dissection_boundary-conditions.at \
     104        $(srcdir)/Molecules/testsuite-molecules.at \
     105        $(srcdir)/Molecules/BondFile/testsuite-molecules-fragmentation-bond-file.at \
     106        $(srcdir)/Molecules/BondFile/testsuite-molecules-tremolo-dbond-file.at \
     107        $(srcdir)/Molecules/ChangeBondAngle/testsuite-molecules-change-bond-angle.at \
     108        $(srcdir)/Molecules/Copy/testsuite-molecules-copy-molecule.at \
     109        $(srcdir)/Molecules/ForceAnnealing/testsuite-molecules-force-annealing.at \
     110        $(srcdir)/Molecules/LinearInterpolationofTrajectories/testsuite-molecules-linear-interpolation-of-trajectories.at \
     111        $(srcdir)/Molecules/Remove/testsuite-molecules-remove.at \
     112        $(srcdir)/Molecules/RotateAroundOrigin/testsuite-molecules-rotate-around-origin.at \
     113        $(srcdir)/Molecules/RotateAroundSelf/testsuite-molecules-rotate-around-self.at \
     114        $(srcdir)/Molecules/RotateToPrincipalAxisSystem/testsuite-molecules-rotate-to-principal-axis-system.at \
     115        $(srcdir)/Molecules/SaveAdjacency/testsuite-molecules-save-adjacency.at \
     116        $(srcdir)/Molecules/SaveBonds/testsuite-molecules-save-bonds.at \
     117        $(srcdir)/Molecules/SaveSelectedMolecules/testsuite-molecules-save-selected-molecules.at \
     118        $(srcdir)/Molecules/SaveTemperature/testsuite-molecules-save-temperature.at \
     119        $(srcdir)/Molecules/StretchBond/testsuite-molecules-stretch-bond.at \
     120        $(srcdir)/Molecules/Translation/testsuite-molecules-translation.at \
     121        $(srcdir)/Molecules/Translation-Periodic/testsuite-molecules-translation-periodic.at \
     122        $(srcdir)/Molecules/VerletIntegration/testsuite-molecules-verlet-integration.at \
     123        $(srcdir)/Options/testsuite-options.at \
     124        $(srcdir)/Options/BondLengthTable/testsuite-options-bond-length-table.at \
     125        $(srcdir)/Options/DryRun/testsuite-options-dryrun.at \
     126        $(srcdir)/Options/DryRun/testsuite-options-dryrun-storesession.at \
     127        $(srcdir)/Options/DryRun/testsuite-options-no-dryrun.at \
     128        $(srcdir)/Options/ElementsDb/testsuite-options-no-elements-db.at \
     129        $(srcdir)/Options/ElementsDb/testsuite-options-elements-db.at \
     130        $(srcdir)/Options/Empty/testsuite-options-empty-configs.at \
     131        $(srcdir)/Options/FastParsing/testsuite-options-fast-parsing.at \
     132        $(srcdir)/Options/Help/testsuite-options-help.at \
     133        $(srcdir)/Options/InvalidCommands/testsuite-options-invalid-commands.at \
     134        $(srcdir)/Options/Session/testsuite-options-load-session-python.at \
     135        $(srcdir)/Options/Session/testsuite-options-store-session-cli.at \
     136        $(srcdir)/Options/Session/testsuite-options-store-session-python.at \
     137        $(srcdir)/Options/SetDefaultName/testsuite-options-set-default-name.at \
     138        $(srcdir)/Options/Verbosity/testsuite-options-verbosity.at \
     139        $(srcdir)/Options/Warranty/testsuite-options-warranty.at \
     140        $(srcdir)/Parser/testsuite-parser.at \
     141        $(srcdir)/Parser/Mpqc/testsuite-parser-mpqc-empty.at \
     142        $(srcdir)/Parser/Mpqc/testsuite-parser-mpqc-load.at \
     143        $(srcdir)/Parser/Mpqc/testsuite-parser-mpqc-load-multiply.at \
     144        $(srcdir)/Parser/Mpqc/testsuite-parser-mpqc-save.at \
     145        $(srcdir)/Parser/Pcp/testsuite-parser-pcp-empty.at \
     146        $(srcdir)/Parser/Pcp/testsuite-parser-pcp-load.at \
     147        $(srcdir)/Parser/Pcp/testsuite-parser-pcp-load-multiply.at \
     148        $(srcdir)/Parser/Pcp/testsuite-parser-pcp-multiple-timesteps.at \
     149        $(srcdir)/Parser/Pcp/testsuite-parser-pcp-save.at \
     150        $(srcdir)/Parser/Pdb/testsuite-parser-pdb-capital_letters_element.at \
     151        $(srcdir)/Parser/Pdb/testsuite-parser-pdb-CONECTs_empty_space.at \
     152        $(srcdir)/Parser/Pdb/testsuite-parser-pdb-empty.at \
     153        $(srcdir)/Parser/Pdb/testsuite-parser-pdb-load.at \
     154        $(srcdir)/Parser/Pdb/testsuite-parser-pdb-load-multiply.at \
     155        $(srcdir)/Parser/Pdb/testsuite-parser-pdb-load-various.at \
     156        $(srcdir)/Parser/Pdb/testsuite-parser-pdb-multiple-timesteps.at \
     157        $(srcdir)/Parser/Pdb/testsuite-parser-pdb-save.at \
     158        $(srcdir)/Parser/Pdb/testsuite-parser-pdb-with-conects.at \
     159        $(srcdir)/Parser/Psi3/testsuite-parser-psi3-empty.at \
     160        $(srcdir)/Parser/Psi3/testsuite-parser-psi3-load.at \
     161        $(srcdir)/Parser/Psi3/testsuite-parser-psi3-load-multiply.at \
     162        $(srcdir)/Parser/Psi3/testsuite-parser-psi3-save.at \
     163        $(srcdir)/Parser/SetParameters/Mpqc/testsuite-parser-set-parameters-mpqc.at \
     164        $(srcdir)/Parser/SetParameters/Mpqc/testsuite-parser-set-parameters-mpqc-basis.at \
     165        $(srcdir)/Parser/SetParameters/Mpqc/testsuite-parser-set-parameters-mpqc-maxiterations.at \
     166        $(srcdir)/Parser/SetParameters/Mpqc/testsuite-parser-set-parameters-mpqc-none.at \
     167        $(srcdir)/Parser/SetParameters/Mpqc/testsuite-parser-set-parameters-mpqc-theory.at \
     168        $(srcdir)/Parser/SetParameters/Psi3/testsuite-parser-set-parameters-psi3-reference.at \
     169        $(srcdir)/Parser/SetParameters/Psi3/testsuite-parser-set-parameters-psi3-wavefunction.at \
     170        $(srcdir)/Parser/Tremolo/testsuite-parser-tremolo-empty.at \
     171        $(srcdir)/Parser/Tremolo/testsuite-parser-tremolo-improper.at \
     172        $(srcdir)/Parser/Tremolo/testsuite-parser-tremolo-load.at \
     173        $(srcdir)/Parser/Tremolo/testsuite-parser-tremolo-load-multiply.at \
     174        $(srcdir)/Parser/Tremolo/testsuite-parser-tremolo-save.at \
     175        $(srcdir)/Parser/Tremolo/testsuite-parser-tremolo-save-unique_usedfields.at \
     176        $(srcdir)/Parser/Tremolo-Exttypes/testsuite-parser-tremolo-save-selected-atoms-as-exttypes.at \
     177        $(srcdir)/Parser/Tremolo-Potentials/testsuite-parser-tremolo-potentials-load.at \
     178        $(srcdir)/Parser/Tremolo-Potentials/testsuite-parser-tremolo-potentials-save.at \
     179        $(srcdir)/Parser/Tremolo-SetAtomdata/testsuite-parser-tremolo-resetatomdata.at \
     180        $(srcdir)/Parser/Tremolo-SetAtomdata/testsuite-parser-tremolo-setatomdata.at \
     181        $(srcdir)/Parser/Xyz/testsuite-parser-xyz-empty.at \
     182        $(srcdir)/Parser/Xyz/testsuite-parser-xyz-load.at \
     183        $(srcdir)/Parser/Xyz/testsuite-parser-xyz-load-multiply.at \
     184        $(srcdir)/Parser/Xyz/testsuite-parser-xyz-load-various.at \
     185        $(srcdir)/Parser/Xyz/testsuite-parser-xyz-multiple-timesteps.at \
     186        $(srcdir)/Parser/Xyz/testsuite-parser-xyz-save.at \
     187        $(srcdir)/Potential/testsuite-potential.at \
     188        $(srcdir)/Potential/FitPartialCharges/testsuite-potential-fit-partial-charges.at \
     189        $(srcdir)/Potential/FitPotential/testsuite-potential-fit-potential.at \
     190        $(srcdir)/Potential/SaveParseParticleParameters/testsuite-potential-save-parse-particle-parameters.at \
     191        $(srcdir)/Potential/SaveParsePotentials/testsuite-potential-save-parse-potentials.at \
     192        $(srcdir)/RandomNumbers/testsuite-randomnumbers.at \
     193        $(srcdir)/RandomNumbers/Distribution/testsuite-set-random-number-distribution.at \
     194        $(srcdir)/RandomNumbers/Engine/testsuite-set-random-number-engine.at \
     195        $(srcdir)/Selection/testsuite-selection.at \
     196        $(srcdir)/Selection/Atoms/testsuite-selection-atoms.at \
     197        $(srcdir)/Selection/Atoms/AllAtoms/testsuite-selection-select-all-atoms.at \
     198        $(srcdir)/Selection/Atoms/AllAtoms/testsuite-selection-unselect-all-atoms.at \
     199        $(srcdir)/Selection/Atoms/AllAtomsOfMolecule/testsuite-selection-select-all-atoms-of-molecule.at \
     200        $(srcdir)/Selection/Atoms/AllAtomsOfMolecule/testsuite-selection-unselect-all-atoms-of-molecule.at \
     201        $(srcdir)/Selection/Atoms/AtomByElement/testsuite-selection-select-atoms-by-element.at \
     202        $(srcdir)/Selection/Atoms/AtomByElement/testsuite-selection-unselect-atoms-by-element.at \
     203        $(srcdir)/Selection/Atoms/AtomById/testsuite-selection-select-atom-by-id.at \
     204        $(srcdir)/Selection/Atoms/AtomById/testsuite-selection-select-atom-by-id-multiple.at \
     205        $(srcdir)/Selection/Atoms/AtomById/testsuite-selection-unselect-atom-by-id.at \
     206        $(srcdir)/Selection/Atoms/AtomById/testsuite-selection-unselect-atom-by-id-multiple.at \
     207        $(srcdir)/Selection/Atoms/AtomByOrder/testsuite-selection-select-atom-by-order.at \
     208        $(srcdir)/Selection/Atoms/AtomByOrder/testsuite-selection-unselect-atom-by-order.at \
     209        $(srcdir)/Selection/Atoms/AtomsInsideCuboid/testsuite-selection-select-atoms-inside-cuboid.at \
     210        $(srcdir)/Selection/Atoms/AtomsInsideCuboid/testsuite-selection-select-atoms-inside-cuboid-with-defaults.at \
     211        $(srcdir)/Selection/Atoms/AtomsInsideCuboid/testsuite-selection-unselect-atoms-inside-cuboid.at \
     212        $(srcdir)/Selection/Atoms/AtomsInsideSphere/testsuite-selection-select-atoms-inside-sphere.at \
     213        $(srcdir)/Selection/Atoms/AtomsInsideSphere/testsuite-selection-select-atoms-inside-tiny-sphere.at \
     214        $(srcdir)/Selection/Atoms/AtomsInsideSphere/testsuite-selection-unselect-atoms-inside-sphere.at \
     215        $(srcdir)/Selection/Atoms/AtomsInsideSphere/testsuite-selection-unselect-atoms-inside-tiny-sphere.at \
     216        $(srcdir)/Selection/Atoms/ClearAtoms/testsuite-selection-clear-atoms.at \
     217        $(srcdir)/Selection/Atoms/InvertAtoms/testsuite-selection-invert-atoms.at \
     218        $(srcdir)/Selection/Atoms/PopAtomSelection/testsuite-selection-pop-atom-selection.at \
     219        $(srcdir)/Selection/Atoms/PushAtomSelection/testsuite-selection-push-atom-selection.at \
     220        $(srcdir)/Selection/Molecules/testsuite-selection-molecules.at \
     221        $(srcdir)/Selection/Molecules/AllMolecules/testsuite-selection-select-all-molecules.at \
     222        $(srcdir)/Selection/Molecules/AllMolecules/testsuite-selection-unselect-all-molecules.at \
     223        $(srcdir)/Selection/Molecules/ClearMolecules/testsuite-selection-clear-molecules.at \
     224        $(srcdir)/Selection/Molecules/InvertMolecules/testsuite-selection-invert-molecules.at \
     225        $(srcdir)/Selection/Molecules/MoleculeByFormula/testsuite-selection-select-molecules-by-formula.at \
     226        $(srcdir)/Selection/Molecules/MoleculeByFormula/testsuite-selection-unselect-molecules-by-formula.at \
     227        $(srcdir)/Selection/Molecules/MoleculeById/testsuite-selection-select-molecule-by-id.at \
     228        $(srcdir)/Selection/Molecules/MoleculeById/testsuite-selection-unselect-molecule-by-id.at \
     229        $(srcdir)/Selection/Molecules/MoleculeByName/testsuite-selection-select-molecules-by-name.at \
     230        $(srcdir)/Selection/Molecules/MoleculeByName/testsuite-selection-unselect-molecules-by-name.at \
     231        $(srcdir)/Selection/Molecules/MoleculeByOrder/testsuite-selection-select-molecule-by-order-backward.at \
     232        $(srcdir)/Selection/Molecules/MoleculeByOrder/testsuite-selection-select-molecule-by-order-forward.at \
     233        $(srcdir)/Selection/Molecules/MoleculeByOrder/testsuite-selection-unselect-molecule-by-order-backward.at \
     234        $(srcdir)/Selection/Molecules/MoleculeByOrder/testsuite-selection-unselect-molecule-by-order-forward.at \
     235        $(srcdir)/Selection/Molecules/MoleculeOfAtom/testsuite-selection-select-atoms-molecules.at \
     236        $(srcdir)/Selection/Molecules/MoleculeOfAtom/testsuite-selection-unselect-atoms-molecules.at \
     237        $(srcdir)/Selection/Molecules/PopMoleculeSelection/testsuite-selection-pop-molecule-selection.at \
     238        $(srcdir)/Selection/Molecules/PushMoleculeSelection/testsuite-selection-push-molecule-selection.at \
     239        $(srcdir)/Tesselation/testsuite-tesselation.at \
     240        $(srcdir)/Tesselation/BigConvex/testsuite-tesselation-big-convex-envelope.at \
     241        $(srcdir)/Tesselation/BigNonConvex/testsuite-tesselation-big-non-convex-envelope.at \
     242        $(srcdir)/Tesselation/Convex/testsuite-tesselation-convex-envelope.at \
     243        $(srcdir)/Tesselation/NonConvex/testsuite-tesselation-non-convex-envelope.at \
     244        $(srcdir)/Tesselation/TriangleMatcher/testsuite-tesselation-trianglematcher.at \
     245        $(srcdir)/WorldTime/testsuite-worldtime.at \
     246        $(srcdir)/WorldTime/SetWorldTime/testsuite-worldtime-set-world-time.at \
     247        $(srcdir)/WorldTime/StepWorldTime/testsuite-worldtime-step-world-time.at
    26248
    27249max_jobs = 4
    28250 
    29 check-local: atconfig atlocal $(TESTSUITE)
     251check-local: adjacencymatcher atconfig atlocal molecuilder runpython trianglematcher $(TESTSUITE)
    30252        nrjobs=; \
    31253        for flag in $$MAKEFLAGS; do \
     
    35257                esac; \
    36258        done; \
    37         $(SHELL) '$(TESTSUITE)' $$nrjobs AUTOTEST_PATH='$(abs_top_builddir)/src/JobMarket' $(TESTSUITEFLAGS)
    38 
    39 installcheck-local: atconfig atlocal $(TESTSUITE)
     259        $(SHELL) '$(TESTSUITE)' $$nrjobs AUTOTEST_PATH='$(abs_top_builddir)/src' $(TESTSUITEFLAGS)
     260
     261installcheck-local: adjacencymatcher atconfig atlocal molecuilder runpython trianglematcher $(TESTSUITE)
    40262        nrjobs=; \
    41263        for flag in $$MAKEFLAGS; do \
     
    65287                echo 'm4_define([AT_PACKAGE_STRING],    [@PACKAGE_STRING@])' && \
    66288                echo 'm4_define([AT_PACKAGE_BUGREPORT], [@PACKAGE_BUGREPORT@])'; \
    67         } >'$(srcdir)/package.m4'
     289        } >'package.m4'
  • tests/regression/atlocal.in

    r404d2b r363f28  
    1 abs_top_srcdir='@abs_top_srcdir@'
     1prefix='@prefix@'
     2exec_prefix='@prefix@'
     3topdir='@abs_top_builddir@'
     4bindir='@bindir@'
     5valgrind='@VALGRIND@'
  • tests/regression/testsuite.at

    • Property mode changed from 100755 to 100644
    r404d2b r363f28  
     1#
     2#    MoleCuilder - creates and alters molecular systems
     3#    Copyright (C) 2008-2012 University of Bonn
     4#    Copyright (C) 2013 Frederik Heber
     5#
     6#    This program is free software: you can redistribute it and/or modify
     7#    it under the terms of the GNU General Public License as published by
     8#    the Free Software Foundation, either version 3 of the License, or
     9#    (at your option) any later version.
     10#
     11#    This program is distributed in the hope that it will be useful,
     12#    but WITHOUT ANY WARRANTY; without even the implied warranty of
     13#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
     14#    GNU General Public License for more details.
     15#
     16#    You should have received a copy of the GNU General Public License
     17#    along with this program.  If not, see <http://www.gnu.org/licenses/>.
     18#
    119# Process with autom4te to create an -*- Autotest -*- test suite.
    220#
     21# see regression/... subdirs wherein for each of the cases and each check (enumerated) is a pre and post dir.
     22# In pre initial files are placed, in post results can be found to be checked by diff in this testsuite.
    323
    4 AT_INIT([JobMarket])
    5 AT_TESTED(diff grep egrep fgrep)
     24AT_INIT([Molecular Builder])
     25AT_TESTED(diff grep egrep fgrep awk)
    626
    727# makes functions in CheckCommand.sh available within the tests
     
    1434m4_ifdef([AT_COLOR_TESTS], [AT_COLOR_TESTS])
    1535
    16 # check whether server shutdown works
    17 m4_include([testsuite-server-shutdown.at])
     36m4_include(Options/testsuite-options.at)
    1837
    19 # check whether poolworker may succesfully enroll in pool
    20 m4_include([testsuite-enrollinpool.at])
     38m4_include(WorldTime/testsuite-worldtime.at)
    2139
    22 # check whether adding jobs works
    23 m4_include([testsuite-addingjobs.at])
     40m4_include(Parser/testsuite-parser.at)
    2441
    25 # check whether dead busy poolworker is automatically removed
    26 m4_include([testsuite-checkalive.at])
     42m4_include(Atoms/testsuite-atoms.at)
    2743
    28 # check whether checking state works
    29 m4_include([testsuite-checkstate.at])
     44m4_include(Bond/testsuite-bond.at)
    3045
    31 # check whether getting results works
    32 m4_include([testsuite-getresults.at])
     46m4_include(Selection/testsuite-selection.at)
    3347
    34 # check whether Server/Client construct for automatized calculation is working
    35 m4_include([testsuite-server-worker.at])
     48m4_include(RandomNumbers/testsuite-randomnumbers.at)
    3649
    37 # check whether resubmitting of failed jobs works
    38 m4_include([testsuite-resubmitjobs.at])
     50m4_include(Domain/testsuite-domain.at)
    3951
    40 # check whether complete run works
    41 m4_include([testsuite-completerun.at])
     52m4_include(Graph/testsuite-graph.at)
     53
     54m4_include(Molecules/testsuite-molecules.at)
     55
     56m4_include(Fragmentation/testsuite-fragmentation.at)
     57
     58m4_include(Potential/testsuite-potential.at)
     59
     60m4_include(Tesselation/testsuite-tesselation.at)
     61
     62m4_include(Filling/testsuite-filling.at)
     63
     64m4_include(Analysis/testsuite-analysis.at)
Note: See TracChangeset for help on using the changeset viewer.