DGtal  1.2.0
doc-examples/range.cpp

Example of range on Domain.

DGtal Space
#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"
using namespace std;
using namespace DGtal;
int main()
{
trace.beginBlock ( "Example range" );
typedef SpaceND<3> TSpace;
TSpace::Point a(1, 1, 1);
TSpace::Point b(5, 5, 5);
HyperRectDomain<TSpace> domain(a,b);
std::vector<TSpace::Dimension> v(2); v[0]=2; v[1]=1;
TSpace::Point c(3,1,1);
for( HyperRectDomain<TSpace>::ConstSubRange::ConstReverseIterator
it = domain.subRange(v, c).rbegin(), itend = domain.subRange(v, c).rend();
it != itend;
++it)
trace.info() << "Processing point"<< (*it) << endl;
trace.beginBlock ( "Example range with CPP11 initializer list" );
for( HyperRectDomain<TSpace>::ConstSubRange::ConstReverseIterator
it = domain.subRange({2,1}, c).rbegin(), itend = domain.subRange({2,1}, c).rend();
it != itend;
++it)
trace.info() << "Processing point"<< (*it) << endl;
HyperRectDomain<TSpace> domain2;
domain2=domain;
for( HyperRectDomain<TSpace>::ConstSubRange::ConstReverseIterator
it = domain.subRange({2,1}, c).rbegin(), itend = domain.subRange({2,1}, c).rend();
it != itend;
++it)
trace.info() << "Processing point"<< (*it) << endl;
return 0;
}
// //
void beginBlock(const std::string &keyword="")
std::ostream & info()
double endBlock()
DGtal is the top-level namespace which contains all DGtal functions and types.
Trace trace
Definition: Common.h:154
int main(int argc, char **argv)
MyPointD Point
Definition: testClone2.cpp:383
Domain domain