misc (following Sebastien remarks)

This commit is contained in:
Olivier Devillers 2013-12-16 16:19:29 +01:00
parent 9c4785f884
commit fee948e406
5 changed files with 35 additions and 23 deletions

View File

@ -1,4 +1,4 @@
// Copyright (c) 2013 INRIA Sophia-Antipolis (France). // Copyright (c) 2013 INRIA Sophia Antipolis - Mediterranee (France).
// All rights reserved. // All rights reserved.
// //
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or // This file is part of CGAL (www.cgal.org); you can redistribute it and/or
@ -63,6 +63,12 @@ void pencilIpelet::protected_run(int fn)
int i=get_IpePage()->primarySelection(); int i=get_IpePage()->primarySelection();
if (i<0) {
print_error_message(("No mark or circle selected"));
return;
}
read_one_active_object(get_IpePage()->object(i),CGAL::dispatch_or_drop_output<Point_2,Circle_2>( read_one_active_object(get_IpePage()->object(i),CGAL::dispatch_or_drop_output<Point_2,Circle_2>(
std::back_inserter(pt_list1), std::back_inserter(pt_list1),
std::back_inserter(cir_list1))); std::back_inserter(cir_list1)));
@ -120,7 +126,6 @@ void pencilIpelet::protected_run(int fn)
} //end of switch } //end of switch
std::cout<<circ<<std::endl;
if (circ.squared_radius()>0){ if (circ.squared_radius()>0){
draw_in_ipe(circ); draw_in_ipe(circ);

View File

@ -1,4 +1,4 @@
// Copyright (c) 2013 INRIA Sophia-Antipolis (France). // Copyright (c) 2013 INRIA Sophia Antipolis - Mediterranee, (France).
// All rights reserved. // All rights reserved.
// //
// This file is part of CGAL (www.cgal.org); you can redistribute it and/or // This file is part of CGAL (www.cgal.org); you can redistribute it and/or
@ -77,6 +77,12 @@ void hyperbolicIpelet::protected_run(int fn)
std::list<Circle_2> cir_list,cir_list1; std::list<Circle_2> cir_list,cir_list1;
int i=get_IpePage()->primarySelection(); int i=get_IpePage()->primarySelection();
if (i<0) {
print_error_message(("No mark or circle selected"));
return;
}
read_one_active_object(get_IpePage()->object(i),CGAL::dispatch_or_drop_output<Point_2,Circle_2>( read_one_active_object(get_IpePage()->object(i),CGAL::dispatch_or_drop_output<Point_2,Circle_2>(
std::back_inserter(pt_list1), std::back_inserter(pt_list1),
std::back_inserter(cir_list1))); std::back_inserter(cir_list1)));

View File

@ -17,8 +17,8 @@ function run(model, num)
end end
methods = { methods = {
{ label= "in pencil, orthogonal to one circle" }, { label= "Circle in pencil, orthogonal to one circle" },
{ label= "orthogonal to three circles" }, { label= "Circle orthogonal to three circles" },
{ label="Help" }, { label="Help" },
} }

View File

@ -17,11 +17,11 @@ function run(model, num)
end end
methods = { methods = {
{ label= "line" }, { label= "Line" },
{ label= "segment" }, { label= "Segment" },
{ label= "bisector" }, { label= "Bisector" },
{ label= "circle (center[prim. sel.], point through)" }, { label= "Circle (center[prim. sel.], point through)" },
{ label= "circumcenter" }, { label= "Circumcenter" },
{ label="Help" }, { label="Help" },
} }

View File

@ -66,11 +66,11 @@ as well as with the version 7 (at least up to version 7.10).
These ipelets are a good starting point to design your own ipelet. For more details on how These ipelets are a good starting point to design your own ipelet. For more details on how
to compile an ipelet, please refer to the Ipe manual. to compile an ipelet, please refer to the Ipe manual.
Below is the list of Ipelets provided by the Demo Ipelets Below is the list of ipelets provided by the demo:
\section Ipelets_list List of provided Ipelets \section Ipelets_list List of provided Ipelets
\subsection alpha_shapes_ipelet Alpha shapes \subsection alpha_shapes_ipelet Alpha Shapes
Selection should be a set of points or circles (considered as weighted points). Selection should be a set of points or circles (considered as weighted points).
The different values of alpha where the alpha shape changes are The different values of alpha where the alpha shape changes are
@ -81,21 +81,21 @@ computed and the rank of the chosen alpha is asked in a dialog box.
Selection should be segments, circles, and arcs of circles. Selection should be segments, circles, and arcs of circles.
All objects are broken at intersection points and at x extrema for circles. All objects are broken at intersection points and at x extrema for circles.
\subsection bbox_restriction_ipelet Bounding box restriction \subsection bbox_restriction_ipelet Bounding Box Restriction
Replace the selection by a bounding box of the points in the selection. Replace the selection by a bounding box of the points in the selection.
\subsection circle_pencils_ipelet Pencils of circles \subsection circle_pencils_ipelet Pencils of Circles
Selection must be three circles or points (points are considered as Selection must be three circles or points (points are considered as
zero radius circles). zero radius circles).
<ul> <ul>
<li><b> In pencil, orthogonal to one circle:</b> <li><b> In pencil, orthogonal to one circle:</b>
This option draw the circle orthogonal to the primary This option draws the circle orthogonal to the primary
selection belonging to the pencil defined by the two other circles. selection belonging to the pencil defined by the two other circles.
<li><b> Orthogonal to three circles:</b> <li><b> Orthogonal to three circles:</b>
This option draw the circles orthogonal to the three This option draws the circle orthogonal to the three
selected circles. selected circles.
</ul> </ul>
@ -115,7 +115,8 @@ The power diagram partitions the plane depending of the circle with smaller powe
<li><b> Apollonius :</b> <li><b> Apollonius :</b>
Selection should be points (zero radius circles) and circles. The Apollonius diagram Selection should be points (zero radius circles) and circles. The Apollonius diagram
is computed and clipped to a box a bit larger than the selection. is computed and clipped to a box a bit larger than the selection.
The Apollonius diagram partitions the plane depending of closest circle. The Apollonius diagram partitions the plane depending of closest
circle (also called additively weighted Voronoi diagram).
</ul> </ul>
\subsection generator_ipelet Generators \subsection generator_ipelet Generators
@ -138,7 +139,7 @@ Generate random line segments inside a square bounding the selection.
Generate random circles whose centers are inside a square bounding the selection. Generate random circles whose centers are inside a square bounding the selection.
</ul> </ul>
\subsection hilbert_sort_ipelet Hilbert sort \subsection hilbert_sort_ipelet Hilbert Sort
Sort the selected points with a space filling strategy. Sort the selected points with a space filling strategy.
<ul> <ul>
<li><b> Hilbert sorting curve, median policy:</b> <li><b> Hilbert sorting curve, median policy:</b>
@ -187,7 +188,7 @@ the latter being the primary selection.
Selection should be a simple polygon, the maximal edge length is asked in a Selection should be a simple polygon, the maximal edge length is asked in a
dialog box. A mesh of the polygon is computed and drawn. dialog box. A mesh of the polygon is computed and drawn.
\subsection minkowski_ipelet Minkowski sum \subsection minkowski_ipelet Minkowski Sum
<ul> <ul>
<li><b>Minkowski Sum:</b> <li><b>Minkowski Sum:</b>
Selection should be two simple polygons. Selection should be two simple polygons.
@ -197,7 +198,7 @@ Selection should be a circle and simple polygons.
The Minkowski sum of the polygons with the circle is computed and drawn. The Minkowski sum of the polygons with the circle is computed and drawn.
</ul> </ul>
\subsection multi_delaunay_ipelet k order Delaunay \subsection multi_delaunay_ipelet k Order Delaunay
Selection should be a set of points. Selection should be a set of points.
The order k Voronoi diagram or its dual the order k Delaunay is drawn. The order k Voronoi diagram or its dual the order k Delaunay is drawn.
<ul> <ul>
@ -223,7 +224,7 @@ Farthest neighbor Voronoi diagram.
k is asked in a dialog box. k is asked in a dialog box.
</ul> </ul>
\subsection multi_regular_ipelet k-order regular \subsection multi_regular_ipelet k Order Regular
Selection should be a set of points and circles. Selection should be a set of points and circles.
The order k power diagram or its dual the order k regular triangulation is drawn. The order k power diagram or its dual the order k regular triangulation is drawn.
<ul> <ul>
@ -244,7 +245,7 @@ k is asked in a dialog box.
k is asked in a dialog box. k is asked in a dialog box.
</ul> </ul>
\subsection partition_ipelet Polygon partition \subsection partition_ipelet Polygon Partition
Selection should be simple polygons. Selection should be simple polygons.
The polygons are splitted according different algorithms. The polygons are splitted according different algorithms.
<ul> <ul>
@ -261,7 +262,7 @@ The polygons are splitted according different algorithms.
\subsection pca_ipelet PCA \subsection pca_ipelet PCA
A line segment giving the principal component analysis of the selection is drawn. A line segment giving the principal component analysis of the selection is drawn.
\subsection skeleton_ipelet Skeleton and offset \subsection skeleton_ipelet Skeleton and Offset
Selection should be a simple polygon. Selection should be a simple polygon.
The straight skeleton and associated offsets of the polygon are drawn. The straight skeleton and associated offsets of the polygon are drawn.
<ul> <ul>