48 #ifndef _SUPER4PCS_ACCELERATORS_BRUTE_FORCE_FUNCTOR_H_ 49 #define _SUPER4PCS_ACCELERATORS_BRUTE_FORCE_FUNCTOR_H_ 51 #include "super4pcs/accelerators/pairExtraction/intersectionNode.h" 56 namespace Accelerators{
57 namespace PairExtraction{
67 template <
class _DummyPrimitive,
class _Po
int,
int _dim,
typename _Scalar>
73 template <
class PrimitiveContainer,
75 class ProcessingFunctor>
79 const PrimitiveContainer & M,
80 const PointContainer & Q,
82 unsigned int minNodeSize,
83 ProcessingFunctor& functor
92 template <
class DummyPrimitive,
class Po
int,
int dim,
typename Scalar>
93 template <
class PrimitiveContainer,
95 class ProcessingFunctor>
98 const PrimitiveContainer & M,
99 const PointContainer & Q,
102 ProcessingFunctor& functor
106 const unsigned int sizeM = M.size();
107 const unsigned int sizeQ = Q.size();
108 for (
unsigned int j = 0; j != sizeQ; ++j){
109 functor.beginPrimitiveCollect(j);
110 for (
unsigned int i = 0; i != sizeM; ++i){
111 if( M[i].intersectPoint(Q[j], epsilon ))
112 functor.process(i,j);
114 functor.endPrimitiveCollect(j);
122 #endif // _BRUTE_FORCE_FUNCTOR_H_ _Point Point
Definition: bruteForceFunctor.h:69
Extract pairs of points using brute force approach.
Definition: bruteForceFunctor.h:68
_Scalar Scalar
Definition: bruteForceFunctor.h:70
Definition: bruteForceFunctor.h:59
void process(const PrimitiveContainer &M, const PointContainer &Q, Scalar &epsilon, unsigned int minNodeSize, ProcessingFunctor &functor)
< Process the extracted pairs
Definition: bruteForceFunctor.h:97