added extra case for kernel dist
authorAnatoly Titov <toluk@omrb.pnpi.spb.ru>
Tue, 12 Dec 2017 10:03:10 +0000 (13:03 +0300)
committerAnatoly Titov <toluk@omrb.pnpi.spb.ru>
Tue, 12 Dec 2017 10:03:10 +0000 (13:03 +0300)
src/spirals.cpp

index 2f4a170118eb2dba6521e931564d743c66fd57d0..80e010cb839c9a6d5decb85f39d900a0ac5cb796 100644 (file)
@@ -250,7 +250,9 @@ Spirals::analyzeFrame(int frnr, const t_trxframe &fr, t_pbc *pbc,
     // шаг спирали
     spiral_dist[frames].resize(circles[frames].size(), 0);
     for (int i = 0; i < circles[frames].size(); i++) {
-        if (i == 0) {
+        if (i == 0 && circles[frames].size() == 1) {
+            spiral_dist[frames][i] = kernel_dist(kernel[frames][circles[frames][i].front()], kernel[frames][circles[frames][i].back()]);
+        } else if (i == 0 && circles[frames].size() > 1) {
             spiral_dist[frames][i] = kernel_dist(kernel[frames][circles[frames][i].front()], kernel[frames][circles[frames][i].back()]) +
                              kernel_dist(kernel[frames][circles[frames][i].back()], kernel[frames][circles[frames][i + 1].front()]) / 2;
         } else if (i != circles[frames].size() - 1) {