Complete Note#1 in the http://wiki.osgeo.org/wiki/GEOS_Provenance_Review to get out...
[geos.git] / tests / bigtest / bigtest.h
blob96a625c63c3e156cf76e2834c89b971eed101003
1 /**********************************************************************
3 * GEOS - Geometry Engine Open Source
4 * http://geos.osgeo.org
6 * Copyright (C) 2001-2002 Vivid Solutions Inc.
8 * This is free software; you can redistribute and/or modify it under
9 * the terms of the GNU Lesser General Public Licence as published
10 * by the Free Software Foundation.
11 * See the COPYING file for more information.
13 **********************************************************************
14 * $Log$
15 * Revision 1.1 2006/01/31 19:07:35 strk
16 * - Renamed DefaultCoordinateSequence to CoordinateArraySequence.
17 * - Moved GetNumGeometries() and GetGeometryN() interfaces
18 * from GeometryCollection to Geometry class.
19 * - Added getAt(int pos, Coordinate &to) funtion to CoordinateSequence class.
20 * - Reworked automake scripts to produce a static lib for each subdir and
21 * then link all subsystem's libs togheter
22 * - Moved C-API in it's own top-level dir capi/
23 * - Moved source/bigtest and source/test to tests/bigtest and test/xmltester
24 * - Fixed PointLocator handling of LinearRings
25 * - Changed CoordinateArrayFilter to reduce memory copies
26 * - Changed UniqueCoordinateArrayFilter to reduce memory copies
27 * - Added CGAlgorithms::isPointInRing() version working with
28 * Coordinate::ConstVect type (faster!)
29 * - Ported JTS-1.7 version of ConvexHull with big attention to
30 * memory usage optimizations.
31 * - Improved XMLTester output and user interface
32 * - geos::geom::util namespace used for geom/util stuff
33 * - Improved memory use in geos::geom::util::PolygonExtractor
34 * - New ShortCircuitedGeometryVisitor class
35 * - New operation/predicate package
37 * Revision 1.1 2004/07/19 10:35:23 strk
38 * bigtest.h moved to local dir
40 * Revision 1.2 2004/07/08 19:34:49 strk
41 * Mirrored JTS interface of CoordinateSequence, factory and
42 * default implementations.
43 * Added DefaultCoordinateSequenceFactory::instance() function.
45 * Revision 1.1 2004/07/02 13:20:42 strk
46 * Header files moved under geos/ dir.
48 * Revision 1.4 2003/11/07 01:23:42 pramsey
49 * Add standard CVS headers licence notices and copyrights to all cpp and h
50 * files.
53 **********************************************************************/
56 #ifndef GEOS_BIGTEST_H
57 #define GEOS_BIGTEST_H
59 #include <memory>
61 using namespace std;
62 using namespace geos;
64 // Forward declaration
65 namespace geos {
66 namespace geom {
67 class Polygon;
68 class CoordinateSequence;
69 class GeometryFactory;
73 class GeometryTestFactory {
74 public:
75 static geom::Polygon* createBox(geom::GeometryFactory *fact,double minx,double miny,int nSide,double segLen);
76 static geom::CoordinateSequence* createBox(double minx,double miny,int nSide,double segLen);
77 static geom::CoordinateSequence* createCircle(double basex,double basey,double size,int nPts);
78 static geom::Polygon* createCircle(geom::GeometryFactory *fact,double basex,double basey,double size,int nPts);
79 static geom::CoordinateSequence* createSineStar(double basex,double basey,double size,double armLen,int nArms,int nPts);
80 static geom::Polygon* createSineStar(geom::GeometryFactory *fact,double basex,double basey,double size,double armLen,int nArms,int nPts);
83 #endif