Skip to content

Commit

Permalink
Rename lwcircle_center to lw_arc_center to match other lwalgorithm si…
Browse files Browse the repository at this point in the history
…gnatures

git-svn-id: http://svn.osgeo.org/postgis/trunk@10357 b70326c6-7e19-0410-871a-916f4a2858ee
  • Loading branch information
pramsey committed Oct 1, 2012
1 parent e92cf60 commit b723ca9
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 14 deletions.
2 changes: 1 addition & 1 deletion liblwgeom/g_box.c
Original file line number Diff line number Diff line change
Expand Up @@ -330,7 +330,7 @@ int lwcircle_calculate_gbox_cartesian_2d(const POINT2D *A1, const POINT2D *A2, c

LWDEBUG(2, "lwcircle_calculate_gbox_cartesian_2d called.");

radius_A = lwcircle_center(A1, A2, A3, &C);
radius_A = lw_arc_center(A1, A2, A3, &C);

/* Negative radius signals straight line, p1/p2/p3 are colinear */
if (radius_A < 0.0)
Expand Down
2 changes: 1 addition & 1 deletion liblwgeom/liblwgeom_internal.h
Original file line number Diff line number Diff line change
Expand Up @@ -353,7 +353,7 @@ int lwtin_is_closed(const LWTIN *tin);
*/
int lw_segment_side(const POINT2D *p1, const POINT2D *p2, const POINT2D *q);
int lwcircle_calculate_gbox_cartesian_2d(const POINT2D *A1, const POINT2D *A2, const POINT2D *A3, GBOX *gbox);
double lwcircle_center(const POINT2D *p1, const POINT2D *p2, const POINT2D *p3, POINT2D *result);
double lw_arc_center(const POINT2D *p1, const POINT2D *p2, const POINT2D *p3, POINT2D *result);
int lw_pt_in_seg(const POINT2D *P, const POINT2D *A1, const POINT2D *A2);
int lw_pt_in_arc(const POINT2D *P, const POINT2D *A1, const POINT2D *A2, const POINT2D *A3);
int lw_arc_is_pt(const POINT2D *A1, const POINT2D *A2, const POINT2D *A3);
Expand Down
10 changes: 5 additions & 5 deletions liblwgeom/lwalgorithm.c
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ lw_arc_length(const POINT2D *A1, const POINT2D *A2, const POINT2D *A3)
if ( lw_arc_is_pt(A1, A2, A3) )
return 0.0;

radius_A = lwcircle_center(A1, A2, A3, &C);
radius_A = lw_arc_center(A1, A2, A3, &C);

/* Co-linear! Return linear distance! */
if ( radius_A < 0 )
Expand Down Expand Up @@ -155,7 +155,7 @@ double lw_arc_side(const POINT2D *A1, const POINT2D *A2, const POINT2D *A3, cons
double d;

side_Q = lw_segment_side(A1, A3, Q);
radius_A = lwcircle_center(A1, A2, A3, &C);
radius_A = lw_arc_center(A1, A2, A3, &C);
side_A2 = lw_segment_side(A1, A3, A2);

/* Linear case */
Expand All @@ -180,15 +180,15 @@ double lw_arc_side(const POINT2D *A1, const POINT2D *A2, const POINT2D *A3, cons
* point is coincident with either end point, they are taken as colinear.
*/
double
lwcircle_center(const POINT2D *p1, const POINT2D *p2, const POINT2D *p3, POINT2D *result)
lw_arc_center(const POINT2D *p1, const POINT2D *p2, const POINT2D *p3, POINT2D *result)
{
POINT2D c;
double cx, cy, cr;
double temp, bc, cd, det;

c.x = c.y = 0.0;

LWDEBUGF(2, "lwcircle_center called (%.16f,%.16f), (%.16f,%.16f), (%.16f,%.16f).", p1->x, p1->y, p2->x, p2->y, p3->x, p3->y);
LWDEBUGF(2, "lw_arc_center called (%.16f,%.16f), (%.16f,%.16f), (%.16f,%.16f).", p1->x, p1->y, p2->x, p2->y, p3->x, p3->y);

/* Closed circle */
if (fabs(p1->x - p3->x) < EPSILON_SQLMM &&
Expand Down Expand Up @@ -221,7 +221,7 @@ lwcircle_center(const POINT2D *p1, const POINT2D *p2, const POINT2D *p3, POINT2D
*result = c;
cr = sqrt((cx-p1->x)*(cx-p1->x)+(cy-p1->y)*(cy-p1->y));

LWDEBUGF(2, "lwcircle_center center is (%.16f,%.16f)", result->x, result->y);
LWDEBUGF(2, "lw_arc_center center is (%.16f,%.16f)", result->x, result->y);

return cr;
}
Expand Down
9 changes: 6 additions & 3 deletions liblwgeom/lwsegmentize.c
Original file line number Diff line number Diff line change
Expand Up @@ -100,6 +100,9 @@ static POINTARRAY *
lwcircle_segmentize(POINT4D *p1, POINT4D *p2, POINT4D *p3, uint32_t perQuad)
{
POINT2D center;
POINT2D *t1 = (POINT2D*)p1;
POINT2D *t2 = (POINT2D*)p2;
POINT2D *t3 = (POINT2D*)p3;
POINT4D pt;
int p2_side = 0;
int clockwise = LW_TRUE;
Expand All @@ -112,8 +115,8 @@ lwcircle_segmentize(POINT4D *p1, POINT4D *p2, POINT4D *p3, uint32_t perQuad)

LWDEBUG(2, "lwcircle_calculate_gbox called.");

radius = lwcircle_center((POINT2D*)p1, (POINT2D*)p2, (POINT2D*)p3, &center);
p2_side = lw_segment_side((POINT2D*)p1, (POINT2D*)p3, (POINT2D*)p2);
radius = lw_arc_center(t1, t2, t3, &center);
p2_side = lw_segment_side(t1, t3, t2);

/* Matched start/end points imply circle */
if ( p1->x == p3->x && p1->y == p3->y )
Expand Down Expand Up @@ -474,7 +477,7 @@ static int pt_continues_arc(const POINT4D *a1, const POINT4D *a2, const POINT4D
POINT2D *t2 = (POINT2D*)a2;
POINT2D *t3 = (POINT2D*)a3;
POINT2D *tb = (POINT2D*)b;
double radius = lwcircle_center(t1, t2, t3, &center);
double radius = lw_arc_center(t1, t2, t3, &center);
double b_distance, diff;

/* Co-linear a1/a2/a3 */
Expand Down
8 changes: 4 additions & 4 deletions liblwgeom/measures.c
Original file line number Diff line number Diff line change
Expand Up @@ -848,7 +848,7 @@ lw_dist2d_seg_arc(const POINT2D *A1, const POINT2D *A2, const POINT2D *B1, const
return lw_dist2d_pt_seg(B1, A1, A2, dl);

/* Calculate center and radius of the circle. */
radius_C = lwcircle_center(B1, B2, B3, &C);
radius_C = lw_arc_center(B1, B2, B3, &C);

/* This "arc" is actually a line (B2 is colinear with B1,B3) */
if ( radius_C < 0.0 )
Expand Down Expand Up @@ -991,7 +991,7 @@ lw_dist2d_pt_arc(const POINT2D* P, const POINT2D* A1, const POINT2D* A2, const P
return lw_dist2d_pt_pt(P, A1, dl);

/* Calculate centers and radii of circles. */
radius_A = lwcircle_center(A1, A2, A3, &C);
radius_A = lw_arc_center(A1, A2, A3, &C);

/* This "arc" is actually a line (A2 is colinear with A1,A3) */
if ( radius_A < 0.0 )
Expand Down Expand Up @@ -1044,8 +1044,8 @@ lw_dist2d_arc_arc(const POINT2D *A1, const POINT2D *A2, const POINT2D *A3,
return lw_dist2d_pt_arc(A1, B1, B2, B3, dl);

/* Calculate centers and radii of circles. */
radius_A = lwcircle_center(A1, A2, A3, &CA);
radius_B = lwcircle_center(B1, B2, B3, &CB);
radius_A = lw_arc_center(A1, A2, A3, &CA);
radius_B = lw_arc_center(B1, B2, B3, &CB);

/* Two co-linear arcs?!? That's two segments. */
if ( radius_A < 0 && radius_B < 0 )
Expand Down

0 comments on commit b723ca9

Please sign in to comment.