26#ifndef __TERRALIB_DATAACCESS_INTERNAL_SPATIALRESTRICTIONVISITOR_H
27#define __TERRALIB_DATAACCESS_INTERNAL_SPATIALRESTRICTIONVISITOR_H
34#include <boost/noncopyable.hpp>
A visitor interface for the Query hierarchy.
Cast a expression function.
A class that models the name of a dataset used in a From clause.
This is an abstract class that models a query expression.
An abstract class that models a source of data in a query.
A class that models a Function expression.
A class that represents the IN operator.
The Insert object can add the return of a select object.
JoinConditionOn is a boolean expression and it specifies which items in a join are considered to matc...
JoinConditionUsing class can be used to model a USING clause in a Join.
A condition to be used in a Join clause.
A Join clause combines two FromItems.
It is intended to encode a character string comparison operator with pattern matching.
This class models a bool Literal value.
A class that models a literal for ByteArray values.
A class that models a literal for Date and Time values.
A class that models a literal for double values.
A class that models a literal for Envelope values.
A class that models a literal for Geometry values.
This class models a string Literal value.
This class models a literal value.
A class that models the name of any property of an object.
QueryVisitor()
Default constructor.
A Query is independent from the data source language/dialect.
A Select can be used as a source of information in another query.
A Select models a query to be used when retrieving data from a DataSource.
std::size_t m_index
An internal visitor index.
virtual void initialize()
te::gm::SpatialRelation getSpatialRelation(const Function &f) const
virtual void visit(const JoinConditionOn &visited)
virtual void visit(const Join &visited)
virtual void visit(const Expression &visited)
virtual void visit(const LiteralEnvelope &visited)
virtual void visit(const LiteralByteArray &visited)
virtual void visit(const Literal &visited)
virtual void visit(const Like &visited)
virtual void visit(const Cast &visited)
virtual void visit(const LiteralBool &visited)
bool hasSpatialRestrictions() const
virtual void visit(const Select &visited)
virtual void visit(const LiteralDateTime &visited)
virtual void visit(const LiteralInt16 &visited)
std::map< std::string, te::gm::SpatialRelation > m_spatialFunctions
A map of spatial restriction functions.
virtual void visit(const LiteralString &visited)
virtual void visit(const Query &visited)
virtual void visit(const Insert &visited)
std::string getPropertyName(const Function &f) const
virtual void visit(const LiteralDouble &visited)
SpatialRestrictionVisitor()
Default constructor.
virtual void visit(const Function &visited)
virtual void visit(const DataSetName &visited)
virtual void visit(const FromItem &visited)
virtual ~SpatialRestrictionVisitor()
Virtual destructor.
virtual void visit(const PropertyName &visited)
virtual void visit(const JoinConditionUsing &visited)
const std::vector< te::da::SpatialRestriction * > & getSpatialRestrictions() const
virtual void visit(const JoinCondition &visited)
std::vector< te::da::SpatialRestriction * > m_spatialRestrictions
The set of spatial restrictions.
virtual void visit(const In &visited)
virtual void visit(const LiteralGeom &visited)
virtual void visit(const LiteralInt32 &visited)
virtual void visit(const SelectExpression &visited)
void addSpatialRestriction(const Function &f)
bool isSpatialRestrictionFunction(const Function &f) const
te::gm::Geometry * getGeometryRestriction(const Function &f) const
virtual void visit(const LiteralInt64 &visited)
virtual void visit(const SubSelect &visited)
bool isFromEnvelope(const Function &f) const
A Select can be used as a source of information in another query.
Geometry is the root class of the geometries hierarchy, it follows OGC and ISO standards.
Enumerations related to Geometry module.
Namespace for the DataAccess API of TerraLib.
Namespace for the Vector Geometry module of TerraLib.
SpatialRelation
Spatial relations between geometric objects.
const Function * m_function
The function that represents the spatial restriction.
bool m_isFromEnvelope
A flag that indicates if the spatial restriction uses an envelope.
te::gm::SpatialRelation m_type
The spatial restriction type.
std::size_t m_index
Internal index of the spatial restriction.
SpatialRestriction()
Default constructor.
std::string m_pname
The property name of the spatial restriction.
te::gm::Geometry * m_geometry
The geometry of the spatial restriction.
~SpatialRestriction()
Destructor.
#define TEDATAACCESSEXPORT
You can use this macro in order to export/import classes and functions from this module.