/**
  * \brief Constructor.
  * \param[in] adapter Visitor holding bearing vector correspondences etc.
  * \param[in] asCentral Solve problem with only one camera?
  */
 MultiNoncentralRelativePoseSacProblem(adapter_t & adapter, bool asCentral = false ) :
     MultiSampleConsensusProblem<model_t> (),
     _adapter(adapter),
     _asCentral(asCentral)
 {
     std::vector<int> numberCorrespondences;
     for(size_t i = 0; i < adapter.getNumberPairs(); i++)
         numberCorrespondences.push_back(adapter.getNumberCorrespondences(i));
     setUniformIndices(numberCorrespondences);
 };
 /**
  * \brief Constructor.
  * \param[in] adapter Visitor holding bearing vector correspondences etc.
  * \param[in] sampleSize The number of samples for each "sub"-hypothesis.
  */
 MultiCentralRelativePoseSacProblem(adapter_t & adapter, int sampleSize ) :
   sac::MultiSampleConsensusProblem<model_t> (),
   _adapter(adapter),
   _sampleSize(sampleSize)
 {
   std::vector<int> numberCorrespondences;
   for(size_t i = 0; i < adapter.getNumberPairs(); i++)
     numberCorrespondences.push_back(adapter.getNumberCorrespondences(i));
   setUniformIndices(numberCorrespondences);
 };
 /**
  * \brief Constructor.
  * \param[in] adapter Visitor holding bearing vector correspondences etc.
  * \param[in] sampleSize Number of correspondences used for generating hypotheses.
  * \param[in] randomSeed Whether to seed the random number generator with
  *            the current time.
  */
 EigensolverSacProblem(adapter_t & adapter, size_t sampleSize,
                       bool randomSeed = true) :
     sac::SampleConsensusProblem<model_t> (randomSeed),
     _adapter(adapter),
     _sampleSize(sampleSize)
 {
   setUniformIndices(adapter.getNumberCorrespondences());
 };
 /**
  * \brief Constructor.
  * \param[in] adapter Visitor holding bearing vectors, world points, etc.
  * \param[in] algorithm The algorithm we want to use.
  * \param[in] randomSeed Whether to seed the random number generator with
  *            the current time.
  */
 AbsolutePoseSacProblem(adapter_t & adapter, algorithm_t algorithm,
     bool randomSeed = true) :
     sac::SampleConsensusProblem<model_t> (randomSeed),
     _adapter(adapter),
     _algorithm(algorithm)
 {
   setUniformIndices(adapter.getNumberCorrespondences());
 };
 /**
  * \brief Constructor.
  * \param[in] adapter Visitor holding bearing vector correspondences etc.
  * \param[in] algorithm The algorithm to use.
  * \param[in] asCentral Solve problem with only one camera?
  */
 NoncentralRelativePoseSacProblem(
     adapter_t & adapter, algorithm_t algorithm, bool asCentral = false ) :
     SampleConsensusProblem<model_t> (),
     _adapter(adapter),
     _algorithm(algorithm),
     _asCentral(asCentral)
 {
   setUniformIndices(adapter.getNumberCorrespondences());
 };
 /**
  * \brief Constructor.
  * \param[in] adapter Visitor holding bearing vector correspondences etc.
  */
 TranslationOnlySacProblem(adapter_t & adapter) :
   SampleConsensusProblem<model_t> (),
   _adapter(adapter)
 {
   setUniformIndices(adapter.getNumberCorrespondences());
 };