Subject: CGAL users discussion list
List archive
Re: [cgal-discuss] How do I get simple arc information when using conic traits?
Chronological Thread
- From: Efi Fogel <>
- To:
- Subject: Re: [cgal-discuss] How do I get simple arc information when using conic traits?
- Date: Sun, 8 Jan 2017 02:35:54 +0200
- Authentication-results: mail2-smtp-roc.national.inria.fr; spf=None ; spf=Pass ; spf=None
- Ironport-phdr: 9a23:OjyRNxeEEAVVQt8WDYff8KlSlGMj4u6mDksu8pMizoh2WeGdxc64YB7h7PlgxGXEQZ/co6odzbGH7+a6AydZscrJ8ChbNscTB1ld0YRetjdjKfDGIHWzFOTtYS0+EZYKf35e1Fb/D3JoHt3jbUbZuHy44G1aMBz+MQ1oOra9QdaK3Izkn9204IDZNgVUmCKmM/Q1NwSztQyXt88MgIIkJLx20QrMunIPeuJYwiRjKluX2hr9/cyt54UwzyMFsP0o84tMUL7xYr8jZb1eFjUvdW4vt+PxshyWYAWOrlUbXWgS2k5FDQnL6x73Wr/+tyL7sqx23yzMbp6+dqw9RTn3t/QjcxTvkipSbzM=
Your observation(s) are correct and points to some deficiencies.
1. Conic_point_2 (or _Conic_x_monotone_arc_2 for that matter) are the types of the curves handled by Arr_conic_traits_2. They do not support convenient member functions that return the type of the underlying conic curve (being either a circle, an ellipse, a parabola, or a hyperbola), and if the underlying conic curve is a circle, for example, they do not support a member function that returns the square of the radius for example. However, it is not hard to extract this information from the coefficients of the conic, r, s, t, u, v, and w. Recall that the conic curve is the zero set of the following polynomial:
p(x,y) = r*x^2 + s*y^2 + t*xy + u*x + v*y + w
p(x,y) = (x-a)^2 + (y-b)^2 - R^2
in other wordsx^2 + y^2 - 2*a*x - 2*b*y + (a^2 + b^2 - R^2) = 0
2. I do not see a reason why CGAL::offset_polygon_2() cannot use Arr_circle_segment_traits_2 instead of Arr_conic_traits_2. (I might be wrong though.) I may try to provide an overload of CGAL::offset_polygon_2() that uses Arr_circle_segment_traits_2 (but it may take some time).
____ _ ____ _
/_____/_) o /__________ __ //
(____ ( ( ( (_/ (_/-(-'_(/
_/
/_____/_) o /__________ __ //
(____ ( ( ( (_/ (_/-(-'_(/
_/
On Thu, Jan 5, 2017 at 11:12 PM, KHartmann <> wrote:
If I am using CGAL::Gps_circle_segment_traits_2<Kernel>,
I can get the arc center points and
the arc orientations for any X_monotone_curve_2 with the code
shown below:
Gen_Polygon_2::Curve_const_iterator curveIter;
for (curveIter = poly.curves_begin();
curveIter != poly.curves_end();
curveIter++)
{
const X_monotone_curve_2& curve = (*curveIter);
if (curve.is_circular())
{
double arc_center_x =
CGAL::to_double( curve.supporting_circle().center().x() );
double arc_center_y =
CGAL::to_double( curve.supporting_circle().center().y() );
bool clockWise =
curve.orientation() == CGAL::CLOCKWISE
}
}
But how would I do the same, if I am using
CGAL::Arr_conic_traits_2<Rat_kernel, Alg_kernel, Nt_traits>?
I don't have "is_circular" or "supporting_circle" available to me
when I am using conic_traits.
I am stuck using conic_traits, since that is what CGAL::offset_polygon_2
uses.
Even though CGAL::offset_polygon_2 always returns line segments and circular
arcs.
--
View this message in context: http://cgal-discuss.949826.n4.nabble.com/How-do-I-get-simple-arc-information-when-using-conic-traits-tp4662448.html
Sent from the cgal-discuss mailing list archive at Nabble.com.
--
You are currently subscribed to cgal-discuss.
To unsubscribe or access the archives, go to
https://sympa.inria.fr/sympa/info/cgal-discuss
- [cgal-discuss] How do I get simple arc information when using conic traits?, KHartmann, 01/05/2017
- Re: [cgal-discuss] How do I get simple arc information when using conic traits?, Efi Fogel, 01/08/2017
- Re: [cgal-discuss] How do I get simple arc information when using conic traits?, Efi Fogel, 01/09/2017
- Re: [cgal-discuss] How do I get simple arc information when using conic traits?, KHartmann, 01/09/2017
- Re: [cgal-discuss] How do I get simple arc information when using conic traits?, Efi Fogel, 01/10/2017
- Re: [cgal-discuss] How do I get simple arc information when using conic traits?, KHartmann, 01/10/2017
- Re: [cgal-discuss] How do I get simple arc information when using conic traits?, Efi Fogel, 01/10/2017
- Re: [cgal-discuss] How do I get simple arc information when using conic traits?, KHartmann, 01/09/2017
- Re: [cgal-discuss] How do I get simple arc information when using conic traits?, Efi Fogel, 01/09/2017
- Re: [cgal-discuss] How do I get simple arc information when using conic traits?, Efi Fogel, 01/08/2017
Archive powered by MHonArc 2.6.18.