Fire Core  8.0.0.alpha
GIS framework per tutti gli usi
 Tutto Classi Namespace Funzioni Variabili Ridefinizioni di tipo (typedef) Tipi enumerati (enum) Valori del tipo enumerato Friend
Filter.hpp
1 // Copyright 2015 GEOSYSTEMS SRL
2 // All Rights Reserved.
3 
4 #ifndef FIRE_GEAR_FILTER__HPP_INCLUDED
5 #define FIRE_GEAR_FILTER__HPP_INCLUDED
6 
7 #include <exception>
8 #include <string>
9 
10 #include "fire/export.hpp"
11 #include "fire/Filter.hpp"
12 #include "fire/gear/geom/GeometryType.hpp"
13 #include "fire/gear/geom/SpatialOperator.hpp"
14 
15 namespace fire {
16 namespace gear {
17 namespace geom {
18 class Geometry;
19 } // namespace geom
20 } // namespace gear
21 } // namespace fire
22 
23 namespace fire {
24 namespace gear {
25 class Entity;
26 } // namespace gear
27 } // namespace fire
28 
33 namespace fire {
38 namespace gear {
47 class FIRE_ENGINE_DLL Filter : public fire::Filter< Entity* > {
48  private:
67  std::string intersectionMatrix;
68 
69  public:
91  static Filter IsPoint();
108  static Filter IsLineString();
125  static Filter IsLinearRing();
142  static Filter IsPolygon();
159  static Filter IsMultiPoint();
176  static Filter IsMultiLineString();
193  static Filter IsMultiPolygon();
210  static Filter IsGeometryCollection();
227  static Filter IsDisjoint(Entity* entity);
244  static Filter IsTouches(Entity* entity);
261  static Filter IsCrosses(Entity* entity);
278  static Filter IsWithin(Entity* entity);
295  static Filter IsContains(Entity* entity);
312  static Filter IsEquals(Entity* entity);
329  static Filter IsOverlaps(Entity* entity);
346  static Filter IsCovers(Entity* entity);
363  static Filter IsCoveredBy(Entity* entity);
385  static Filter Relate(const geom::SpatialOperator::SpatialOperator& spatialOperator, Entity* entity);
407  static Filter Relate(const std::string& intersectionMatrix, Entity* entity);
408 
409  Filter() {};
421  explicit Filter(const geom::GeometryType::GeometryType& geometryType);
438  Filter(const geom::SpatialOperator::SpatialOperator& spatialOperator, Entity* entity);
455  Filter(const std::string& intersectionMatrix, Entity* entity);
462  virtual ~Filter();
479  virtual bool condition(Entity* entity);
480 };
481 } // namespace gear
482 } // namespace fire
483 
484 #endif
Entity * entity
membro entity: caratterizza la condizione spaziale del filtro che deve essere rispettata ...
Definition: Filter.hpp:74
Definition: Entity.hpp:44
GeometryType
Definition: GeometryType.hpp:43
SpatialOperator
Definition: SpatialOperator.hpp:41
classe che specializza la classe template fire::Filter con la classe Entity la classe Filter e' utili...
Definition: Filter.hpp:47
Classe per la gestione di un filtro.
Definition: Filter.hpp:25