-
Notifications
You must be signed in to change notification settings - Fork 1.4k
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
New package: Frechet Distance #8284
Open
lrineau
wants to merge
362
commits into
CGAL:master
Choose a base branch
from
anusser:dev
base: master
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
+112,376
−31
Open
Changes from 2 commits
Commits
Show all changes
362 commits
Select commit
Hold shift + click to select a range
7f57547
Add Polyline_traits_3 and add comments where we have to fix things
afabri 45d4dee
Fix compile errors.
348a9cb
Back to 2D
afabri dc78a17
Change from where data are read to get ready for the testsuite; type…
afabri 8a550b8
Deal with examples (ha ha)
afabri dcf639f
Remove stub of Polyline_d package.
d7f4f4d
Make bichromaticFarthestDistance faster and high-dimensional.
a7a23ef
Also use K::dimension everywhere in high_level_predicates.h
9b18db8
Remove it later. only needed to learn how to determine features
afabri 210b447
RealType -> Lambda
afabri 08beeea
cleanup
afabri 673efd5
Minimize traits class; parameterize with Curve
afabri a3662eb
Add doxygen
afabri 9196109
rename traits classes
afabri a4687d4
less #include
afabri fcb4a1c
Add dD (not working yet)
afabri ec56c66
Kernel: Add a BBox class with dimension as parameter
afabri f519646
fixes for clang
afabri 8dc8330
Remove files that were accidentally added
afabri fec3910
Add nested typedefs as mentioned in Issue #8256
afabri 87f9366
Improve documentation
afabri d742cfb
merge master
afabri ca9b25c
rename thumbnail
sloriot e8d87e5
license identifier
afabri 27cccc8
Copyright also for GF
afabri 2a17b4d
Add concept
afabri ae74ef6
Fix SPDX-License-Identifier
afabri 5852607
Rename package, remove default for epsilon
afabri 05b8e19
rename concept
afabri 5b7629f
User Manual, rename tags, add example
afabri c030c3a
Remove .clang-format file
afabri bfc7695
typo in example
afabri 0ddf866
shorten license
sloriot 1d1f5e9
compile all examples
sloriot 79f5d10
fix project name
sloriot 172b124
add missing example
sloriot 4cde28c
TWS
sloriot 513f9fe
cleanup
afabri b32db65
Change package title
afabri c0d7d47
curve -> polyline
afabri e183ddd
mention Epick
afabri a68019f
Fix license file
afabri effc03c
Add to user manual.
a3f2b33
drop 'continuous_'
afabri 9f2ef30
Fix path to data for the DS test (which compiles and runs without ass…
afabri 64d5a6e
Add test for a minimal traits (WIP)
afabri c480984
Add teaser image and credits.
1838916
Another pass over the user manual.
60e7fae
check if Kernel provides the nested type
sloriot 2c0ba99
add minimal converter
sloriot f2c51a8
fix compilation issues detected by g++
sloriot eee97d7
get rid of filtered tag everywhere
sloriot 82c8584
Rename functions
afabri 793b9d7
Rename functions
afabri 5a930c6
try to please msvc
sloriot d2d84df
fix
afabri c5c4fcb
missing renaming
sloriot e33ef39
fix compilation issues
sloriot 7a03762
Fix two typos in the user manual.
6638dec
Fix +=; Add first tests
afabri cf6996b
typo in Epick_d doc
afabri 48d734c
typo in Epick_d doc
afabri 4bc2770
Constructor from a range of pairs of numbers
afabri 8ef1f72
Add missing parameter; (std::min)
afabri f4371f2
Replace function names and address comments of co-authors
afabri a278b1a
cleanup
afabri 12e7466
tws
afabri ebf1b37
replace ...
afabri 28d05e6
Add some words regarding the algorithm to the user manual.
570433d
Protect min/max for VC++
afabri 0c9cb3d
CGAL_assertion ( uses also 'e')
afabri d162bcd
Merge branch 'master' into Frechet-dev
afabri b83bcc4
Merge branch 'master' into Kernel_23-Bbox_d-ign
afabri 2b4dfa0
Merge branch 'Kernel_23-Bbox_d-ign' into Frechet-dev
afabri 160cb3e
Fix header file names
afabri a432d96
Fix header
afabri 0cc387e
Typo in doc
afabri 68ecd6d
WIP for ConstructBbox (also on purpose CamelCase)
afabri 9ade3d2
WIP: after my conversation with myself on github
afabri 61ae325
Fix template parameter
afabri 08389c7
Add include
afabri fe7c37b
Stumbling forward, but does still not compile
afabri 63dd907
Add top down
afabri d2b1ea7
use consistent naming
sloriot 6650de8
WIP: apply the functor
afabri 6d11389
got it working for Epick and #if 0 the block with Epeck as WIP
afabri 7133b28
functor is a construction and not a computation
sloriot 7ab31a8
make it compile
sloriot 316ab90
Clean up
mglisse ab06574
Merge remote-tracking branch 'cgal/master' into Kernel_23-Bbox_d-ign
afabri 33ebf55
Merge remote-tracking branch 'cgal/master' into Frechet-dev
afabri 5bfb293
fix merge conflict
afabri 5138ed7
Fix the Bbox type for dD
afabri 58e269a
Add FT to Cartesian_base_d
afabri d97a059
WIP for dD
afabri a928261
Use Kernel_d_interface; Add temporarily typedf void Point_2/3
afabri e4abda3
Add typedef C2A C2F; Should be unified
afabri a35518d
Use functor
afabri de478da
more functors
afabri 5792bcb
Introduce Curve_base<T,dim>
afabri b03e9a8
remove temporarily added typedefs
afabri aa13a0d
remove temporarily added typedefs
afabri 972b99b
add construct vector from 2 points
sloriot bb02ee2
add converter as template parameter
sloriot f830b5c
Move converters to Curve_base
afabri 44a0be7
CI fixes
afabri c0fa690
cleanup
afabri b506547
Simplify if/else
afabri 73240e0
Add a constexpr
afabri 40491bb
Remove a typename. Does that fix the CI ?
afabri 4c669e6
dependencies
afabri ec543b0
eigen is needed when using NewKernel_d
sloriot eea3f20
Fix the order of the parameters
afabri f13279d
As we changed smaller to larger we have to negate when testing agains…
afabri c440b83
Access points[] only through fct points(int)
afabri d6b7e36
Towards proper traits classes
afabri 3969958
Add documentation of the concept of the traits class
afabri b7cc075
Add Get_exact_kernel.h
afabri 7ef1a76
Document kernel converters
afabri f5ce958
dim -> dimension (CI)
afabri fca7d67
Only link with Eigen in the dD case
afabri 88d50eb
Fix Doxyfile.in
afabri 5b48a3c
Filtered_ -> Approximate_
afabri d65b689
more renaming
afabri 46c0353
fix warnings
sloriot 784ea58
add copy/init from the same type but with the opposite caching strategy
sloriot 48dfdb4
factorize implementation
sloriot 6c9d514
WIP
sloriot fb689fa
still WIP
sloriot 28db6f3
factorize curve
sloriot 95d810f
start following the concept
sloriot 48b204b
compilation errors
sloriot e76b975
make it work with SC<ER>
sloriot 6c3b548
always use Interval for prefix_length as it is used in filters
sloriot 7f8d80a
remove sqrt
sloriot f216e31
doc fixes
sloriot 7f0a121
using functor to iterator over coordinates
sloriot 107ed0f
remove useless abs
sloriot aa009bc
do not use interval for SC<double>
sloriot 9945425
use traits object functions
sloriot f0ef1af
avoid exception
sloriot a13d326
fix EPICK implementation
sloriot e3458be
missing return type
sloriot a173749
test all kernels
sloriot a1cd361
conditional testing
sloriot e1f5a1b
no need to construct points
sloriot c2d7402
add filtering for EPECK too
sloriot b3f420e
add filtering also for Kernel with no filtering
sloriot 5bb5aa9
enable filtering with exact nt with custom traits
sloriot 759fc87
enable filtering for Epick_d
sloriot 0b6b64a
do not change the rounding mode since protector is already created be…
sloriot efc600e
Merge remote-tracking branch 'cgal/master'
sloriot d61a3e3
Merge pull request #8611 from sloriot/NT-sqrt_rounding
sloriot 090154d
fix copy/paste issues
sloriot 9a0dd64
clean up
sloriot 6b66736
Fix include for header checks
afabri b4b3839
Fix dependencies
afabri a5c694a
fix detection of filtering
sloriot c00cfed
revert commit d61a3e302d30a6a2a59f20fbab6481a4d01f7d61
sloriot d2b5e49
Add data for 2D example
afabri e6eee99
Add data for 3D example
afabri 169df3e
Add two curves to dD examples (we get an assertion)
afabri 53b4c54
uint -> int
sloriot 8931788
more similar curves
afabri 344e4d0
more similar curves
afabri 757f9cd
Assertion if two points are equal
afabri dd12609
Merge remote-tracking branch 'cgal/master' into Frechet-dev
afabri b185e16
Add to Changes.md
afabri 7d2b382
Add to Changes.md
afabri bfe15ae
Add accents
afabri 819e3cf
Add dD example to User Manual
afabri cbaf3ff
fix anchor
afabri 20bf574
Make sure that we round up in length_of_diagonl()
afabri e635dec
Add bibtex entry and \cite
afabri 55a3cb5
cleanup
afabri ddbfcd0
Fix for two identical points. Must be checked with André
afabri bc3b8db
cleanup
afabri c8303ae
Prefix bbox types with CGAL::
afabri 7370c94
Revive Frechet_distance_traits.h
afabri 32bef86
Use using in concept
afabri 1a50163
Add classical Alt-Godau Fréchet distance algorithm.
354786b
WIP: High-dimensional test data creation.
01e0ab4
Compare fraction instead of id
afabri 3679240
Deal with argc/argv and cleanup
afabri e279087
untabify
afabri 8ba4e79
clean
afabri 58964ea
fix cmake version
sloriot fd71a1d
remove example not existing
sloriot 894e742
Fix compile errors.
dad0b48
Fix bug in the naive Frechet distance algorithm.
1b1cec4
Clean up Frechet_naive.h
a3071ba
Clean up and rename classical (prev. "naive") Fréchet algorithm code.
00c7054
Create goal directed test curves in 3d and 100d.
21e3a7c
WIP: Add script for query creation and Compute_classical_Frechet_dist…
23bf4ae
Use Epick_d
afabri 67b2c76
Fix trailing whitespace on generated curves.
a0abc11
argv[2]
afabri 10e45a7
Fix point format in curve creation and make it deterministic.
7e8cc90
WIP: Tests for 3 and 100 dimensional data.
bba4215
Remove TODO.
6c16278
Remove trailing whitespace.
3fa7c47
Add functions to class Bbox as they are in Bbox_3
afabri 0ee04ba
Fix in Bbox.h
afabri f044e4e
read_WKT does not return correct value when opened in binary mode
afabri 7a79cd6
WIP: Add example for closest curve search structure.
afabri c396a9a
Add converter to wkt format
afabri a8f8a3e
Fix dilate
afabri 6360f72
Add forcing filtering
afabri 27cf9e7
Fix dimension of FrechetKdTree
afabri a6eaec0
use cite macro
sloriot 79ecd1b
Make Frechet_distance_test work also for 100-dimensional cases.
0311b1c
Add some comments after talking to AF.
23c79d8
Fix for example Spatial_searching_2user_defined_point_and_distance.cpp
afabri e7e80e5
Use variable
afabri 9b8be5e
Add Cartesian_const_iterator to Bbox
afabri fc120de
Add Cartesian_const_iterator to Bbox
afabri bef9494
Missed one this-> :<
afabri a14fad4
Add constructor from Bbox_2/3
afabri f37c588
Add operator+(int) and operator-(other)
afabri e70b88f
Add Compute_squared_distance to traits (todo document in concept, and…
afabri 279a411
WIP: Towards dimension independent FrechetDS
afabri 92aa6c6
WIP before meeting
afabri 2bbb7b2
Implement box in sphere test
afabri 19f8b9c
Address some review points
afabri 201f658
Address some review points
afabri 10be823
Address some review points
afabri be5bfc2
Address some review points
afabri e75f05d
also test double + filter
sloriot 45f9985
add missing operator
sloriot e819ac8
hide force filtering and the traits in NP
sloriot ef6a2b4
Address some review points
afabri 756fe01
Address some review points
afabri 81488c0
possible solution for default traits
sloriot c51fac5
advance the iterator
afabri 3189228
Test Cartesian_const_iterator with Concatenate_iterator
afabri 3699067
Fix construction of end iterator
afabri 3273aed
set bound so that some curves ARE closer
afabri 06e6ffa
whitespace
afabri 85c7348
precision -> error_bound
afabri 315668b
Move header to internal
afabri b03a73e
Remove _ from namespace
afabri 067b6e5
Rename to CGAL::Frechet_distance::Neighbor_search
afabri 1ade912
Document class
afabri 6f86527
rename function
afabri fa8bec9
Adress errors/warnings in testsuite
afabri 8926fab
Deal with empty curves
afabri 7ecd0ad
fix max
afabri 890b631
Adress warnings/errors with VC++
afabri 99c9193
disambiguate =
sloriot 63214f4
remove debug
sloriot File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -745,6 +745,11 @@ static_assert(std::is_same<CGAL::Dimension_tag<3>,Ker3::Dimension>::value); | |
static_assert(std::is_same<CGAL::Dynamic_dimension_tag,Kerd::Dimension>::value); | ||
static_assert(std::is_same<CGAL::Dimension_tag<2>,CGAL::Ambient_dimension<Ker2::Point_d>::type>::value); | ||
static_assert(std::is_same<CGAL::Dimension_tag<3>,CGAL::Ambient_dimension<Ker3::Point_d,Ker3>::type>::value); | ||
|
||
static_assert(Ker2::Has_filtered_predicates_tag::value); | ||
static_assert(Ker3::Has_filtered_predicates_tag::value); | ||
static_assert(Kerd::Has_filtered_predicates_tag::value); | ||
|
||
Comment on lines
+753
to
+757
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. @mglisse please review There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. ok, we can always modify this if we start testing non-filtered kernels. |
||
int main(){ | ||
//Broken with Linear_base_d (output iterator) | ||
//test2<CGAL::Kernel_d_interface<KK> >(); | ||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@mglisse please review
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As I said elsewhere, if that's really all that's needed (there is an example so I assume it compiles and runs, although I am rather surprised), ok.
(I would have mentioned in the comment the name of the package that needs it, but I guess this comment is good enough)