48 #ifndef _OPENGR_ACCELERATORS_BRUTE_FORCE_FUNCTOR_H_ 49 #define _OPENGR_ACCELERATORS_BRUTE_FORCE_FUNCTOR_H_ 51 #include "gr/accelerators/pairExtraction/intersectionNode.h" 65 template <
class _DummyPrimitive,
class _Point,
int _dim,
typename _Scalar>
71 template <
class PrimitiveContainer,
73 class ProcessingFunctor>
77 const PrimitiveContainer & M,
78 const PointContainer & Q,
80 unsigned int minNodeSize,
81 ProcessingFunctor& functor
91 template <
class PrimitiveContainer,
93 class ProcessingFunctor>
96 const PrimitiveContainer & M,
97 const PointContainer & Q,
100 ProcessingFunctor& functor
104 const unsigned int sizeM = M.size();
105 const unsigned int sizeQ = Q.size();
106 for (
unsigned int j = 0; j != sizeQ; ++j){
107 functor.beginPrimitiveCollect(j);
108 for (
unsigned int i = 0; i != sizeM; ++i){
109 if( M[i].intersectPoint(Q[j], epsilon ))
110 functor.process(i,j);
112 functor.endPrimitiveCollect(j);
_Scalar Scalar
Definition: bruteForceFunctor.h:68
Definition: bruteForceFunctor.h:57
Definition: bruteForceFunctor.h:69
CongruentSetExplorationBase< Traits, PointType, TransformVisitor, PairFilteringFunctor, OptExts... >::Scalar ComputeTransformation(const InputRange1 &P, const InputRange2 &Q, Eigen::Ref< typename CongruentSetExplorationBase< Traits, PointType, TransformVisitor, PairFilteringFunctor, OptExts... >::MatrixType > transformation, const Sampler< PointType > &sampler, TransformVisitor &v)
Definition: congruentSetExplorationBase.hpp:61
_Point Point
Definition: bruteForceFunctor.h:67
void process(const PrimitiveContainer &M, const PointContainer &Q, Scalar &epsilon, unsigned int minNodeSize, ProcessingFunctor &functor)
< Process the extracted pairs
Definition: bruteForceFunctor.h:95
Extract pairs of points using brute force approach.
Definition: bruteForceFunctor.h:66