ГИС Конструктор 14.0.1.21 (AstraLinux)
Помогите разобраться с выводом процента выполнения процесса построения матрицы высот.
Создаю матрицу по номенклатурному листу масштаба 1:100 000, например, с такими настройками:
Сообщения о ходе процесса вывожу через "(HWND)ProcessMTW":
В документации примера того, как должна выглядеть эта функция не нашел. Действовал по примеру, как указалив соседней теме .
В итоге, какие-то проценты получаю. Однако, эти данные скачут то в "lParam", то в "wParam". Допускаю, что порядок переменных (WPARAM и LPARAM), на самом деле, должен быть наоборот. Однако, это на вывод никак не влияет.
Еще, должны проходить сообщения о номере этапа построения матрицы. Видимо, они у меня перемешиваются с процентами.
Пример вывода в функцию обратного вызова "ProcessMTW(...)" ниже, под спойлером:
ВОПРОСЫ:
1. Почему скачут значения в "WPARAM" и "LPARAM"?
2. Как правильно должна выглядеть функция обратного вызова для получения процента выполнения процесса построения матрицы высот?
Помогите разобраться с выводом процента выполнения процесса построения матрицы высот.
Создаю матрицу по номенклатурному листу масштаба 1:100 000, например, с такими настройками:
Код |
---|
BUILDMTW buildMtw; memset(&buildMtw, 0, sizeof(buildMtw)); buildMtw.StructSize = sizeof(buildMtw); buildMtw.NotCheckDiskFreeSpace = 1; buildMtw.BeginX = mapBorder.X1; buildMtw.BeginY = mapBorder.Y1; buildMtw.Width = mapBorder.Y2 - mapBorder.Y1; buildMtw.Height = mapBorder.X2 - mapBorder.X1; buildMtw.ElemSizeMeters = 50.0; buildMtw.ElemSizeBytes = 4; buildMtw.Unit = 0; // метры buildMtw.ReliefType = 0; // тип матрицы высот - абсолютные высоты buildMtw.UserType = 0; // тип создаваемой матрицы buildMtw.Scale = 0; // будет заменено на масштаб векторной карты - источника buildMtw.HeightSuper = 1; // при попадании нескольких объектов заносить максимальную высоту buildMtw.FastBuilding = 1; // средневзвешенная интерполяция по 8 направлениям, без формирования локальных экстремумов buildMtw.Method = 0; // метод построения определяется параметром FastBuilding buildMtw.Extremum = 0; // локальные экстремумы не формировать buildMtw.Border = 0; // использовать замкнутый объект для ограничения матрицы buildMtw.LimitMatrixFrame = 2; // габариты матрицы ограничиваются габаритами области расположения объектов с абсолютной высотой buildMtw.NotUse3DMetric = 0; // трехмерная метрика используется buildMtw.SurfaceSquare3DObject = 0; // не строить поверхность по его трехмерной метрике buildMtw.AltitudeMarksNet = 0; // флаг дополнительной обработки высотных точек buildMtw.LimitMatrixByFramesOfSheets = 1; // ограничивать матрицу рамками листов buildMtw.ElemSizeMetersX = 0; mapBuildMtwUn(mapHandle, mtwName.utf16(), NULL, &buildMtw, (HWND)ProcessMTW); |
Сообщения о ходе процесса вывожу через "(HWND)ProcessMTW":
Код |
---|
long MainWidget::ProcessMTW(long hwnd, long code, WPARAM wParam, LPARAM lParam, long typemsg) { QCoreApplication::processEvents(); switch (code) { case 0x0581: qDebug() << "wParam =" << wParam << "lParam =" << lParam; break; case WM_ERROR: qDebug() << "Error"; break; default: break; } return 0; } |
В документации примера того, как должна выглядеть эта функция не нашел. Действовал по примеру, как указали
В итоге, какие-то проценты получаю. Однако, эти данные скачут то в "lParam", то в "wParam". Допускаю, что порядок переменных (WPARAM и LPARAM), на самом деле, должен быть наоборот. Однако, это на вывод никак не влияет.
Еще, должны проходить сообщения о номере этапа построения матрицы. Видимо, они у меня перемешиваются с процентами.
Пример вывода в функцию обратного вызова "ProcessMTW(...)" ниже, под спойлером:
Скрытый текст |
---|
1 wParam = 0 lParam = 0 2 wParam = 0 lParam = 1 3 wParam = 0 lParam = 1 4 wParam = 0 lParam = 1 5 wParam = 0 lParam = 2 6 wParam = 0 lParam = 2 7 wParam = 0 lParam = 3 8 wParam = 0 lParam = 3 9 wParam = 0 lParam = 4 10 wParam = 0 lParam = 4 11 wParam = 0 lParam = 4 12 wParam = 0 lParam = 5 13 wParam = 0 lParam = 5 14 wParam = 0 lParam = 6 15 wParam = 0 lParam = 6 16 wParam = 0 lParam = 7 17 wParam = 0 lParam = 7 18 wParam = 0 lParam = 8 19 wParam = 0 lParam = 8 20 wParam = 0 lParam = 8 21 wParam = 0 lParam = 9 22 wParam = 0 lParam = 9 23 wParam = 0 lParam = 10 24 wParam = 0 lParam = 10 25 wParam = 0 lParam = 11 26 wParam = 0 lParam = 11 27 wParam = 0 lParam = 12 28 wParam = 0 lParam = 12 29 wParam = 0 lParam = 12 30 wParam = 0 lParam = 13 31 wParam = 0 lParam = 13 32 wParam = 0 lParam = 14 33 wParam = 0 lParam = 14 34 wParam = 0 lParam = 15 35 wParam = 0 lParam = 15 36 wParam = 0 lParam = 16 37 wParam = 0 lParam = 16 38 wParam = 0 lParam = 16 39 wParam = 0 lParam = 17 40 wParam = 0 lParam = 17 41 wParam = 0 lParam = 18 42 wParam = 0 lParam = 18 43 wParam = 0 lParam = 19 44 wParam = 0 lParam = 19 45 wParam = 0 lParam = 20 46 wParam = 0 lParam = 20 47 wParam = 0 lParam = 20 48 wParam = 0 lParam = 21 49 wParam = 0 lParam = 21 50 wParam = 0 lParam = 22 51 wParam = 0 lParam = 22 52 wParam = 0 lParam = 23 53 wParam = 0 lParam = 23 54 wParam = 0 lParam = 24 55 wParam = 0 lParam = 24 56 wParam = 0 lParam = 25 57 wParam = 0 lParam = 25 58 wParam = 0 lParam = 3 59 wParam = 0 lParam = 5 60 wParam = 0 lParam = 7 61 wParam = 0 lParam = 8 62 wParam = 0 lParam = 10 63 wParam = 0 lParam = 12 64 wParam = 0 lParam = 14 65 wParam = 0 lParam = 16 66 wParam = 0 lParam = 17 67 wParam = 0 lParam = 19 68 wParam = 0 lParam = 21 69 wParam = 0 lParam = 23 70 wParam = 0 lParam = 25 71 wParam = 0 lParam = 26 72 wParam = 0 lParam = 28 73 wParam = 0 lParam = 30 74 wParam = 0 lParam = 32 75 wParam = 0 lParam = 33 76 wParam = 0 lParam = 35 77 wParam = 0 lParam = 37 78 wParam = 0 lParam = 39 79 wParam = 0 lParam = 41 80 wParam = 0 lParam = 42 81 wParam = 0 lParam = 44 82 wParam = 0 lParam = 46 83 wParam = 0 lParam = 48 84 wParam = 0 lParam = 50 85 wParam = 0 lParam = 51 86 wParam = 0 lParam = 53 87 wParam = 0 lParam = 55 88 wParam = 0 lParam = 57 89 wParam = 0 lParam = 58 90 wParam = 0 lParam = 60 91 wParam = 0 lParam = 62 92 wParam = 0 lParam = 64 93 wParam = 0 lParam = 66 94 wParam = 0 lParam = 67 95 wParam = 0 lParam = 69 96 wParam = 0 lParam = 71 97 wParam = 0 lParam = 73 98 wParam = 0 lParam = 75 99 wParam = 0 lParam = 76 100 wParam = 0 lParam = 78 101 wParam = 0 lParam = 80 102 wParam = 0 lParam = 82 103 wParam = 0 lParam = 83 104 wParam = 0 lParam = 85 105 wParam = 0 lParam = 87 106 wParam = 0 lParam = 89 107 wParam = 0 lParam = 91 108 wParam = 0 lParam = 92 109 wParam = 0 lParam = 94 110 wParam = 0 lParam = 96 111 wParam = 0 lParam = 98 112 wParam = 0 lParam = 99 113 wParam = 0 lParam = 99 114 wParam = 99 lParam = 4 115 wParam = 0 lParam = 25 116 wParam = 0 lParam = 26 117 wParam = 0 lParam = 27 118 wParam = 0 lParam = 28 119 wParam = 0 lParam = 29 120 wParam = 0 lParam = 30 121 wParam = 0 lParam = 31 122 wParam = 0 lParam = 32 123 wParam = 0 lParam = 33 124 wParam = 0 lParam = 34 125 wParam = 0 lParam = 35 126 wParam = 0 lParam = 36 127 wParam = 0 lParam = 37 128 wParam = 0 lParam = 38 129 wParam = 0 lParam = 39 130 wParam = 0 lParam = 40 131 wParam = 0 lParam = 41 132 wParam = 0 lParam = 42 133 wParam = 0 lParam = 43 134 wParam = 0 lParam = 44 135 wParam = 0 lParam = 45 136 wParam = 0 lParam = 46 137 wParam = 0 lParam = 47 138 wParam = 0 lParam = 48 139 wParam = 0 lParam = 49 140 wParam = 0 lParam = 50 141 wParam = 0 lParam = 50 142 wParam = 0 lParam = 0 143 wParam = 0 lParam = 0 144 wParam = 0 lParam = 50 145 wParam = 0 lParam = 50 146 wParam = 0 lParam = 51 147 wParam = 0 lParam = 51 148 wParam = 0 lParam = 52 149 wParam = 0 lParam = 52 150 wParam = 0 lParam = 53 151 wParam = 0 lParam = 53 152 wParam = 0 lParam = 54 153 wParam = 0 lParam = 54 154 wParam = 0 lParam = 54 155 wParam = 0 lParam = 55 156 wParam = 0 lParam = 55 157 wParam = 0 lParam = 56 158 wParam = 0 lParam = 56 159 wParam = 0 lParam = 57 160 wParam = 0 lParam = 57 161 wParam = 0 lParam = 58 162 wParam = 0 lParam = 58 163 wParam = 0 lParam = 58 164 wParam = 0 lParam = 59 165 wParam = 0 lParam = 59 166 wParam = 0 lParam = 60 167 wParam = 0 lParam = 60 168 wParam = 0 lParam = 61 169 wParam = 0 lParam = 61 170 wParam = 0 lParam = 62 171 wParam = 0 lParam = 62 172 wParam = 0 lParam = 62 173 wParam = 0 lParam = 63 174 wParam = 0 lParam = 63 175 wParam = 0 lParam = 64 176 wParam = 0 lParam = 64 177 wParam = 0 lParam = 65 178 wParam = 0 lParam = 65 179 wParam = 0 lParam = 66 180 wParam = 0 lParam = 66 181 wParam = 0 lParam = 66 182 wParam = 0 lParam = 67 183 wParam = 0 lParam = 67 184 wParam = 0 lParam = 68 185 wParam = 0 lParam = 68 186 wParam = 0 lParam = 69 187 wParam = 0 lParam = 69 188 wParam = 0 lParam = 70 189 wParam = 0 lParam = 70 190 wParam = 0 lParam = 70 191 wParam = 0 lParam = 71 192 wParam = 0 lParam = 71 193 wParam = 0 lParam = 72 194 wParam = 0 lParam = 72 195 wParam = 0 lParam = 73 196 wParam = 0 lParam = 73 197 wParam = 0 lParam = 74 198 wParam = 0 lParam = 74 199 wParam = 0 lParam = 75 200 wParam = 0 lParam = 75 201 wParam = 75 lParam = 16 202 wParam = 75 lParam = 0 203 wParam = 76 lParam = 0 204 wParam = 76 lParam = 0 205 wParam = 77 lParam = 0 206 wParam = 77 lParam = 0 207 wParam = 78 lParam = 0 208 wParam = 78 lParam = 0 209 wParam = 79 lParam = 0 210 wParam = 79 lParam = 0 211 wParam = 79 lParam = 0 212 wParam = 80 lParam = 0 213 wParam = 80 lParam = 0 214 wParam = 81 lParam = 0 215 wParam = 81 lParam = 0 216 wParam = 82 lParam = 0 217 wParam = 82 lParam = 0 218 wParam = 83 lParam = 0 219 wParam = 83 lParam = 0 220 wParam = 83 lParam = 0 221 wParam = 84 lParam = 0 222 wParam = 84 lParam = 0 223 wParam = 85 lParam = 0 224 wParam = 85 lParam = 0 225 wParam = 86 lParam = 0 226 wParam = 86 lParam = 0 227 wParam = 87 lParam = 0 228 wParam = 87 lParam = 0 229 wParam = 87 lParam = 0 230 wParam = 88 lParam = 0 231 wParam = 88 lParam = 0 232 wParam = 89 lParam = 0 233 wParam = 89 lParam = 0 234 wParam = 90 lParam = 0 235 wParam = 90 lParam = 0 236 wParam = 91 lParam = 0 237 wParam = 91 lParam = 0 238 wParam = 91 lParam = 0 239 wParam = 92 lParam = 0 240 wParam = 92 lParam = 0 241 wParam = 93 lParam = 0 242 wParam = 93 lParam = 0 243 wParam = 94 lParam = 0 244 wParam = 94 lParam = 0 245 wParam = 95 lParam = 0 246 wParam = 95 lParam = 0 247 wParam = 95 lParam = 0 248 wParam = 96 lParam = 0 249 wParam = 96 lParam = 0 250 wParam = 97 lParam = 0 251 wParam = 97 lParam = 0 252 wParam = 98 lParam = 0 253 wParam = 98 lParam = 0 254 wParam = 99 lParam = 0 255 wParam = 99 lParam = 0 256 wParam = 99 lParam = 0 257 wParam = 99 lParam = 0 258 wParam = 0 lParam = 100 |
ВОПРОСЫ:
1. Почему скачут значения в "WPARAM" и "LPARAM"?
2. Как правильно должна выглядеть функция обратного вызова для получения процента выполнения процесса построения матрицы высот?