return ( (q->x - p1->x) * (p2->y - p1->y) - (p2->x - p1->x) * (q->y - p1->y) );
}
-int lw_segment_envelope_intersects(POINT2D *p1, POINT2D *p2, POINT2D *q1, POINT2D *q2)
+int lw_segment_envelope_intersects(POINT2D p1, POINT2D p2, POINT2D q1, POINT2D q2)
{
- double minq=LW_MIN(q1->x,q2->x);
- double maxq=LW_MAX(q1->x,q2->x);
- double minp=LW_MIN(p1->x,p2->x);
- double maxp=LW_MAX(p1->x,p2->x);
+ double minq=LW_MIN(q1.x,q2.x);
+ double maxq=LW_MAX(q1.x,q2.x);
+ double minp=LW_MIN(p1.x,p2.x);
+ double maxp=LW_MAX(p1.x,p2.x);
if(minp>maxq || maxp<minq)
return LW_FALSE;
- minq=LW_MIN(q1->y,q2->y);
- maxq=LW_MAX(q1->y,q2->y);
- minp=LW_MIN(p1->y,p2->y);
- maxp=LW_MAX(p1->y,p2->y);
+ minq=LW_MIN(q1.y,q2.y);
+ maxq=LW_MAX(q1.y,q2.y);
+ minp=LW_MIN(p1.y,p2.y);
+ maxp=LW_MAX(p1.y,p2.y);
if(minp>maxq || maxp<minq)
return LW_FALSE;
double pq1, pq2, qp1, qp2;
/* No envelope interaction => we are done. */
- if (!lw_segment_envelope_intersects(p1, p2, q1, p2))
+ if (!lw_segment_envelope_intersects(*p1, *p2, *q1, *p2))
{
return SEG_NO_INTERSECTION;
}
* Do the test IFF BOUNDING BOX AVAILABLE.
*/
if ( getbox2d_p(SERIALIZED_FORM(geom1), &box1) &&
- getbox2d_p(SERIALIZED_FORM(geom2), &box2) )
+ getbox2d_p(SERIALIZED_FORM(geom2), &box2) )
{
if ( box2.xmax < box1.xmin ) PG_RETURN_BOOL(FALSE);
if ( box2.xmin > box1.xmax ) PG_RETURN_BOOL(FALSE);
** Do the test IFF BOUNDING BOX AVAILABLE.
*/
if ( getbox2d_p(SERIALIZED_FORM(geom1), &box1) &&
- getbox2d_p(SERIALIZED_FORM(geom2), &box2) )
+ getbox2d_p(SERIALIZED_FORM(geom2), &box2) )
{
if ( ( box2.xmin < box1.xmin ) || ( box2.xmax > box1.xmax ) ||
( box2.ymin < box1.ymin ) || ( box2.ymax > box1.ymax ) )
* Do the test IFF BOUNDING BOX AVAILABLE.
*/
if ( getbox2d_p(SERIALIZED_FORM(geom1), &box1) &&
- getbox2d_p(SERIALIZED_FORM(geom2), &box2) )
+ getbox2d_p(SERIALIZED_FORM(geom2), &box2) )
{
if ( ( box1.xmin < box2.xmin ) || ( box1.xmax > box2.xmax ) ||
( box1.ymin < box2.ymin ) || ( box1.ymax > box2.ymax ) )
* Do the test IFF BOUNDING BOX AVAILABLE.
*/
if ( getbox2d_p(SERIALIZED_FORM(geom1), &box1) &&
- getbox2d_p(SERIALIZED_FORM(geom2), &box2) )
+ getbox2d_p(SERIALIZED_FORM(geom2), &box2) )
{
if ( ( box1.xmin < box2.xmin ) || ( box1.xmax > box2.xmax ) ||
( box1.ymin < box2.ymin ) || ( box1.ymax > box2.ymax ) )
* Do the test IFF BOUNDING BOX AVAILABLE.
*/
if ( getbox2d_p(SERIALIZED_FORM(geom1), &box1) &&
- getbox2d_p(SERIALIZED_FORM(geom2), &box2) )
+ getbox2d_p(SERIALIZED_FORM(geom2), &box2) )
{
if ( ( box2.xmax < box1.xmin ) || ( box2.xmin > box1.xmax ) ||
( box2.ymax < box1.ymin ) || ( box2.ymin > box1.ymax ) )
type1 = lwgeom_getType((uchar)SERIALIZED_FORM(geom1)[0]);
type2 = lwgeom_getType((uchar)SERIALIZED_FORM(geom2)[0]);
if ( (type1 == POINTTYPE && (type2 == POLYGONTYPE || type2 == MULTIPOLYGONTYPE)) ||
- (type2 == POINTTYPE && (type1 == POLYGONTYPE || type1 == MULTIPOLYGONTYPE)))
+ (type2 == POINTTYPE && (type1 == POLYGONTYPE || type1 == MULTIPOLYGONTYPE)))
{
POSTGIS_DEBUG(3, "Point in Polygon test requested...short-circuiting.");
* Do the test IFF BOUNDING BOX AVAILABLE.
*/
if ( getbox2d_p(SERIALIZED_FORM(geom1), &box1) &&
- getbox2d_p(SERIALIZED_FORM(geom2), &box2) )
+ getbox2d_p(SERIALIZED_FORM(geom2), &box2) )
{
if ( ( box2.xmax < box1.xmin ) || ( box2.xmin > box1.xmax ) ||
( box2.ymax < box1.ymin ) || ( box2.ymin > box1.ymax ) )
* Do the test IFF BOUNDING BOX AVAILABLE.
*/
if ( getbox2d_p(SERIALIZED_FORM(geom1), &box1) &&
- getbox2d_p(SERIALIZED_FORM(geom2), &box2) )
+ getbox2d_p(SERIALIZED_FORM(geom2), &box2) )
{
if ( ( box2.xmax < box1.xmin ) || ( box2.xmin > box1.xmax ) ||
( box2.ymax < box1.ymin ) || ( box2.ymin > box1.ymax ) )