4 #ifndef FIRE_GEAR_GEOM_GROUP_HPP_INCLUDED
5 #define FIRE_GEAR_GEOM_GROUP_HPP_INCLUDED
7 #include <geos/index/SpatialIndex.h>
11 #include "fire/export.hpp"
13 #include "fire/Group.hpp"
14 #include "fire/gear/geom/event/GeometryEventListener.hpp"
15 #include "fire/gear/geom/event/GeometryEvent.hpp"
16 #include "fire/gear/geom/SpatialIndexType.hpp"
17 #include "fire/gear/geom/Filter.hpp"
18 #include "fire/gear/projection/Projection.hpp"
88 }
catch (
const std::exception& exception) {
106 switch (geometryEvent.
getType()) {
107 case fire::gear::geom::event::GeometryEventType::Unknown:
108 case fire::gear::geom::event::GeometryEventType::AfterDestroy:{
111 case fire::gear::geom::event::GeometryEventType::BeforeUpdate: {
114 case fire::gear::geom::event::GeometryEventType::AfterUpdate: {
115 this->group->
update(geometry);
118 case fire::gear::geom::event::GeometryEventType::BeforeDestroy: {
119 this->group->
exclude(geometry);
123 }
catch (
const std::exception& exception) {
143 std::auto_ptr< geos::index::SpatialIndex > spatialIndex;
157 std::auto_ptr< fire::gear::geom::Group::GeometryEventListener > geometryEventListener;
250 explicit Group(
int srid);
405 void revokeSpatialIndex();
429 const int& getSrid()
const;
441 void setSrid(
int srid);
Definition: Filter.hpp:51
Classe per la gestione di un evento di geometria.
Definition: GeometryEvent.hpp:46
Classe per la gestione di un gruppo di oggetti generici.
Definition: Group.hpp:33
void update(fire::gear::geom::Geometry *geometry)
fire::gear::geom::event::GeometryEventType::GeometryEventType getType() const
Restituisce il tipo dell'evento di geometria.
fire::gear::geom::Geometry * getGeometry() const
Restituisce la geometria.
Classe per la gestione di un ascoltare di un evento di geometria.
Definition: GeometryEventListener.hpp:39
Definition: Geometry.hpp:69
SpatialIndexType
Definition: SpatialIndexType.hpp:41
void exclude(fire::gear::geom::Geometry *geometry)