MCPcopy Create free account
hub / github.com/PDAL/PDAL / fillmissing

Method fillmissing

plugins/trajectory/filters/SplineFit.cpp:71–160  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

69
70template <int N>
71bool SplineFit<N>::fillmissing(bool linearfit)
72{
73 for (int ii = 0; ii <= num; ++ii)
74 {
75 // Process in order num, 0, 1, ... num-1, so that all interior cases can
76 // be done by interpolation
77 int i = (ii == 0 ? num : ii - 1);
78 if (!missing[i])
79 continue;
80
81 int ia;
82 int ib;
83 int k = 0;
84 if (i == num)
85 {
86 for (int j = num - 1; j >= 0; --j)
87 {
88 if (!missing[j])
89 {
90 if (k == 0)
91 ib = j;
92 else if (k == 1)
93 ia = j;
94 ++k;
95 if (k == 2)
96 break;
97 }
98 }
99 }
100 else if (i == 0)
101 {
102 for (int j = 1; j <= num; ++j)
103 {
104 if (!missing[j])
105 {
106 if (k == 0)
107 ia = j;
108 else if (k == 1)
109 ib = j;
110 ++k;
111 if (k == 2) break;
112 }
113 }
114 }
115 else {
116 for (int j = i - 1; j >= 0; --j)
117 {
118 if (!missing[j] || j == 0)
119 {
120 ia = j;
121 ++k;
122 break;
123 }
124 }
125 for (int j = i + 1; j <= num; ++j)
126 {
127 if (!missing[j] || j == num)
128 {

Callers 1

InitializeTrajectoryMethod · 0.80

Calls 1

dataMethod · 0.45

Tested by

no test coverage detected