source: tests/regression/Filling/RegularGrid/testsuite-molecules-fill-regular-grid-with-surface.at@ 0f3042

Last change on this file since 0f3042 was c29c0a, checked in by Frederik Heber <heber@…>, 12 years ago

FIX: triangleintersectionlist suffered numerical instabilities.

  • if the closest point on a surface to a point is at the edge of a triangle, there will be two "closest" triangles. However, numerical rounding may cause one of them to have a slightly different distance. In case of a very sharp angle, we end up with only one negative SKP and a point presumed to be inside that is actually outside, of the other triangle, with positive SKP, would have been found at the same distance.
  • TriangleIntersectionList::FillDistanceList() and ::FindClosestBoundaryPointsToVector() now round distance to six digit precision.
  • TESTFIX: replaced solved_double_sles.data in regression test Filling/ RegularGrid, also now find 367 instead of 366 predicates to be true.
  • Property mode set to 100644
File size: 4.2 KB
Line 
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#
18### fill regular grid with surface
19
20AT_SETUP([Filling - Fill regular grid with surface and no atoms])
21AT_KEYWORDS([filling fill-regular-grid add-empty-boundary])
22
23file=solved_double_sles.data
24AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/double_sles.data $file], 0)
25AT_CHECK([chmod u+w $file], 0)
26# check that specifying radius but selecting no atoms is wrong
27AT_CHECK([../../molecuilder --parse-tremolo-potentials ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/sles.potentials -i $file -B "14.199,0,21.6216,0,0,33.9159" --load ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/water.data --select-molecule-by-order -1 --fill-regular-grid --mesh-size 5 7 11 --mesh-offset "0.5,0.5,0.5" --tesselation-radius 10 --min-distance .5], 5, [stdout], [stderr])
28
29AT_CLEANUP
30
31AT_SETUP([Filling - Fill regular grid with surface])
32AT_KEYWORDS([filling fill-regular-grid add-empty-boundary])
33
34file=solved_double_sles.data
35AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/double_sles.data $file], 0)
36AT_CHECK([chmod u+w $file], 0)
37AT_CHECK([../../molecuilder --parse-tremolo-potentials ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/sles.potentials -i $file --select-all-atoms -B "14.199,0,21.6216,0,0,33.9159" --load ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/water.data --select-molecule-by-order -1 --fill-regular-grid --mesh-size 5 7 11 --mesh-offset "0.5,0.5,0.5" --tesselation-radius 10 --min-distance .5], 0, [stdout], [stderr])
38AT_CHECK([grep "367 out of 385 returned true from predicate" stdout], 0, [ignore], [ignore])
39AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/post/$file], 0, [ignore], [ignore])
40
41AT_CLEANUP
42
43
44AT_SETUP([Filling - Fill regular grid with surface with Undo])
45AT_KEYWORDS([filling fill-regular-grid undo])
46
47file=solved_double_sles.data
48AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/double_sles.data $file], 0)
49AT_CHECK([chmod u+w $file], 0)
50AT_CHECK([../../molecuilder --parse-tremolo-potentials ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/sles.potentials -i $file --select-all-atoms -B "14.199,0,21.6216,0,0,33.9159" --load ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/water.data --select-molecule-by-order -1 --fill-regular-grid --mesh-size 5 7 11 --mesh-offset "0.5,0.5,0.5" --tesselation-radius 10 --min-distance .5 --undo], 0, [stdout], [stderr])
51AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/post/double_sles-undo.data], 0, [ignore], [ignore])
52
53AT_CLEANUP
54
55
56AT_SETUP([Filling - Fill regular grid with surface with Redo])
57AT_KEYWORDS([filling fill-regular-grid redo])
58
59file=solved_double_sles.data
60AT_CHECK([/bin/cp -f ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/double_sles.data $file], 0)
61AT_CHECK([chmod u+w $file], 0)
62AT_CHECK([../../molecuilder --parse-tremolo-potentials ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/sles.potentials -i $file --select-all-atoms -B "14.199,0,21.6216,0,0,33.9159" --load ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/pre/water.data --select-molecule-by-order -1 --fill-regular-grid --mesh-size 5 7 11 --mesh-offset "0.5,0.5,0.5" --tesselation-radius 10 --min-distance .5 --undo --redo], 0, [stdout], [stderr])
63AT_CHECK([diff -I '.*Created by molecuilder.*' $file ${abs_top_srcdir}/tests/regression/Filling/RegularGrid/post/$file], 0, [ignore], [ignore])
64
65AT_CLEANUP
Note: See TracBrowser for help on using the repository browser.