65int main(
int argc,
char** argv)
67 QApplication application(argc, argv);
69 auto params = SH3::defaultParameters();
70 params(
"polynomial",
"ellipsoid")(
"gridstep",
"1.0");
71 auto implicit_shape = SH3::makeImplicitShape3D ( params );
72 auto digitized_shape = SH3::makeDigitizedImplicitShape3D( implicit_shape, params );
73 auto K = SH3::getKSpace( params );
74 auto binary_image = SH3::makeBinaryImage( digitized_shape, params );
76 auto surfels = SH3::getSurfelRange(
surface);
78 double gridstep = params[
"gridstep"].as<
double>();
88 estimator.
init(gridstep, surfels.begin(), surfels.end());
92 std::vector<Estimator::Quantity> quantities;
93 estimator.eval(surfels.begin(), surfels.end(), std::back_inserter(quantities));
96 Color fillColor = viewer.getFillColor();
98 for (std::size_t i = 0; i < surfels.size(); ++i)
100 const Surfel& s = surfels[i];
101 const Estimator::Quantity& normal = quantities[i];
106 viewer.setFillColor(fillColor);
110 viewer.addLine(origin, origin + 1.5 * n, 0.3);
113 viewer << Viewer3D<>::updateDisplay;