66 trace.beginBlock (
"Example for 2d gridcurves" );
67 string S = examplesPath +
"samples/contourS.fc";
70 const Point lowerBound( -200, -200 );
71 const Point upperBound( 200, 200 );
73 fstream inputStream( S.c_str(), ios::in );
79 std::vector<Point> T( points.begin(), points.end() );
83 auto c_cover = dconv.makeCellCover( T.begin(), T.end(), 1, 1 );
84 const float sx = -0.5;
85 const float sy = -0.5;
86 trace.beginBlock(
"Compute fully subconvex sets" );
87 for (
size_t i = 0; i < T.size(); ++i )
88 for (
size_t j = i+2; j < T.size(); ++j )
92 if ( ! dconv.isSimplexFullDimensional( { T[i], T[j], T[k] } ) )
continue;
93 auto triangle = dconv.makeSimplex( { T[i], T[j], T[k] } );
94 if ( dconv.isFullySubconvex( triangle, c_cover ) )
96 aBoard.
drawLine( sx+(
float)T[i][0], sy+(
float)T[i][1],
97 sx+(
float)T[j][0], sy+(
float)T[j][1] );
98 aBoard.
drawLine( sx+(
float)T[i][0], sy+(
float)T[i][1],
99 sx+(
float)T[k][0], sy+(
float)T[k][1] );
100 aBoard.
drawLine( sx+(
float)T[k][0], sy+(
float)T[k][1],
101 sx+(
float)T[j][0], sy+(
float)T[j][1] );