gr::FunctorSuper4PCS< PointType, PointFilterFunctor, Options > Struct Template Reference
Processing functor for the computation of the Super4PCS algorithm. More...
#include <FunctorSuper4pcs.h>
Collaboration diagram for gr::FunctorSuper4PCS< PointType, PointFilterFunctor, Options >:
Public Types | |
using | BaseCoordinates = typename Traits4pcs< PointType >::Coordinates |
using | OptionType = Options |
using | PairCreationFunctorType = PairCreationFunctor< PointType, Scalar, PointFilterFunctor, OptionType > |
using | PairsVector = std::vector< std::pair< int, int > > |
using | Scalar = typename PointType::Scalar |
using | VectorType = typename PointType::VectorType |
Public Member Functions | |
void | ExtractPairs (Scalar pair_distance, Scalar pair_normals_angle, Scalar pair_distance_epsilon, int base_point1, int base_point2, PairsVector *pairs) const |
Constructs pairs of points in Q, corresponding to a single pair in the in basein P. More... | |
bool | FindCongruentQuadrilaterals (Scalar invariant1, Scalar invariant2, Scalar, Scalar distance_threshold2, const std::vector< std::pair< int, int >> &First_pairs, const std::vector< std::pair< int, int >> &Second_pairs, typename Traits4pcs< PointType >::Set *quadrilaterals) const |
Finds congruent candidates in the set Q, given the invariants and threshold distances. Returns true if a non empty set can be found, false otherwise. More... | |
FunctorSuper4PCS (std::vector< PointType > &sampled_Q_3D_, BaseCoordinates &base_3D_, const OptionType &options) | |
void | Initialize () |
Initializes the data structures and needed values before the match computation. More... | |
Detailed Description
template<typename PointType, typename PointFilterFunctor, typename Options>
struct gr::FunctorSuper4PCS< PointType, PointFilterFunctor, Options >
Processing functor for the computation of the Super4PCS algorithm.
- See also
- Match4pcsBase
- Template Parameters
-
PairFilterFunctor filters pairs of points during the exploration. Must implement PairFilterConcept
Member Typedef Documentation
template<typename PointType , typename PointFilterFunctor , typename Options >
using gr::FunctorSuper4PCS< PointType, PointFilterFunctor, Options >::BaseCoordinates = typename Traits4pcs<PointType>::Coordinates |
template<typename PointType , typename PointFilterFunctor , typename Options >
using gr::FunctorSuper4PCS< PointType, PointFilterFunctor, Options >::OptionType = Options |
template<typename PointType , typename PointFilterFunctor , typename Options >
using gr::FunctorSuper4PCS< PointType, PointFilterFunctor, Options >::PairCreationFunctorType = PairCreationFunctor<PointType, Scalar, PointFilterFunctor, OptionType> |
template<typename PointType , typename PointFilterFunctor , typename Options >
using gr::FunctorSuper4PCS< PointType, PointFilterFunctor, Options >::PairsVector = std::vector< std::pair<int, int> > |
template<typename PointType , typename PointFilterFunctor , typename Options >
using gr::FunctorSuper4PCS< PointType, PointFilterFunctor, Options >::Scalar = typename PointType::Scalar |
template<typename PointType , typename PointFilterFunctor , typename Options >
using gr::FunctorSuper4PCS< PointType, PointFilterFunctor, Options >::VectorType = typename PointType::VectorType |
Constructor & Destructor Documentation
template<typename PointType , typename PointFilterFunctor , typename Options >
|
inline |
Here is the call graph for this function:
Member Function Documentation
template<typename PointType , typename PointFilterFunctor , typename Options >
|
inline |
Constructs pairs of points in Q, corresponding to a single pair in the in basein P.
- Parameters
-
[in] pair_distance The distance between the pairs in P that we have to match in the pairs we select from Q. [in] pair_distance_epsilon Tolerance on the pair distance. We allow candidate pair in Q to have distance of pair_distance+-pair_distance_epsilon. [in] base_point1 The index of the first point in P. [in] base_point2 The index of the second point in P. [out] pairs A set of pairs in Q that match the pair in P with respect to distance and normals, up to the given tolerance.
template<typename PointType , typename PointFilterFunctor , typename Options >
|
inline |
Finds congruent candidates in the set Q, given the invariants and threshold distances. Returns true if a non empty set can be found, false otherwise.
- Parameters
-
invariant1 [in] The first invariant corresponding to the set P_pairs of pairs, previously extracted from Q. invariant2 [in] The second invariant corresponding to the set Q_pairs of pairs, previously extracted from Q. [in] distance_threshold1 The distance for verification. [in] distance_threshold2 The distance for matching middle points due to the invariants (See the paper for e1, e2). [in] First_pairs The first set of pairs found in Q. [in] Second_pairs The second set of pairs found in Q. [out] quadrilaterals The set of congruent quadrilateral. In fact, it's a super set from which we extract the real congruent set.
Here is the call graph for this function:
template<typename PointType , typename PointFilterFunctor , typename Options >
|
inline |
Initializes the data structures and needed values before the match computation.
The documentation for this struct was generated from the following file:
- /home/travis/build/STORM-IRIT/OpenGR/src/gr/algorithms/FunctorSuper4pcs.h