-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Aos 2 approximate unbounded efif #9036
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
base: master
Are you sure you want to change the base?
Conversation
…ximate_2 concept documentation
* approximates the curve. | ||
* \param oi An output iterator for the output containers. | ||
* \param bbox the bounding box. | ||
* \param l2r A Boolean flag that indicates whether the curve direction is |
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.
* \param l2r A Boolean flag that indicates whether the curve direction is | |
* \param l2r A %Boolean flag that indicates whether the curve direction is |
I do not see a |
* `p`'s \f$y\f$-coordinate (if `i == 1`). | ||
* \pre `i` is either 0 or 1. | ||
*/ | ||
CGAL::Approximate_number_type operator()(AosTraits::Point_2 p, int i); |
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.
Do you really want to introduce CGAL::Approximate_number_type
???
@@ -1517,9 +1518,24 @@ class Arr_linear_traits_2 : public Kernel_ { | |||
|
|||
/// \name Functor definitions for the landmarks point-location strategy. | |||
//@{ | |||
typedef double Approximate_number_type; | |||
typedef double Approximate_number_type; | |||
typedef CGAL::Cartesian<Approximate_number_type> Approximate_kernel; |
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.
Is Cartesian
better suited than Simple_cartesian
?
@@ -17,6 +17,8 @@ | |||
* \cgalHasModelsEnd | |||
* | |||
* \sa `AosApproximatePointTraits_2` | |||
* \sa `AosConstructXMonotoneCurveTraits_2` | |||
* \sa `AosXMonotoneTraits_2` | |||
* \sa `draw()` |
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.
This draw()
has no link here
For the approximation business, wouldn't it be reasonable to use the |
`AosApproximateTraits_2` refines `AosApproximatePointTraits_2`.
The latter has:
typedef unspecified_type
<https://www.cs.tau.ac.il/~efif/doc_output12/Manual/classunspecified__type.html>
Approximate_number_type
<https://www.cs.tau.ac.il/~efif/doc_output12/Arrangement_on_surface_2/classAosApproximatePointTraits__2.html#a0e381023f2dd60fd9a7118d9ac8d6c64>
____ _ ____ _
/_____/_) o /__________ __ //
(____ ( ( ( (_/ (_/-(-'_(/
_/
…On Fri, 22 Aug 2025 at 12:22, Andreas Fabri ***@***.***> wrote:
*afabri* left a comment (CGAL/cgal#9036)
<#9036 (comment)>
I do not see a typedef ... Approximate_number_type in the models of the
concept
<https://www.cs.tau.ac.il/~efif/doc_output12/Arrangement_on_surface_2/classAosApproximateTraits__2.html>
—
Reply to this email directly, view it on GitHub
<#9036 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABVBNODLL5KOGEUS6E4HRLL3O3OODAVCNFSM6AAAAACEJIMON2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTEMJTGY4TMNBQGQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
On Fri, 22 Aug 2025 at 12:30, Andreas Fabri ***@***.***> wrote:
***@***.**** commented on this pull request.
------------------------------
In
Arrangement_on_surface_2/doc/Arrangement_on_surface_2/Concepts/AosTraits--ApproximatePoint_2.h
<#9036 (comment)>:
> + * \cgalHasModelsBegin
+ * \cgalHasModels{AosApproximatePointTraits_2::Approximate_2}
+ * \cgalHasModels{AosApproximateTraits_2::Approximate_2}
+ * \cgalHasModelsEnd
+ */
+class ApproximatePoint_2 {
+public:
+ /// \name Operations
+ /// A model of this concept must provide:
+ /// @{
+
+ /*! obtains an approximation of `p`'s \f$x\f$-coordinate (if `i == 0`), or of
+ * `p`'s \f$y\f$-coordinate (if `i == 1`).
+ * \pre `i` is either 0 or 1.
+ */
+ CGAL::Approximate_number_type operator()(AosTraits::Point_2 p, int i);
Do you really want to introduce CGAL::Approximate_number_type???
No, this is a mistake. Should be without the namespace of course.
I fixed it.
… —
Reply to this email directly, view it on GitHub
<#9036 (review)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABVBNOATNLGJWPKWC3452PL3O3PL5AVCNFSM6AAAAACEJIMON2VHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZTCNBTG44TKOJSGQ>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Yes, it makes sense to use it in the implementation.
I think that the following traits classes can benefit from this:
- Arr_circle_segment_traits_2.h (maybe)
- Arr_conic_traits_2.h (maybe)
- Arr_geodesic_arc_on_sphere_traits_2.h (maybe)
- Arr_linear_traits_2.h
- Arr_non_caching_segment_basic_traits_2.h
- Arr_segment_traits_2.h
I'll go ahead and adapt it.
____ _ ____ _
/_____/_) o /__________ __ //
(____ ( ( ( (_/ (_/-(-'_(/
_/
…On Fri, 22 Aug 2025 at 13:20, Andreas Fabri ***@***.***> wrote:
*afabri* left a comment (CGAL/cgal#9036)
<#9036 (comment)>
For the approximation business, wouldn't it be reasonable to use the
CGAL::Cartesian_coverter
<https://doc.cgal.org/latest/Kernel_23/classCGAL_1_1Cartesian__converter.html>
?
—
Reply to this email directly, view it on GitHub
<#9036 (comment)>, or
unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABVBNOBUVIIGYFJ5FQ32W4D3O3VH5AVCNFSM6AAAAACEJIMON2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZTEMJTHA3DKNJYGE>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
|
Summary of Changes
Enhanced the drawing capabilities to draw arrangements induced by unbounded curves. This small feature consists of (i) additional draw() overloads for arrangements that also accepts a bounding box, and (ii) an additional requirement from the geometry traits for an operator that approximates a curve and also accepts a bounding box.
Release Management