PARP Research Group Universidad de Murcia


QVPolylineF Class Reference
[Image processing]

Floating point polyline representation. More...

#include <QVPolylineF>

List of all members.

Public Member Functions

bool surrounds (const QPointF &p) const
 Test if a point is contained inside the polygon.

Detailed Description

Floating point polyline representation.

A polyline is a continuous line composed of one or more straight line segments. A QVPolylineF is a implementation of a polyline, specified by a list of the points located at the intersection of the segments. Thus, any QVPolylineF object inherits from the class QList<QPointF>.

When a polyline is closed, then it is considered to be a polygon. In that case it is supposed to have an implicit final straight line segment, that links the first and the last point in the polyline. The property QVPolylineF::closed will store the value TRUE if the polyline is a polygon, else storing FALSE.

A QVPolylineF has the property QVPolylineF::direction, that will indicate if it is a direct polyline, or a reverse polyline. It has only meaning for some algorithms, like getConnectedSetBorderContoursThreshold.

Definition at line 54 of file qvpolylinef.h.


Member Function Documentation

bool QVPolylineF::surrounds ( const QPointF &  p  )  const

Test if a point is contained inside the polygon.

The polygon is supposed to be closed in any case. The following image shows the result of applying this method with a polyline (drawn in red) over a set of points lying inside it (drawn in green) and outside it (drawn in red):

pointslyinginsidepolyline.png

The source of the algorithm is the following:

[...] Another solution forwarded by Philippe Reverdy is to compute the sum of the angles made between the test point and each pair of points making up the polygon. If this sum is 2pi then the point is an interior point, if 0 then the point is an exterior point. This also works for polygons with holes given the polygon is defined with a path made up of coincident edges into and out of the hole as is common practice in many CAD packages. [...] http://local.wasp.uwa.edu.au/~pbourke/geometry/insidepoly/

Returns:
TRUE if the point lies inside the polygon, else FALSE.

Definition at line 128 of file qvpolylinef.cpp.


The documentation for this class was generated from the following files:



QVision framework. PARP research group. Copyright © 2007, 2008, 2009, 2010, 2011.