4 #ifndef FIRE_GEAR_GEOM_GEOMETRY_HPP_INCLUDED
5 #define FIRE_GEAR_GEOM_GEOMETRY_HPP_INCLUDED
7 #include <geos/io/WKBWriter.h>
14 #include "fire/gear/Entity.hpp"
15 #include "fire/gear/geom/PrecisionModel.hpp"
16 #include "fire/gear/geom/GeometryCache.hpp"
17 #include "fire/gear/geom/GeometryType.hpp"
18 #include "fire/gear/geom/DimensionType.hpp"
19 #include "fire/gear/geom/Envelope.hpp"
20 #include "fire/gear/geom/event/GeometryEvent.hpp"
131 bool checkWktDimension(
const int dimension,
int& newdimension)
const;
139 bool relation(
const Geometry& other, Relation_Type operation,
const char*
string = NULL)
const;
149 virtual void setUpdated(
bool value);
151 static const int getByteOrderOnMachine();
172 virtual void loadJsonValueGeometry(Json::Value& value)
const = 0;
184 virtual void setCoordinatesFromJsonValue(Json::Value& value) = 0;
296 void setSrid(
const int& value);
320 virtual bool isEmpty()
const = 0;
332 bool isSimple()
const;
344 bool isValid()
const;
358 double getMaxY()
const;
365 double getMaxX()
const;
372 double getMinY()
const;
379 double getMinX()
const;
403 Point* getCentroid()
const;
415 Point* getInteriorPoint()
const;
427 virtual double getLength()
const = 0;
439 virtual double getArea()
const = 0;
451 virtual std::size_t getCoordinatesCount()
const = 0;
458 virtual bool normalize() = 0;
470 virtual Geometry* clone()
const = 0;
482 virtual std::string toString()
const;
504 virtual std::string toWkt(
bool oldStyle =
false,
int dimension = 3,
int decimalPrecision = -1)
const;
526 virtual std::string toJson(
bool onlyGeom =
true,
bool pretty =
false)
const;
553 virtual void toWkb(std::ostream& outputStream,
const int dimension = 3,
const int newByteOrder = Geometry::getByteOrderOnMachine(),
const bool includeSRID =
false)
const;
561 virtual bool isUpdated()
const;
567 void invalidateUpdated();
587 virtual bool isZ_DoubleNotANumber()
const = 0;
596 void beforeUpdateOperations();
606 void afterUpdateOperations();
610 virtual bool disjoint(
const Geometry& other)
const;
611 virtual bool touches(
const Geometry& other)
const;
612 virtual bool intersects(
const Geometry& other)
const;
613 virtual bool crosses(
const Geometry& other)
const;
614 virtual bool within(
const Geometry& other)
const;
615 virtual bool contains(
const Geometry& other)
const;
616 virtual bool overlaps(
const Geometry& other)
const;
617 virtual bool relate(
const Geometry& other,
const std::string& intersectionPattern)
const;
634 virtual bool equals(
const Geometry& other)
const;
635 bool covers(
const Geometry& other)
const;
636 bool coveredBy(
const Geometry& other)
const;
638 void beforeDestroy();
Definition: PrecisionModel.hpp:50
Definition: GeometryConverter.hpp:67
Definition: GeometryCollection.hpp:51
Definition: Entity.hpp:44
classe che specializza l' interfaccia del reader delle geometrie per il formato GeoJson ...
Definition: JsonReader.hpp:46
Classe per la gestione di un evento di geometria.
Definition: GeometryEvent.hpp:46
Definition: Envelope.hpp:31
GeometryType
Definition: GeometryType.hpp:43
fire::gear::geom::event::GeometryEvent geometryEvent
Definition: Geometry.hpp:160
Definition: Geometry.hpp:69
Definition: GeometryCache.hpp:55
DimensionType
Definition: DimensionType.hpp:41