11 #include <tbb/recursive_mutex.h>
13 namespace MAKVRinTerra
20 typedef boost::shared_ptr<DtGeosGeometry>
Ptr;
21 typedef boost::shared_ptr<const DtGeosGeometry>
CPtr;
26 typedef tbb::recursive_mutex
Mutex;
31 typedef geos::geom::Geometry
type;
40 std::auto_ptr<CoordinateVector>, std::auto_ptr< std::vector<CoordinateVector> >,
51 const DtProj&,
double xmin,
double ymin,
double xmax,
double ymax);
54 const DtProj&, std::vector<DtPoint> points);
56 const DtProj&, std::vector<DtVector> points);
62 unsigned numberOfPoints()
const;
104 virtual const geos::geom::Geometry& geosGeometry()
const = 0;
110 typedef geos::geom::Point
type;
116 typedef geos::geom::LineString
type;
122 typedef geos::geom::Polygon
type;
128 typedef geos::geom::GeometryCollection
type;
131 template <DtFeatureGeometry::Type T>
135 typedef boost::shared_ptr<DtGeosGeometryImpl>
Ptr;
141 std::auto_ptr<PointVector> points()
const;
142 unsigned numberOfSubGeometries()
const;
143 std::auto_ptr<GeometryVector> subGeometries()
const;
148 virtual boost::shared_ptr<const typename GeosType<T>::type> geosPtr()
const = 0;