#include <iostream>
#include "DGtal/base/Common.h"
#include "DGtal/kernel/SpaceND.h"
#include "DGtal/helpers/StdDefs.h"
#include "DGtal/kernel/domains/HyperRectDomain.h"
#include "DGtal/io/boards/Board2D.h"
int main()
{
typedef MySpace::Point MyPoint;
MyPoint p(13,-5);
MyPoint a(-3,-4);
MyPoint b(10,4);
MyDomain domain(a,b);
trace.
info() <<
"Domain domain="<<domain<<endl;
board << domain;
board.
saveSVG(
"kernel-domain.svg");
MyPoint c(5,1);
if ( domain.isInside(c) )
trace.
info() <<
"C is inside the domain"<<endl;
else
trace.
info() <<
"C is outside the domain"<<endl;
board << c;
board.
saveSVG(
"kernel-domain-point.svg");
MyPoint q;
MyPoint::Coordinate coord = 24;
for(MySpace::Dimension d = 0 ; d < MySpace::dimension; d++)
q[d] = coord;
MyPoint r;
for(MyPoint::Iterator it=r.begin(), itend=r.end() ;
it != itend;
++it)
(*it) = coord;
for( MyDomain::ConstIterator it = domain.begin(), itend = domain.end();
it != itend;
++it)
trace.
info() <<
"Processing point"<< (*it) << endl;
board << domain;
MyDomain::ConstIterator itPrec = domain.begin();
MyDomain::ConstIterator it = itPrec;
MyDomain::Vector shift;
++it;
board << (*itPrec);
for( MyDomain::ConstIterator itend = domain.end();
it != itend;
++it, ++itPrec)
{
shift = (*it) -(*itPrec);
Display2DFactory::draw(board, shift, (*itPrec));
}
board.
saveSVG(
"kernel-domain-it-arrow.svg");
return 0;
}