mirror of
https://github.com/qgis/QGIS.git
synced 2025-04-16 00:03:12 -04:00
Use rects for geometry tests rather than triangles
git-svn-id: http://svn.osgeo.org/qgis/trunk@8766 c8812cc2-4d05-0410-92ff-de0c093fc19c
This commit is contained in:
parent
ea2f7eafe4
commit
8f263b9f7d
@ -43,13 +43,18 @@ class TestQgsGeometry: public QObject
|
|||||||
void intersectionCheck();
|
void intersectionCheck();
|
||||||
void unionCheck();
|
void unionCheck();
|
||||||
private:
|
private:
|
||||||
QgsPoint mPoint1; /* +1 +A */
|
QgsPoint mPoint1;
|
||||||
QgsPoint mPoint2; /* / \ / \ */
|
QgsPoint mPoint2;
|
||||||
QgsPoint mPoint3; /* / X \ */
|
QgsPoint mPoint3;
|
||||||
QgsPoint mPointA; /* 2+---/-+3 \ */
|
QgsPoint mPoint4;
|
||||||
QgsPoint mPointB; /* B+-------+C */
|
QgsPoint mPointA;
|
||||||
QgsPoint mPointC; /* */
|
QgsPoint mPointB;
|
||||||
QgsPoint mPointD; /* +D */
|
QgsPoint mPointC;
|
||||||
|
QgsPoint mPointD;
|
||||||
|
QgsPoint mPointW;
|
||||||
|
QgsPoint mPointX;
|
||||||
|
QgsPoint mPointY;
|
||||||
|
QgsPoint mPointZ;
|
||||||
QgsPolyline mPolylineA;
|
QgsPolyline mPolylineA;
|
||||||
QgsPolyline mPolylineB;
|
QgsPolyline mPolylineB;
|
||||||
QgsPolyline mPolylineC;
|
QgsPolyline mPolylineC;
|
||||||
@ -69,21 +74,26 @@ void TestQgsGeometry::init()
|
|||||||
//
|
//
|
||||||
// Reset / reinitialise the geometries before each test is run
|
// Reset / reinitialise the geometries before each test is run
|
||||||
//
|
//
|
||||||
mPoint1 = QgsPoint(20.0,10.0); /* +1 +A */
|
mPoint1 = QgsPoint(20.0,20.0);
|
||||||
mPoint2 = QgsPoint(10.0,30.0); /* / \ / \ */
|
mPoint2 = QgsPoint(80.0,20.0);
|
||||||
mPoint3 = QgsPoint(30.0,30.0); /* / X \ */
|
mPoint3 = QgsPoint(80.0,80.0);
|
||||||
mPointA = QgsPoint(40.0,10.0); /* 2+---/-+3 \ */
|
mPoint4 = QgsPoint(20.0,80.0);
|
||||||
mPointB = QgsPoint(20.0,40.0); /* B+-------+C */
|
mPointA = QgsPoint(40.0,40.0);
|
||||||
mPointC = QgsPoint(50.0,40.0); /* */
|
mPointB = QgsPoint(100.0,40.0);
|
||||||
mPointD = QgsPoint(20.0,60.0); /* */
|
mPointC = QgsPoint(100.0,100.0);
|
||||||
|
mPointD = QgsPoint(40.0,100.0);
|
||||||
mPolylineA << mPoint1 << mPoint2 << mPoint3 << mPoint1;
|
mPointW = QgsPoint(1000.0,1000.0);
|
||||||
|
mPointX = QgsPoint(1040.0,1000.0);
|
||||||
|
mPointY = QgsPoint(1040.0,1040.0);
|
||||||
|
mPointZ = QgsPoint(1000.0,1040.0);
|
||||||
|
|
||||||
|
mPolylineA << mPoint1 << mPoint2 << mPoint3 << mPoint4 << mPoint1;
|
||||||
mPolygonA << mPolylineA;
|
mPolygonA << mPolylineA;
|
||||||
//Polygon B intersects Polygon A
|
//Polygon B intersects Polygon A
|
||||||
mPolylineB << mPointA << mPointB << mPointC << mPointA;
|
mPolylineB << mPointA << mPointB << mPointC << mPointD << mPointA;
|
||||||
mPolygonB << mPolylineB;
|
mPolygonB << mPolylineB;
|
||||||
// Polygon C should intersect no other polys
|
// Polygon C should intersect no other polys
|
||||||
mPolylineC << mPointD << mPointB << mPointC << mPointD;
|
mPolylineC << mPointW << mPointX << mPointY << mPointZ << mPointW;
|
||||||
mPolygonC << mPolylineC;
|
mPolygonC << mPolylineC;
|
||||||
|
|
||||||
//polygon: first item of the list is outer ring,
|
//polygon: first item of the list is outer ring,
|
||||||
|
Loading…
x
Reference in New Issue
Block a user