PARP Research Group University of Murcia


QVPolylineF Class Reference
[Image processing]

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>. More...

#include <QVPolylineF>

List of all members.

Public Member Functions

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


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 53 of file qvpolylinef.h.


Member Function Documentation

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

Test if a point is contained inside the poligon.

The poligon is supossed to be closed in any case. The following image shows the result of aplying 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 120 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.