-
Notifications
You must be signed in to change notification settings - Fork 1.6k
[Feature] Weights New Package #5737
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
Merged
Merged
Changes from all commits
Commits
Show all changes
60 commits
Select commit
Hold shift + click to select a range
8e11461
initial commit with the basic version of the new Weights package
danston 8429bf4
updated triangulation 2 projection traits to internal traits until th…
danston 2100010
flattening is moved to internal
danston b21ade8
review second round + fixed errors
danston 2e010c2
changed internal projection traits to the tri one
danston 1ac8599
removed internal projection traits and examples changed to projection…
danston 7022e47
added simple authalic weight test
danston eb15457
added analytic, region, and barycentric weight tests
danston 8145388
extended and updated tests for regions and wachspress
danston a74a0df
finished tests for all other weights
danston f8dd213
updated tests
danston 3d11a46
updated docs with edge cases
danston 00f9d9b
added barycentric properties test to analytic weights
danston 91c8a92
more general tangent weights (works both with pos and neg cases) + pr…
danston 527153a
Merge remote-tracking branch 'origin/Kernel_23-add_centroid_2_and_det…
danston 424d0b2
finished projected traits test
danston 001da6c
Merge remote-tracking branch 'origin/master' into Weights-new_package…
danston 5ce7734
Merge remote-tracking branch 'origin/Kernel_23-add_centroid_2_and_det…
danston 815b8e3
better explained coplanarity case
danston f0563a7
improved user manual
danston c4ab20e
better user manual
danston f63e34f
removed all notes about flattening from both user and ref manuals
danston fe3317c
mael's review
danston ea612fa
fixed tools
danston 7f96109
updated tools
danston 3d4c967
added uniform weight fairing to tools + removed duplicate uniform wei…
danston 2638c59
explicit call to weights in tools
danston 01171f9
using different version of the voronoi area in the tools
danston 665e615
fixed call to the area 3
danston e681e3c
using global functions in tools
danston 3570601
moving internal weights from tools to the correct headers
danston 55ea347
making query point type equal to point range value type
danston 20baa77
fixed license
danston c5c9d6c
fixed doxygen warnings for deprecated weights
danston ce382b4
fixed typos
danston 2467aec
updated Weights license
danston ca661e3
added weights concept dependency to Kernel_23
danston ab9a80c
renamed depr weights header
danston a25a583
secure -> clamped
danston 1d5ef23
removed some conversions from double to FT in examples
danston b66b71a
added doxygen comment to Weights.h
danston 9ccbea0
undocumenting utils with tangent and cotangent
danston 649db1f
added missing includes in the docs + convenience header
danston 5126f83
missing projection traits as model of analytic weights
danston 9fe1c94
removed tmp modifs
danston e012dad
added a comment to internal functions
danston 80cd341
better description of the analytic weight traits
danston 686309a
using double numbers in examples
danston ebef1cc
better explained edge cases
danston 22ff1f3
removed todo
danston 350234a
skipping useless headers in the convenience header
danston 454072e
updated changes.md
danston b31174b
Merge remote-tracking branch 'origin/Kernel_23-add_centroid_2_and_det…
danston 59e9cf0
Merge remote-tracking branch 'origin/Kernel_23-add_centroid_2_and_det…
danston 551c314
fixed cmakelists
danston 50157a7
Merge remote-tracking branch 'origin/master' into Weights-new_package…
danston 2bbf87f
make eigen quiet
danston fb9b973
added missing components
danston bb1f492
use correct version of eigen
danston f0c0c90
fix doc errors
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 hidden or 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 hidden or 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 |
|---|---|---|
| @@ -0,0 +1,54 @@ | ||
| // Copyright (c) 2016 GeometryFactory SARL (France). | ||
| // All rights reserved. | ||
| // | ||
| // This file is part of CGAL (www.cgal.org) | ||
| // | ||
| // $URL$ | ||
| // $Id$ | ||
| // SPDX-License-Identifier: LGPL-3.0-or-later OR LicenseRef-Commercial | ||
| // | ||
| // Author(s) : Andreas Fabri | ||
| // | ||
| // Warning: this file is generated, see include/CGAL/licence/README.md | ||
|
|
||
| #ifndef CGAL_LICENSE_WEIGHTS_H | ||
| #define CGAL_LICENSE_WEIGHTS_H | ||
|
|
||
| #include <CGAL/config.h> | ||
| #include <CGAL/license.h> | ||
|
|
||
| #ifdef CGAL_WEIGHTS_COMMERCIAL_LICENSE | ||
|
|
||
| # if CGAL_WEIGHTS_COMMERCIAL_LICENSE < CGAL_RELEASE_DATE | ||
|
|
||
| # if defined(CGAL_LICENSE_WARNING) | ||
|
|
||
| CGAL_pragma_warning("Your commercial license for CGAL does not cover " | ||
| "this release of the Weights package.") | ||
| # endif | ||
|
|
||
| # ifdef CGAL_LICENSE_ERROR | ||
| # error "Your commercial license for CGAL does not cover this release \ | ||
| of the Weights package. \ | ||
| You get this error, as you defined CGAL_LICENSE_ERROR." | ||
| # endif // CGAL_LICENSE_ERROR | ||
|
|
||
| # endif // CGAL_WEIGHTS_COMMERCIAL_LICENSE < CGAL_RELEASE_DATE | ||
|
|
||
| #else // no CGAL_WEIGHTS_COMMERCIAL_LICENSE | ||
|
|
||
| # if defined(CGAL_LICENSE_WARNING) | ||
| CGAL_pragma_warning("\nThe macro CGAL_WEIGHTS_COMMERCIAL_LICENSE is not defined." | ||
| "\nYou use the CGAL Weights package under " | ||
| "the terms of the GPLv3+.") | ||
| # endif // CGAL_LICENSE_WARNING | ||
|
|
||
| # ifdef CGAL_LICENSE_ERROR | ||
| # error "The macro CGAL_WEIGHTS_COMMERCIAL_LICENSE is not defined.\ | ||
| You use the CGAL Weights package under the terms of \ | ||
| the GPLv3+. You get this error, as you defined CGAL_LICENSE_ERROR." | ||
| # endif // CGAL_LICENSE_ERROR | ||
|
|
||
| #endif // no CGAL_WEIGHTS_COMMERCIAL_LICENSE | ||
|
|
||
| #endif // CGAL_LICENSE_WEIGHTS_H |
This file contains hidden or 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 hidden or 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 hidden or 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 |
|---|---|---|
|
|
@@ -10,3 +10,4 @@ Circular_kernel_2 | |
| Circular_kernel_3 | ||
| STL_Extension | ||
| Polyhedron | ||
| Weights | ||
This file contains hidden or 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 |
|---|---|---|
| @@ -0,0 +1,202 @@ | ||
| /*! | ||
| \ingroup PkgWeightsRefConcepts | ||
| \cgalConcept | ||
|
|
||
| A concept that describes the set of requirements of classes used in the computation | ||
| of analytic weights in 2D. | ||
|
|
||
| \cgalHasModel | ||
| - All models of `Kernel` | ||
| - `CGAL::Projection_traits_xy_3<K>` | ||
| - `CGAL::Projection_traits_yz_3<K>` | ||
| - `CGAL::Projection_traits_xz_3<K>` | ||
| */ | ||
| class AnalyticWeightTraits_2 { | ||
|
|
||
| public: | ||
|
|
||
| /// \name Types | ||
| /// @{ | ||
|
|
||
| /*! | ||
| A model of `FieldNumberType`. | ||
| */ | ||
| typedef unspecified_type FT; | ||
|
|
||
| /*! | ||
| `CGAL::Comparison_result` or `Uncertain<CGAL::Comparison_result>`. | ||
| */ | ||
| typedef unspecified_type Comparison_result; | ||
|
|
||
| /*! | ||
| `CGAL::Orientation` or `Uncertain<CGAL::Orientation>`. | ||
| */ | ||
| typedef unspecified_type Orientation; | ||
|
|
||
| /// @} | ||
|
|
||
| /// \name Geometric Objects | ||
| /// @{ | ||
|
|
||
| /*! | ||
| 2D point type. | ||
| */ | ||
| typedef unspecified_type Point_2; | ||
|
|
||
| /*! | ||
| 2D vector type. | ||
| */ | ||
| typedef unspecified_type Vector_2; | ||
|
|
||
| /// @} | ||
|
|
||
| /// \name Constructions | ||
| /// @{ | ||
|
|
||
| /*! | ||
| A construction object that must provide the function operator: | ||
|
|
||
| `FT operator()(const Point_2& p, const Point_2& q, const Point_2& r)` | ||
|
|
||
| that returns the signed area of the triangle defined by the points `p`, `q`, and `r`. | ||
| */ | ||
| typedef unspecified_type Compute_area_2; | ||
|
|
||
| /*! | ||
| A construction object that must provide the function operator: | ||
|
|
||
| `FT operator()(const Point_2& p, const Point_2& q)` | ||
|
|
||
| that returns the squared Euclidean distance between the points `p` and `q`. | ||
| */ | ||
| typedef unspecified_type Compute_squared_distance_2; | ||
|
|
||
| /*! | ||
| A construction object that must provide the function operator: | ||
|
|
||
| `FT operator()(const Vector_2& v)` | ||
|
|
||
| that returns the squared length of the vector `v`. | ||
| */ | ||
| typedef unspecified_type Compute_squared_length_2; | ||
|
|
||
| /*! | ||
| A construction object that must provide the function operator: | ||
|
|
||
| `FT operator()(const Vector_2& v, const Vector_2& w)` | ||
|
|
||
| that returns the scalar product of the vectors `v` and `w`. | ||
| */ | ||
| typedef unspecified_type Compute_scalar_product_2; | ||
|
|
||
| /*! | ||
| A construction object that must provide the function operator: | ||
|
|
||
| `FT operator()(const Vector_2& v, const Vector_2& w)` | ||
|
|
||
| that returns the determinant of the vectors `v` and `w`. | ||
| */ | ||
| typedef unspecified_type Compute_determinant_2; | ||
|
|
||
| /*! | ||
| A construction object that must provide the function operator: | ||
|
|
||
| `%Point_2 operator()(const Point_2& p, const Point_2& q, const Point_2& r)` | ||
|
|
||
| that returns the center of the circle passing through the points `p`, `q`, and `r`. | ||
|
|
||
| \pre The points `p`, `q`, and `r` are not collinear. | ||
| */ | ||
| typedef unspecified_type Construct_circumcenter_2; | ||
|
|
||
| /*! | ||
| A construction object that must provide the function operator: | ||
|
|
||
| `%Vector_2 operator()(const Point_2& p, const Point_2& q)` | ||
|
|
||
| that returns the vector through the points `p` and `q`. | ||
| */ | ||
| typedef unspecified_type Construct_vector_2; | ||
|
|
||
| /*! | ||
| A construction object that must provide the function operator: | ||
|
|
||
| `%Point_2 operator()(const Point_2& p, const Point_2& q)` | ||
|
|
||
| that returns the midpoint between the points `p` and `q`. | ||
| */ | ||
| typedef unspecified_type Construct_midpoint_2; | ||
|
|
||
| /*! | ||
| A construction object that must provide the function operator: | ||
|
|
||
| `%Point_2 operator()(const Point_2& p, const Point_2& q, const Point_2& r)` | ||
|
|
||
| that returns the centroid of the points `p`, `q`, and `r`. | ||
| */ | ||
| typedef unspecified_type Construct_centroid_2; | ||
|
|
||
| /// @} | ||
|
|
||
| /// \name Predicates | ||
| /// @{ | ||
|
|
||
| /*! | ||
| A predicate object that must provide the function operator: | ||
|
|
||
| `bool operator()(const Point_2& p, const Point_2& q)` | ||
|
|
||
| that returns `true` if `p = q` and `false` otherwise. | ||
| */ | ||
| typedef unspecified_type Equal_2; | ||
|
|
||
| /*! | ||
| A predicate object that must provide the function operator: | ||
|
|
||
| `bool operator()(const Point_2& p, const Point_2& q, const Point_2& r)` | ||
|
|
||
| that returns `true` if the points `p`, `q`, and `r` are collinear and `false` otherwise. | ||
| */ | ||
| typedef unspecified_type Collinear_2; | ||
|
|
||
| /*! | ||
| A predicate object that must provide the function operator: | ||
|
|
||
| `bool operator()(const Point_2& p, const Point_2& q)` | ||
|
|
||
| that returns `true` iff the x-coordinate of `p` is smaller than the x-coordinate of `q` or | ||
| if they are the same and the y-coordinate of `p` is smaller than the y-coordinate of `q`. | ||
| */ | ||
| typedef unspecified_type Less_xy_2; | ||
|
|
||
| /*! | ||
| A predicate object that must provide the function operator: | ||
|
|
||
| `Comparison_result operator()(const Point_2& p, const Point_2& q)` | ||
|
|
||
| that compares the %Cartesian x-coordinates of the points `p` and `q`. | ||
| */ | ||
| typedef unspecified_type Compare_x_2; | ||
|
|
||
| /*! | ||
| A predicate object that must provide the function operator: | ||
|
|
||
| `Comparison_result operator()(const Point_2& p, const Point_2& q)` | ||
|
|
||
| that compares the %Cartesian y-coordinates of the points `p` and `q`. | ||
| */ | ||
| typedef unspecified_type Compare_y_2; | ||
|
|
||
| /*! | ||
| A predicate object that must provide the function operator: | ||
|
|
||
| `Orientation operator()(const Point_2& p, const Point_2& q, const Point_2& r)` | ||
|
|
||
| that returns `CGAL::LEFT_TURN` if `r` lies to the left of the oriented line `l` defined by `p` and `q`, | ||
| returns `CGAL::RIGHT_TURN` if `r` lies to the right of `l`, and returns `CGAL::COLLINEAR` if `r` lies on `l`. | ||
| */ | ||
| typedef unspecified_type Orientation_2; | ||
|
|
||
| /// @} | ||
|
|
||
| }; | ||
Oops, something went wrong.
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.
Uh oh!
There was an error while loading. Please reload this page.