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

Function demeanPointView

pdal/private/MathUtils.cpp:57–77  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

55#pragma warning (disable: 4244)
56
57PointViewPtr demeanPointView(const PointView& view)
58{
59 using namespace Eigen;
60 using namespace Dimension;
61
62 PointIdList ids(view.size());
63 std::iota(ids.begin(), ids.end(), 0);
64 Vector3d centroid = computeCentroid(view, ids);
65 PointViewPtr outView = view.makeNew();
66
67 for (PointId idx = 0; idx < view.size(); idx++)
68 {
69 double x = view.getFieldAs<double>(Id::X, idx) - centroid.x();
70 double y = view.getFieldAs<double>(Id::Y, idx) - centroid.y();
71 double z = view.getFieldAs<double>(Id::Z, idx) - centroid.z();
72 outView->setField(Id::X, idx, x);
73 outView->setField(Id::Y, idx, y);
74 outView->setField(Id::Z, idx, z);
75 }
76 return outView;
77}
78
79PointViewPtr demeanPointView(const PointView& view, double* centroid)
80{

Callers 2

TESTFunction · 0.85
icpMethod · 0.85

Calls 8

computeCentroidFunction · 0.85
sizeMethod · 0.45
beginMethod · 0.45
endMethod · 0.45
xMethod · 0.45
yMethod · 0.45
zMethod · 0.45
setFieldMethod · 0.45

Tested by 1

TESTFunction · 0.68