src\Mod\Points\Gui\Command.cpp Line 434:
Code: Select all
if (xx < 0.01 && yy < 0.01) {
xi = std::round(xi);
yi = std::round(yi);
long index = long(yi * width_l + xi);
sortedPoints[index] = pnt;
}
pt1: 0,0,0
pt2: 0,0,1
pt1 and pt2 will receive the same index in the structured point cloud. Which effectively means that pt1 is overwritten by pt2.
Also the structured point cloud can have 'nan' vectors which the algorithm should only use temporarily. See the attached file.
Code: Select all
App.ActiveDocument.Test13__Structured_.Points.Points
Code: Select all
[Vector (0.0, 0.0, 2.0), Vector (nan, nan, nan), Vector (1.0, 0.0, 2.0), Vector (nan, nan, nan), Vector (0.5, 0.5, 2.5), Vector (nan, nan, nan), Vector (0.0, 1.0, 2.0), Vector (nan, nan, nan), Vector (1.0, 1.0, 2.0)]
Code: Select all
OS: Windows 8.1 (6.3)
Word size of OS: 64-bit
Word size of FreeCAD: 64-bit
Version: 0.19.22262 (Git)
Build type: Release
Branch: master
Hash: f56825c79f11b75648a7a0dcc8a9f52bb4574e61
Python version: 3.6.8
Qt version: 5.12.1
Coin version: 4.0.0a
OCC version: 7.3.0
Locale: Dutch/Netherlands (nl_NL)