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:
timlinux 2008-07-13 21:37:40 +00:00
parent ea2f7eafe4
commit 8f263b9f7d

View File

@ -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,