This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "MoleCuilder". The branch, findBestMatching_HigherBondDegrees has been created at 2df8f03de678873fd4893bc695c15dfb2baed154 (commit) - Log ----------------------------------------------------------------- commit 2df8f03de678873fd4893bc695c15dfb2baed154 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Sat Jul 12 21:07:44 2014 +0200 recurseMatching() now takes connections into account. - matchSphericalPointDistribution() replaced by getRemainingPoints() as that describes what it does. match...() sounds symmetrical which the function is no longer as connection is associated with former _newpolygon. - SphericalPointDistribution now has internal points and adjacency, initialized by initSelf(). - findBestMatching() and getRemainingPoints() are no longer static functions. - all unit tests are working again, including the .._multiple() that tests for joint points due to bond degree greater than 1. - the huge case switch in SaturatedFragment::saturateAtom() now resides in initSelf(). commit 5cd0c01d3293a635c1da2bd793518ba04738eb37 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Sat Jul 12 18:19:46 2014 +0200 Removed all IsZero() checking and special cases for the triangle idea. commit 9fc27da9dcd012345967223df0baee8879080630 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Sat Jul 12 13:57:54 2014 +0200 Added getConnections() to SphericalPointDistribution. - we use tesselation in order to extract the connection information between nearest neighboring points from the BoundaryLines of the tesselation. The triangles are ideal as they assure that no point lies within a triangle, hence all these points may be safely combined. - functions reside in extra module as with get(). - added extensive unit tests. commit acec70e202f4044f8d42bd6097a7f709d5f11ca9 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Sat Jul 12 13:56:14 2014 +0200 Added new convenience library libMolecuilderTesselation. - we need this for getting the connection information between the nearest neighboring points on the sphere. commit 9625bbfd02bb7b5b8fa07ca95aa7306a244627e0 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jul 10 00:08:37 2014 +0200 Added calculation of center of minimum distance by bisection. - this will give us a unique a definite point independent of the (rotational) position of the point set on the unit sphere. commit 844b94b994c6208cfe9f9856a5e5121d642bb6b0 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Wed Jul 9 23:14:53 2014 +0200 Refactoring SphericalPointDistribution to combine point list and subset of indices. - added struct PolygonWithIndices. commit 4dc743debf9491456934d97ad37a255ca61c484f Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Jul 14 22:05:51 2014 +0200 FIX: Determining angle with respect to oldCenter and not projecting anymore. commit 2a2d8503882c4119a3e4f2966620f69c3e625958 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jul 3 19:17:04 2014 +0200 SphericalPointDistribution is now working with bond degree weights. - L1THRESHOLD in recurseMatching() moved over to class body. - increased verbosity level of ...Matching() functions by one, added note on eventually chosen matching and why. - we assert that bestL2 is not too large. - FIX: calculateErrorOfMatching() did not use absolute value of gap for L1 error. commit 340547df85785010d86e6f18436e01ff8db8af16 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Jun 30 11:35:42 2014 +0200 recurseMatching() now works on IndexTupleList_t. - also rewrote calculatePairwiseDistances() and calculateErrorOfMatching(). commit 846c853264acf8d4799925a3601755226a34aafc Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Sun Jun 29 23:20:49 2014 +0200 Extracted joinPoints() function to make it accessible to tests. - added unit test. - moved some function definitions around and added documentation. commit 1e8c867ef68a86fdbeb4a98c7efe70b3eeae91bb Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Sun Jun 29 20:02:32 2014 +0200 Extended SphericalPointDistribution::Polygon_t to WeightedPolygon_t. - contains additionally the weights from the already present points. - in order to deal sensibly with present bonds of higher degree (>1) that shift neighboring occupied orbitals even further away, we additionally pass on the bond degree. This indicates how many points of the N points have to be accumulated for this on present bond. commit 09ec9b7e0a368ac5cab79be100d8779e70fdfbbe Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Sat Jul 12 13:55:44 2014 +0200 tempcommit: Extracted get() to extra module. commit 3639b9875db838404cee01dfc0b2c5c48284aa74 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Jul 14 22:14:36 2014 +0200 Added case 0 and 1 to SphericalPointDistribution. commit d8167e1b6d304045dacb7222e37b5fcebb87616f Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Jul 14 22:14:26 2014 +0200 Added case 0 and 1 to saturateAtoms(). commit bf8c37e62015e75e80bc8e67b1045956987c5e47 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jun 12 09:23:12 2014 +0200 Using the idea of three points giving a triangle to find rotation axis. - we calculate the center of either triangle and rotate the center of the ideal point distribution to match the one from the given points. - next we have the triangles normals as axis, take the first matching point and rotate align it. - we have to deal with a lot of special cases: What if only zero, one, or two points are given ... - in general we assume that the triangle lies relatively flat on the sphere's surface but what if the origin is in the triangle plane or even the calculated center is at the origin ... commit 3fbdfbe5c8eefa8f98578ee40e314821963b2a71 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jun 5 19:58:13 2014 +0200 Extended SphericalPointDistributionUnitTest to two and three matching points for all functions. commit 847a19cbecb25ff5e9fb700aefb5c17325fb2cd9 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Tue Jun 24 18:39:55 2014 +0200 tempcommit: All scripts in tests/Fragmentation added again. commit 5b8d193a2b3b7a0700f232a00eabc3fa19b16cd7 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jun 5 19:42:39 2014 +0200 Dropped quaternion rotation for simple arbitrary rotation axis and angle. - with newCenter, oldCenter and the cross product we have all we need: a rotation axis and an angle. We don't need to burden ourselves with those stupid, absolutely not working quaternions. - removeMatchingPoints() now works on an array. - Orientation rotation was wrong way round, added check. - TESTFIX: removed QuaternionTest from SphericalPointDistributionTest. commit 9344a9969937b0960b1610c3d5d7df1c2a21de60 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jun 5 19:18:40 2014 +0200 Added "arbitrary" rotation for matchSphericalPointDistributionsTest_2(). commit 3ae3aa39aa73a6a83ec14400c3539d9839b0c5fe Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jun 5 19:17:10 2014 +0200 Adding QuaternionTest for SphericalPointDistributionUnitTest, fixed tests. - just first two components get flipped when first point is at (0,1,0). commit e401aa70a6f25a1138e3493a693bd29a2b3a4ab7 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jun 5 19:16:26 2014 +0200 Implemented rotations via boost::quaternions. commit 900ee80bf6467c1da9ad01b86ea1e7a7041eb131 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Wed Jun 4 13:23:31 2014 +0200 Added more unit test functions up to N=8 to SphericalPointDistributionUnitTest. - marked unit test as XFAIL. commit 27ba2c799724cd9a6121c4e8b2a1d0865ff7d1c7 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Wed Jun 4 13:22:49 2014 +0200 Fixes to SaturatedFragment::saturateFragment(). - properly setting up the number of points and the "old" polygon. - properly filling in the hydrogen atoms at the calculated places. - We have the number of remaining bonds plus the rest. The rest is the valence minus the number of remaining bonds each weighted with its degree. This gives the right number of places to put hydrogens and fill up the valence. - marked again all tests/Fragmentation scripts as XFAIL. commit 2a72eff1a77ee435c7dcc9e2d236de076026990d Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Jun 2 16:51:33 2014 +0200 FIX: SphericalPointDistribution succeeds with unit test. - removed XFAIL from tests/Fragmentation scripts again. commit cd80c552438d2363d47e01ec873c599f8c757d6e Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Fri May 30 15:06:25 2014 +0200 Added Logging to SphericalPointDistribution for debugging. commit 22e6dac35e2644bbd09aab89dee66ffdd76627a0 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Fri May 30 15:31:15 2014 +0200 Moved all code from header of SphericalPointDistribution into cpp module. commit fbb16d7138ca586231e19511978bbc20fb9975aa Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 20:15:49 2014 +0200 SphericalPointDistribution now has full functionality. - we look for a best matching between present points and desired ideal configuration, we rotate for alignment and fill all remaining vacant points with hydrogens. - temporarily removed all tests/Fragmentation tests. commit 31e59fb2b9c500d57e762be5059c1cb7ac11f675 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 20:15:26 2014 +0200 Added unit tests for SphericalPointDistribution. commit 465bc2529bae68c6028e31502ce9d336e3258808 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 13:29:27 2014 +0200 Reimplemented SaturatedFragment::saturateAtom() and added ::setHydrogenReplacement(). - this is now based on an ideal distribution of electrons around an atom via the VSPER model which we match as closely as possible with the still bound neighboring atoms and fill all remaining vacant spots with hydrogens. - SaturatedFragment sets father simply to the _given_ atom. commit 5870b5b1e66a76563dc034aadaaa4d645c9e83be Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 13:29:03 2014 +0200 Added matchSphericalPointDistributions() to SphericalPointDistribution. - so far we do nothing. commit f46c4387ed4849a2b2ae189e31827a153fa65106 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 13:11:39 2014 +0200 Added SphericalPointDistribution for points on spherical surface according to VSEPR. - this is taken from CreateVspeShape.py from Christian Neuen. commit 7414e5cd0fca8a4cfe755a3eb9423ccb6305b9db Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 12:00:26 2014 +0200 Added SaturateFragment()::saturateAtom() replacing all cut bonds at once. - so far, we have just outsourced the loop over each cut bond into this function. commit ecf5333632140eaeb22aace2f2d10ca995c42ccd Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 12:30:49 2014 +0200 FIX: BondedParticleInfo::BondList is now a typedef. - removed the define. commit 65ce6501b46bf096e98a8dc363380b58c7ded4f4 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu May 29 11:55:28 2014 +0200 Refactored SaturatedFragment::saturate() using list of cut bonds. - this is preparatory for replacing AddHydrogenReplacementAtom(). commit 33ea47fd820fb196d78a4545693e1273162c671c Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Aug 26 21:53:59 2013 +0200 SaturatedFragment::AddHydrogenReplacementAtom() uses degree 1 if other is missing. commit e99d4f93951ff55ad8224cfa179c4804b375aeab Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Aug 26 21:49:32 2013 +0200 Removed molecule::AddHydrogenReplacement() and BreadthFirstSearchAdd. - this capability has been transfered to SaturatedFragment, and BFSAdd has not been used for a long, long time. commit 6f7f656a890de97442f4f63e64f6f086cfb6b8d9 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jul 10 19:06:56 2014 +0200 Vector::Is...() functions extended for numeric threshold. - if none given we use LINALG_MYEPSILON(), otherwise given to function. - this allows for rounding-sensible IsEqualTo() checking and more. commit 84ea50df3e76dd78b71cbe859592887c56f81818 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Thu Jul 3 19:13:39 2014 +0200 FIX: Plane's cstor did not check for linear dependence in a numerical stable way. - we check with NormSquared() and we use Projection() instead of Angle() to check whether vectors are linear dependent. commit efeb2665aeeeb24d3497611030d993afc6a686c2 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Fri Jun 13 13:22:14 2014 +0200 FIX: VectorContent::Normalize() did not check for zero factor. commit 8c4fc3cf00fdeddea494c6eb9a3d6c86cb750ea7 Author: Frederik Heber <heber@ins.uni-bonn.de> Date: Mon Jun 23 20:00:48 2014 +0200 FIX: CodePatterns_LIBS was introduced in AM_LDFLAGS and not in LIBS. - this might have caused problems with libtool not correctly noting down this lib as a dependency. ----------------------------------------------------------------------- hooks/post-receive -- MoleCuilder