Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Problem in 4PCS implementation #1551

Open
Chungzuwalla opened this issue Feb 24, 2016 · 3 comments
Open

Problem in 4PCS implementation #1551

Chungzuwalla opened this issue Feb 24, 2016 · 3 comments

Comments

@Chungzuwalla
Copy link

  1. at https://github.com/PointCloudLibrary/pcl/blob/master/registration/include/pcl/registration/ia_fpcs.h#L97
    typedef std::vector <MatchingCandidate> MatchingCandidates;
    Currently an assert is triggered inside Eigen when the vector allocates storage. MatchingCandidate contains an Eigen::Matrix4f member, which must be aligned at a 16-byte boundary. The fix is to use Eigen::aligned_allocator for the vector:
    typedef std::vector <MatchingCandidate, Eigen::aligned_allocator<MatchingCandidate> > MatchingCandidates;
    For details see http://eigen.tuxfamily.org/dox-devel/group__TopicStlContainers.html

  2. at https://github.com/PointCloudLibrary/pcl/blob/master/registration/include/pcl/registration/impl/ia_fpcs.hpp#L181
    `#ifdef _OPENMP

    pragma omp flush (abort)

    endif

    MatchingCandidates candidates (1);`
    Although this is valid, a compiler bug in VC++ 2015 will prevent compilation with OpenMP enabled:
    https://stackoverflow.com/questions/35568653/why-doesnt-this-compile-vc-2015-pragma-omp-flush
    A solution (other than waiting till Microsoft fix their broken compiler) would be to add a semicolon below the #pragma and above the declaration, with a comment indicating its purpose.

@VictorLamoine
Copy link
Contributor

Thanks for the report!
Pull requests are welcome: CONTRIBUTING.md

taketwo added a commit to taketwo/pcl that referenced this issue Feb 24, 2016
@taketwo
Copy link
Member

taketwo commented Feb 24, 2016

I think it's important to include the fix for the first issue in the release, so I made a pull request. Please submit a fix for the second issue as I don't have an opportunity to test it myself.

SergioRAgostinho pushed a commit to SergioRAgostinho/pcl that referenced this issue Aug 19, 2016
@stale
Copy link

stale bot commented May 19, 2020

Marking this as stale due to 30 days of inactivity. It will be closed in 7 days if no further activity occurs.

@stale stale bot added the status: stale label May 19, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants