Subject: CGAL users discussion list
List archive
Re: [cgal-discuss] Convert Ray_2 (Filtered_kernel) to Line_arc_2 (Circular Kernel)
Chronological Thread
- From: Thomas Zangl <>
- To: ,
- Subject: Re: [cgal-discuss] Convert Ray_2 (Filtered_kernel) to Line_arc_2 (Circular Kernel)
- Date: Thu, 14 Jun 2007 04:05:31 +0200
wrote:
>> How to convert a K::Ray_2 to a Circular_k::Line_arc_2?
>
> It cannot work: rays go to infinity, while 'line arcs' have two finite
> (possibly algebraic) endpoints.
You are right and the clipping of the ray makes them finite but, I was
also unable to convert a segment to a Line_Arc_2. I worked-a-round using
the << and >> operators and a tempfile (for debugging).
But this is inefficient and ugly :-)
This is my work-a-round code, maybe you can show my the right way to
cast the Segment into Line_Arc_2:
[...]
typedef CGAL::Filtered_kernel<SC> K;
typedef K::Ray_2 Ray;
typedef K::Line_2 Line;
typedef K::Point_2 Point_base;
typedef K::Segment_2 Segment;
typedef CGAL::Exact_circular_kernel_2 Circular_k;
typedef Circular_k::Circle_2 Circle_2;
typedef Circular_k::Point_2 SimplePoint_2;
typedef Circular_k::Circular_arc_point_2 ArcPoint_2;
typedef Circular_k::Line_arc_2 Line_arc_2;
typedef Line_arc_2 LineArc;
typedef std::vector< Circle_2> ArcContainer;
typedef std::vector< LineArc> LineContainer;
typedef std::vector< ArcPoint_2> PointContainer;
[...]
//---------------------------------------------------------------------
void getIntersectionsSegment(Segment s, PointContainer& intersections,
ArcContainer& ac) {
std::ofstream os("data/data_tmp", std::ios::out);
os << s;
os.close();
std::ifstream iEdges("data/data_tmp",std::ios::in);
SimplePoint_2 p1;
SimplePoint_2 p2;
if (!iEdges) {
std::cout << "Cannot open temp file" << std::endl;
return;
}
iEdges >> p1;
iEdges >> p2;
std::cout << "XY: " << p1 << "/" << p2 << endl;
Circular_k::Line_arc_2
circularSegment(Line_arc_2(Circular_k::Line_2(p1, p2),
Circular_k::Circular_arc_point_2(p1),
Circular_k::Circular_arc_point_2(p2)));
....
}
Thanks! :-)
Thomas
- Convert Ray_2 (Filtered_kernel) to Line_arc_2 (Circular Kernel), Thomas Zangl - Home, 06/06/2007
- Re:[cgal-discuss] Convert Ray_2 (Filtered_kernel) to Line_arc_2 (Circular Kernel), Thomas Zangl - Home, 06/08/2007
- Re: [cgal-discuss] Convert Ray_2 (Filtered_kernel) to Line_arc_2 (Circular Kernel), Laurent Rineau, 06/08/2007
- Re:[cgal-discuss] Convert Ray_2 (Filtered_kernel) to Line_arc_2 (Circular Kernel), Thomas Zangl - Home, 06/10/2007
- Re: [cgal-discuss] Convert Ray_2 (Filtered_kernel) to Line_arc_2 (Circular Kernel), Laurent Rineau, 06/08/2007
- Message not available
- Re: [cgal-discuss] Convert Ray_2 (Filtered_kernel) to Line_arc_2 (Circular Kernel), Thomas Zangl, 06/13/2007
- Re: [cgal-discuss] Convert Ray_2 (Filtered_kernel) to Line_arc_2 (Circular Kernel), Monique . Teillaud, 06/13/2007
- Re:[cgal-discuss] Convert Ray_2 (Filtered_kernel) to Line_arc_2 (Circular Kernel), Thomas Zangl - Home, 06/13/2007
- Re: [cgal-discuss] Convert Ray_2 (Filtered_kernel) to Line_arc_2 (Circular Kernel), Monique . Teillaud, 06/13/2007
- Re: [cgal-discuss] Convert Ray_2 (Filtered_kernel) to Line_arc_2 (Circular Kernel), Thomas Zangl, 06/13/2007
- Re:[cgal-discuss] Convert Ray_2 (Filtered_kernel) to Line_arc_2 (Circular Kernel), Thomas Zangl - Home, 06/08/2007
Archive powered by MHonArc 2.6.16.