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