A visitor for retrieves spatial restrictions from a Query hierarchy. More...
#include <SpatialRestrictionVisitor.h>
Public Member Functions | |
const std::vector< te::da::SpatialRestriction * > & | getSpatialRestrictions () const |
bool | hasSpatialRestrictions () const |
SpatialRestrictionVisitor () | |
Default constructor. More... | |
virtual void | visit (const Expression &visited) |
virtual void | visit (const DataSetName &visited) |
virtual void | visit (const FromItem &visited) |
virtual void | visit (const Function &visited) |
virtual void | visit (const Join &visited) |
virtual void | visit (const JoinCondition &visited) |
virtual void | visit (const JoinConditionOn &visited) |
virtual void | visit (const JoinConditionUsing &visited) |
virtual void | visit (const Literal &visited) |
virtual void | visit (const LiteralBool &visited) |
virtual void | visit (const LiteralByteArray &visited) |
virtual void | visit (const LiteralDateTime &visited) |
virtual void | visit (const LiteralDouble &visited) |
virtual void | visit (const LiteralEnvelope &visited) |
virtual void | visit (const LiteralGeom &visited) |
virtual void | visit (const LiteralInt16 &visited) |
virtual void | visit (const LiteralInt32 &visited) |
virtual void | visit (const LiteralInt64 &visited) |
virtual void | visit (const LiteralString &visited) |
virtual void | visit (const PropertyName &visited) |
virtual void | visit (const Query &visited) |
virtual void | visit (const Select &visited) |
virtual void | visit (const SubSelect &visited) |
virtual void | visit (const In &visited) |
virtual | ~SpatialRestrictionVisitor () |
Virtual destructor. More... | |
Protected Member Functions | |
void | addSpatialRestriction (const Function &f) |
te::gm::Geometry * | getGeometryRestriction (const Function &f) const |
std::string | getPropertyName (const Function &f) const |
te::gm::SpatialRelation | getSpatialRelation (const Function &f) const |
virtual void | initialize () |
bool | isFromEnvelope (const Function &f) const |
bool | isSpatialRestrictionFunction (const Function &f) const |
Protected Attributes | |
std::size_t | m_index |
An internal visitor index. More... | |
std::map< std::string, te::gm::SpatialRelation > | m_spatialFunctions |
A map of spatial restriction functions. More... | |
std::vector< te::da::SpatialRestriction * > | m_spatialRestrictions |
The set of spatial restrictions. More... | |
A visitor for retrieves spatial restrictions from a Query hierarchy.
Definition at line 77 of file SpatialRestrictionVisitor.h.
te::da::SpatialRestrictionVisitor::SpatialRestrictionVisitor | ( | ) |
Default constructor.
Definition at line 61 of file SpatialRestrictionVisitor.cpp.
References initialize().
|
virtual |
Virtual destructor.
Definition at line 67 of file SpatialRestrictionVisitor.cpp.
References te::common::FreeContents().
|
protected |
Definition at line 220 of file SpatialRestrictionVisitor.cpp.
References te::da::SpatialRestriction::m_function, te::da::SpatialRestriction::m_geometry, te::da::SpatialRestriction::m_index, te::da::SpatialRestriction::m_isFromEnvelope, te::da::SpatialRestriction::m_pname, te::da::SpatialRestriction::m_type, and TE_TR.
|
protected |
Definition at line 156 of file SpatialRestrictionVisitor.cpp.
References te::dt::AbstractData::clone(), te::da::Function::getArg(), te::gm::GetGeomFromEnvelope(), te::da::Function::getNumArgs(), te::da::LiteralEnvelope::getSRID(), te::da::Literal::getValue(), and te::da::LiteralEnvelope::getValue().
|
protected |
Definition at line 201 of file SpatialRestrictionVisitor.cpp.
References te::da::Function::getArg(), te::da::PropertyName::getName(), and te::da::Function::getNumArgs().
|
protected |
Definition at line 130 of file SpatialRestrictionVisitor.cpp.
References te::da::Function::getName().
const std::vector< te::da::SpatialRestriction * > & te::da::SpatialRestrictionVisitor::getSpatialRestrictions | ( | ) | const |
Definition at line 105 of file SpatialRestrictionVisitor.cpp.
Referenced by te::da::SpatialQueryProcessor::getDataSet().
bool te::da::SpatialRestrictionVisitor::hasSpatialRestrictions | ( | ) | const |
Definition at line 100 of file SpatialRestrictionVisitor.cpp.
Referenced by te::da::SpatialQueryProcessor::getDataSet().
|
protectedvirtual |
Definition at line 110 of file SpatialRestrictionVisitor.cpp.
References te::gm::CONTAINS, te::gm::CROSSES, te::gm::DISJOINT, te::gm::EQUALS, te::gm::INTERSECTS, te::gm::OVERLAPS, te::da::FunctionNames::sm_ST_Contains, te::da::FunctionNames::sm_ST_Crosses, te::da::FunctionNames::sm_ST_Disjoint, te::da::FunctionNames::sm_ST_Equals, te::da::FunctionNames::sm_ST_Intersects, te::da::FunctionNames::sm_ST_Overlaps, te::da::FunctionNames::sm_ST_Touches, te::da::FunctionNames::sm_ST_Within, te::gm::TOUCHES, and te::gm::WITHIN.
Referenced by SpatialRestrictionVisitor().
|
protected |
Definition at line 137 of file SpatialRestrictionVisitor.cpp.
References te::da::Function::getArg(), and te::da::Function::getNumArgs().
|
protected |
Definition at line 125 of file SpatialRestrictionVisitor.cpp.
References te::da::Function::getName().
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 87 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 88 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 89 of file SpatialRestrictionVisitor.h.
|
virtual |
Implements te::da::QueryVisitor.
Definition at line 72 of file SpatialRestrictionVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), and te::da::Function::getNumArgs().
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 91 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 92 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 93 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 94 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 95 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 96 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 97 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 98 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 99 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 100 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 101 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 102 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 103 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 104 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 105 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 106 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 107 of file SpatialRestrictionVisitor.h.
|
virtual |
Implements te::da::QueryVisitor.
Definition at line 88 of file SpatialRestrictionVisitor.cpp.
References te::common::BaseVisitable< T, R >::accept(), te::da::Where::getExp(), and te::da::Select::getWhere().
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 109 of file SpatialRestrictionVisitor.h.
|
inlinevirtual |
Implements te::da::QueryVisitor.
Definition at line 110 of file SpatialRestrictionVisitor.h.
|
protected |
An internal visitor index.
Definition at line 135 of file SpatialRestrictionVisitor.h.
|
protected |
A map of spatial restriction functions.
Definition at line 134 of file SpatialRestrictionVisitor.h.
|
protected |
The set of spatial restrictions.
Definition at line 136 of file SpatialRestrictionVisitor.h.