match4pcsBase.h
Go to the documentation of this file.
40 class Match4pcsBase : public CongruentSetExplorationBase<Traits4pcs<typename MatchBase<_PointType, _TransformVisitor, PairFilteringOptions, CongruentSetExplorationOptions>::PosMutablePoint>, _PointType, _TransformVisitor, _PairFilteringFunctor, PairFilteringOptions> {
44 using PosMutablePoint = typename MatchBase<_PointType, _TransformVisitor, PairFilteringOptions, CongruentSetExplorationOptions>::PosMutablePoint;
45 using MatchBaseType = CongruentSetExplorationBase<Traits4pcs<PosMutablePoint>, _PointType, _TransformVisitor, _PairFilteringFunctor, PairFilteringOptions>;
bool initBase(CongruentBaseType &base) override
Tries to compute an inital base from P.
Definition: match4pcsBase.hpp:255
Match4pcsBase(const OptionsType &options, const Utils::Logger &logger)
Definition: match4pcsBase.hpp:34
bool generateCongruents(CongruentBaseType &base, Set &congruent_quads) override
Find all the congruent set similar to the base in the second 3D model (Q). It could be with a 3 point...
Definition: match4pcsBase.hpp:202
void Initialize() override
Initializes the data structures and needed values before the match computation. This method is called...
Definition: match4pcsBase.hpp:192
bool SelectQuadrilateral(Scalar &invariant1, Scalar &invariant2, int &base1, int &base2, int &base3, int &base4)
Selects a random triangle in the set P (then we add another point to keep the base as planar as possi...
Definition: match4pcsBase.hpp:111
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
void get(int queryId, int nElPerDim, int, typename NeighborhoodType< 3 >::ptr first, typename NeighborhoodType< 3 >::ptr)
Definition: utils.h:279
Definition: logger.h:62
bool TryQuadrilateral(Scalar &invariant1, Scalar &invariant2, int &id1, int &id2, int &id3, int &id4)
Takes quadrilateral as a base, computes robust intersection point (approximate as the lines might not...
Definition: match4pcsBase.hpp:53
virtual bool initBase(CongruentBaseType &base, Scalar &invariant1, Scalar &invariant2)
Definition: match4pcsBase.hpp:267