36 #include "DGtal/topology/Object.h"
37 #include "DGtal/helpers/StdDefs.h"
42 using namespace DGtal;
61 template <
typename Object,
typename Map>
69 typedef typename DigitalSet::Domain
Domain;
70 typedef typename Domain::ConstIterator DomainConstIterator;
72 Point p1 = Point::diagonal( -1 );
73 Point p2 = Point::diagonal( 1 );
74 Point c = Point::diagonal( 0 );
75 Domain domain( p1, p2 );
76 DigitalSet shapeSet( domain );
77 Object shape( dt, shapeSet );
79 for ( DomainConstIterator it = domain.begin(); it != domain.end(); ++it )
82 &&
"[generateSimplicityTable] number of configurations is too high." );
83 unsigned int nbCfg = 1 << k;
84 for (
unsigned int cfg = 0; cfg < nbCfg; ++cfg )
86 if ( ( cfg % 1000 ) == 0 )
90 shape.pointSet().clear();
91 shape.pointSet().insert( c );
92 unsigned int mask = 1;
93 for ( DomainConstIterator it = domain.begin(); it != domain.end(); ++it )
97 if ( cfg & mask ) shape.pointSet().insert( *it );
101 bool simple = shape.isSimple( c );
108 int main(
int argc,
char** argv )
110 typedef std::bitset<67108864> ConfigMap;
115 ConfigMap* table26_6 =
new ConfigMap;
116 generateSimplicityTable< Object26_6 >( dt26_6, *table26_6 );
119 ofstream file26_6(
"simplicity_table26_6.txt" );
120 file26_6 << *table26_6;