137 DigitalSurfaceContainer digitalSurfaceContainer( kspace, digitalSet );
138 CustomDigitalSurface digitalSurface( digitalSurfaceContainer );
143 CustomVisitor visitor( digitalSurface, *digitalSurface.begin() );
144 while ( ! visitor.finished() )
146 gridCurve.
pushBack( visitor.current().first );
153 vector<Z2i::Point> border;
154 unique_copy( pointsRange.begin(), pointsRange.end(), back_inserter( border ) );
160 trace.info() <<
" alpha == 0 " << endl;
161 vector<Z2i::Point> res;
168 Predicate predicate( functor );
172 closedGrahamScanFromAnyPoint( border.begin(), border.end(), back_inserter( res ), predicate );
178 board.
saveSVG(
"AlphaShape0.svg" );
179#ifdef DGTAL_WITH_CAIRO
186 trace.info() <<
" alpha == 0 " << endl;
187 vector<Z2i::Point> res;
193 Predicate predicate( functor );
195 closedGrahamScanFromAnyPoint( border.begin(), border.end(), back_inserter( res ), predicate );
200 board.
saveSVG(
"AlphaShape0bis.svg" );
201#ifdef DGTAL_WITH_CAIRO
209 trace.info() <<
" alpha == -1 " << endl;
210 vector<Z2i::Point> res;
218 Predicate predicate( functor );
220 closedGrahamScanFromAnyPoint( border.begin(), border.end(), back_inserter( res ), predicate );
225 board.
saveSVG(
"AlphaShapeM1.svg" );
226#ifdef DGTAL_WITH_CAIRO
233 trace.info() <<
" alpha == -sqrt(5) " << endl;
234 vector<Z2i::Point> res;
242 Predicate predicate( functor );
244 closedGrahamScanFromAnyPoint( border.begin(), border.end(), back_inserter( res ), predicate );
249 board.
saveSVG(
"AlphaShapeMSqrt5.svg" );
250#ifdef DGTAL_WITH_CAIRO
257 trace.info() <<
" alpha == -5 " << endl;
258 vector<Z2i::Point> res;
266 Predicate predicate( functor );
268 closedGrahamScanFromAnyPoint( border.begin(), border.end(), back_inserter( res ), predicate );
273 board.
saveSVG(
"AlphaShapeM5.svg" );
274#ifdef DGTAL_WITH_CAIRO
282 trace.info() <<
" alpha == 8 " << endl;
283 vector<Z2i::Point> res;
290 Predicate predicate( functor );
293 closedGrahamScanFromAnyPoint( border.begin(), border.end(), back_inserter( res ), predicate );
298 board.
saveSVG(
"AlphaShapeP8.svg" );
299#ifdef DGTAL_WITH_CAIRO
307 trace.info() <<
" alpha == 9 " << endl;
308 vector<Z2i::Point> res;
316 Predicate predicate( functor );
318 closedGrahamScanFromAnyPoint( border.begin(), border.end(), back_inserter( res ), predicate );
323 board.
saveSVG(
"AlphaShapeP9.svg" );
324#ifdef DGTAL_WITH_CAIRO
bool init(const Point &lower, const Point &upper, bool isClosed)
Specifies the upper and lower bounds for the maximal cells in this space.