Commit Graph

167 Commits

Author SHA1 Message Date
Mael Rouxel-Labbé 8166579e55 Merge branch 'PM-Fix_pmaps_reference_types-GF' into PM-Fix_pmaps_reference_types_master-GF 2021-10-11 19:58:07 +02:00
Mael Rouxel-Labbé 590ddf8015 Various fixes for pmaps:
- Use `value_type` when the returned type is not a reference
- Enforce `reference = value_type` if the returned type is not
  a reference (to avoid `typename PM::reference r = get(m, k)`,
  which will take a ref to a temporary if the `reference`
  typedef is an actualy reference)
- Do not use `put_get_helper` if the property map is not a `lvalue`
  **mutable** property map: the `put()` is `map[k] = v`, which
  is broken if `operator[]` does not return a reference
- The concept `boost::lvalue_property_map_tag` requires `operator[](key)`,
  not a reference in `get(map, key)`. You can have a readable property map
  returning a reference through its `get(map, key)`, but if there is
  no `operator[]`, it's just a `boost::readable_property_map_tag`
- Some const correctness to avoid copying maps with state
  or heavy keys in `get(map, key)` / `put(map, key, value)`
- Base the category of a wrapping pmap on what it offers instead
  of just forwarding the base property map's category
- Tried to do something like mutable lvalue pmap:
  * `value_type& operator[](key&)`
  * `ref get(map, const key&)`
  * `put(map, const key&, const value_type&)`
  and non-mutable lvalue pmap:
  * `const value_type& operator[](const key&)`
  * `ref get(map, const key&)`
  but not everything fits properly...
2021-10-08 15:38:47 +02:00
Dmitry Anisimov 5f0ed6ba7b fixed missing param 2021-07-29 15:26:22 +02:00
Dmitry Anisimov 37dcf522de refactoring the clear function 2021-07-29 13:57:44 +02:00
Dmitry Anisimov 5e616f74e6 fixed leaks in ransac related to callback 2021-07-08 17:30:26 +02:00
Simon Giraudot 8e7ea14f58 Fix conversion warning 2021-04-14 10:57:53 +02:00
Simon Giraudot e87747d082 Fix candidate counting 2021-04-14 09:20:17 +02:00
Simon Giraudot 10f6992b2a Rebase on master 2021-04-07 14:32:31 +02:00
Simon Giraudot 4ec9bd6c9a Optimize location of node 2021-04-07 14:26:19 +02:00
Simon Giraudot 4c0018791c Fix bbox, width and depth computations in Octree wrapper 2021-04-07 14:13:29 +02:00
Simon Giraudot 1794620ab9 Move index access property map to property map package 2021-04-01 09:43:14 +02:00
Simon Giraudot 616cd5a549 Apply corrections from review 2021-04-01 08:55:51 +02:00
Simon Giraudot 91de37ec3a Fix warning: std::pow(float, int) returns double instead of float in recent C++ 2021-03-23 11:25:53 +01:00
Simon Giraudot 987b177833 Fix conversion warning 2021-03-18 08:36:34 +01:00
Simon Giraudot 9fe8708fc2 Fix bug that created empty octrees 2021-03-15 10:18:55 +01:00
Simon Giraudot a5f139f9df Remove unused variables 2021-03-11 09:34:33 +01:00
Simon Giraudot 46b9452ef4 Rebase on master 2021-03-04 13:48:11 +01:00
Simon Giraudot 0cf9990bf0 Fix conversion warning in RANSAC 2021-02-04 08:33:54 +01:00
Simon Giraudot a19836bfb6 Fix RANSAC's use of outdated Octree API 2021-01-20 11:20:01 +01:00
Simon Giraudot 1dcf876679 Remove TODOs 2021-01-19 14:07:13 +01:00
Simon Giraudot ae8ec55eac Merge remote-tracking branch 'jackson/gsoc2020-Octree-campolattaro' into gsoc2020-Octree-campolattaro 2021-01-19 09:54:58 +01:00
Laurent Rineau 47c4fc8aa2 Merge pull request #5279 from sgiraudot/RANSAC-Fix_ptrdiff_overflow-GF
[RANSAC] Fix ptrdiff overflow
2020-12-16 17:49:07 +01:00
Laurent Rineau fe34a5aa04 Merge pull request #5279 from sgiraudot/RANSAC-Fix_ptrdiff_overflow-GF
[RANSAC] Fix ptrdiff overflow
2020-12-16 17:47:45 +01:00
Simon Giraudot a7b2ed13f4 Fix conversion warning 2020-12-15 15:44:11 +01:00
Laurent Rineau 3301a47c44 Merge pull request #5255 from sgiraudot/Shape_detection-Fix_auto_param_detection-GF
[RANSAC] Fix detection of automatic parameter selection
2020-12-15 09:07:44 +01:00
Laurent Rineau a0e1b15da3 Merge branch '5.1.x-branch' into 5.2.x-branch 2020-12-15 09:07:21 +01:00
Simon Giraudot 360040dfd6 Fix ptrdiff_t overflow 2020-12-14 15:18:56 +01:00
Simon Giraudot 8c7d012297 Fix detection of automatic parameter selection + early exit if no shape can be detected 2020-12-08 15:35:22 +01:00
Simon Giraudot b2573a7b38 Fix Windows min/max garbage 2020-12-03 09:34:31 +01:00
Simon Giraudot 4a3ad83f21 Small optimization: pick several candidates at each loop 2020-12-01 14:28:00 +01:00
Simon Giraudot d2d766a38e Fix stop probability to take into account different shapes 2020-12-01 14:28:00 +01:00
Simon Giraudot f30b1e5c06 Update RANSAC with octree changes 2020-10-27 14:06:12 +01:00
Jackson Campolattaro 943183490d Replace hardcoded bounding box with a method for determining the actual bounds of the tree 2020-10-19 16:20:45 -04:00
Simon Giraudot c717fdaab6 Fix index access in RANSAC octrees 2020-09-17 14:51:04 +02:00
Simon Giraudot fb86a45d47 Adapt max level to old version 2020-09-17 14:19:04 +02:00
Simon Giraudot 64693edffa Fix RANSAC Octree wrapper: now Octrees are exactly the same as with old version 2020-09-17 11:45:34 +02:00
Jackson Campolattaro f1144724dd Rename Direct_octree to RANSAC_octree 2020-08-17 15:01:55 -04:00
Jackson Campolattaro 9e1505ad8a Eliminate Indexed_octree 2020-08-17 14:59:56 -04:00
Jackson Campolattaro 3252f82498 Update function invocations 2020-08-14 14:06:02 -04:00
Jackson Campolattaro ee2a93e8e1 Update refine method of Direct octree to match indexed 2020-08-10 12:39:19 -04:00
Jackson Campolattaro 939ba23f39 Add brackets to do-while loop for clarity 2020-08-08 14:14:06 -04:00
Jackson Campolattaro 87af9e7951 Add brackets to keep_searching check for clarity 2020-08-08 13:20:42 -04:00
Jackson Campolattaro 4c3c6c5140 Force bbox value to make sure it's not causing issues 2020-08-08 13:01:27 -04:00
Jackson Campolattaro e8b4d56aad Remove printouts from Efficient_RANSAC.h 2020-08-07 18:56:21 -04:00
Jackson Campolattaro fa61c44d73 Return to independently defined Direct octree 2020-08-07 18:52:48 -04:00
Jackson Campolattaro dd9878a20d Add reminder to replace fixed side length map size 2020-08-07 18:41:41 -04:00
Jackson Campolattaro c53790776c Give indexed octree consistent api with direct 2020-08-07 18:26:15 -04:00
Jackson Campolattaro 49baf4ce36 Mark location of issue 2020-08-07 17:17:22 -04:00
Jackson Campolattaro 7b7a4e2b6a Print out first input iterator value at multiple points in the code 2020-08-07 16:37:19 -04:00
Jackson Campolattaro 275feb0d3f Refactor check for enough samples 2020-08-07 11:03:23 -04:00