15 #include <geos/geom/prep/PreparedGeometryFactory.h>
17 #include <boost/optional.hpp>
21 namespace MAKVRinTerra
27 #ifdef DtObjectDebugger_Enable
32 typedef boost::shared_ptr<DtGeosGeometry>
Ptr;
33 typedef boost::shared_ptr<const DtGeosGeometry>
CPtr;
41 typedef geos::geom::Geometry
type;
50 std::auto_ptr<CoordinateVector>, std::auto_ptr< std::vector<CoordinateVector> >,
62 const DtProj&,
double xmin,
double ymin,
double xmax,
double ymax);
66 const DtProj&,
const std::vector<DtPoint>& points);
68 const DtProj&,
const std::vector<DtVector>& points);
76 std::string description()
const;
77 std::string toWKT()
const;
79 std::auto_ptr<PointVector> points()
const;
81 unsigned numberOfPoints()
const;
86 unsigned dimension()
const;
97 std::auto_ptr<DtFeatureGeometry::RelationshipMatrix> relate(
DtFeatureGeometry)
const;
99 double length()
const;
126 virtual const geos::geom::Geometry& geosGeometry()
const = 0;
128 virtual const geos::geom::prep::PreparedGeometry* geosPreparedGeometry()
const = 0;
130 boost::shared_ptr<DtGeosGeometry> shared_from_this();
131 boost::shared_ptr<const DtGeosGeometry> shared_from_this()
const;
146 typedef geos::geom::LineString
type;
152 typedef geos::geom::Polygon
type;
158 typedef geos::geom::GeometryCollection
type;
161 template <DtFeatureGeometry::Type T>
164 #ifdef DtObjectDebugger_Enable
170 typedef boost::shared_ptr<DtGeosGeometryImpl>
Ptr;
176 unsigned numberOfSubGeometries()
const;
177 std::auto_ptr<GeometryVector> subGeometries()
const;
#define DT_DLL_features
stop complaining about multiple independent base classes for boost::noncopyable this should probably ...
Definition: featuresDefines.h:41
DtFeatureGeometry implementation wrapping a geos feature.
Definition: geosGeometry.h:25
const GeosType< T >::type & geosGeometry() const
Definition: geosGeometry.h:179
#define DT_DEFINE_OBJECT_DEBUGGER_NAME(type)
Definition: objectCounter.h:265
Default on in debug, off in release.
Definition: objectCounter.h:31
Definition: featureGeometry.h:56
geos::geom::Point type
Definition: geosGeometry.h:140
boost::shared_ptr< DtGeosGeometryImpl > Ptr
Definition: geosGeometry.h:170
DtGeosGeometryImpl< DtFeatureGeometry::AreaType > DtGeosArea
Definition: geosGeometry.h:188
geos::geom::Geometry type
Definition: geosGeometry.h:41
geos::geom::GeometryCollection type
Definition: geosGeometry.h:158
geos::geom::Polygon type
Definition: geosGeometry.h:152
Definition: geosGeometry.h:39
Handle< PointType > Point
Definition: featureGeometry.h:65
Represents some coordinate system.
Definition: proj.h:44
Definition: vrfObjectManipulationHandlerBaseClass.h:59
Handle< PathType > Path
Definition: featureGeometry.h:66
boost::shared_ptr< const DtGeosGeometry > CPtr
Definition: geosGeometry.h:33
DtGeosGeometryImpl< DtFeatureGeometry::PathType > DtGeosPath
Definition: geosGeometry.h:187
Create a new MAK exception type that inherits from boost::exception.
Definition: taggedException.h:15
std::vector< geos::geom::Coordinate > CoordinateVector
Definition: geosGeometry.h:44
Definition: geosGeometry.h:162
boost::shared_ptr< DtGeosGeometry > Ptr
Definition: geosGeometry.h:32
DtFeatureGeometry::Type Type
Definition: geosGeometry.h:36
DtGeosGeometryImpl< DtFeatureGeometry::PointType > DtGeosPoint
Definition: geosGeometry.h:186
boost::optional< bool > myValidFlag
Definition: geosGeometry.h:134
geos::geom::LineString type
Definition: geosGeometry.h:146
DtFeatureGeometry::Implementation Implementation
Definition: geosGeometry.h:35
Represents a feature geometry.
Definition: featureGeometry.h:35
DtGeosGeometryImpl< DtFeatureGeometry::UnknownType > DtGeosUnknown
Definition: geosGeometry.h:185