A convenient and more compact way of encoding the very common bounding box constraint based on an envelope. More...
#include <BBOXOp.h>
Public Types | |
| typedef void | ReturnType |
| typedef Visitor | VisitorType |
Public Member Functions | |
| virtual ReturnType | accept (VisitorType &guest) const =0 |
| It call the visit method from the guest object. More... | |
Initializer Methods | |
Methods related to instantiation and destruction. | |
| BBOXOp () | |
| It initializes a new BBOXOp. More... | |
| BBOXOp (PropertyName *p, te::gml::Envelope *e) | |
| It initializes a new BBOXOp. More... | |
| ~BBOXOp () | |
| Destructor. More... | |
Accessor methods | |
Methods used to get or set properties. | |
| void | setProperty (PropertyName *p) |
| It sets property name. More... | |
| PropertyName * | getProperty () const |
| It returns the property name. More... | |
| void | setEnvelope (te::gml::Envelope *e) |
| It sets the envelope. More... | |
| te::gml::Envelope * | getEnvelope () const |
| It returns the envelope. More... | |
| AbstractOp * | clone () const |
| It creates a new copy of this object. More... | |
Accessor methods | |
Methods used to get or set properties. | |
| const char * | getName () const |
| It returns the operator name. More... | |
| void | setName (const char *opName) |
| It sets the operator name. More... | |
Protected Attributes | |
| const char * | m_name |
| Operator name. More... | |
Private Attributes | |
| te::gml::Envelope * | m_envelope |
| Bounding box constraint. (Mandatory) More... | |
| PropertyName * | m_property |
| A geometric property. (theoretically it is optional, but it is required by the XML schema) More... | |
A convenient and more compact way of encoding the very common bounding box constraint based on an envelope.
It is equivalent to the spatial operation Not Disjoint, meaning that the BBOX operator should identify all geometries that spatially interact with the box. If the optional m_property element is not specified, the calling service must determine which spatial property is the spatial key and apply the BBOX operator accordingly. For feature types that has a single spatial property, this is a trivial matter. For feature types that have multiple spatial properties, the calling service either knows which spatial property is the spatial key, or the calling service generates an exception indicating that the feature contains multiple spatial properties and the m_property element must be specified. Of course, a client application always has the options of avoiding the exceptions by calling the DescribeFeatureType operation to get a description of the feature type.
|
inherited |
Definition at line 58 of file BaseVisitable.h.
|
inherited |
Definition at line 57 of file BaseVisitable.h.
| te::fe::BBOXOp::BBOXOp | ( | ) |
| te::fe::BBOXOp::BBOXOp | ( | PropertyName * | p, |
| te::gml::Envelope * | e | ||
| ) |
It initializes a new BBOXOp.
| p | The property name. |
| e | The envelope. |
| te::fe::BBOXOp::~BBOXOp | ( | ) |
|
pure virtualinherited |
It call the visit method from the guest object.
| guest | The guest or visitor. |
|
virtual |
It creates a new copy of this object.
Implements te::fe::AbstractOp.
Definition at line 67 of file BBOXOp.cpp.
References BBOXOp(), te::gml::Envelope::getCoordinates(), te::fe::PropertyName::getName(), te::gml::Envelope::getSRID(), m_envelope, m_property, setEnvelope(), and setProperty().
| te::gml::Envelope * te::fe::BBOXOp::getEnvelope | ( | ) | const |
It returns the envelope.
Definition at line 62 of file BBOXOp.cpp.
References m_envelope.
Referenced by te::map::QueryEncoder::visit().
|
inlineinherited |
It returns the operator name.
Definition at line 82 of file AbstractOp.h.
Referenced by GetQualifiedName(), te::map::QueryEncoder::visit(), and te::fe::serialize::AbstractOp::write().
| te::fe::PropertyName * te::fe::BBOXOp::getProperty | ( | ) | const |
It returns the property name.
Definition at line 51 of file BBOXOp.cpp.
References m_property.
Referenced by BBOXWriter(), and te::map::QueryEncoder::visit().
| void te::fe::BBOXOp::setEnvelope | ( | te::gml::Envelope * | e | ) |
It sets the envelope.
| e | The envelope. |
Definition at line 56 of file BBOXOp.cpp.
References m_envelope.
Referenced by clone().
|
inlineinherited |
It sets the operator name.
| opName | The operator name. |
Definition at line 89 of file AbstractOp.h.
Referenced by te::fe::ComparisonOp::clone(), te::fe::SpatialOp::clone(), te::fe::LogicOp::clone(), te::fe::PropertyIsNull::clone(), te::fe::UnaryLogicOp::clone(), te::fe::PropertyIsBetween::clone(), te::fe::BinaryLogicOp::clone(), te::fe::DistanceBuffer::clone(), te::fe::BinaryComparisonOp::clone(), and te::fe::BinarySpatialOp::clone().
| void te::fe::BBOXOp::setProperty | ( | PropertyName * | p | ) |
It sets property name.
| p | The property name. |
Definition at line 45 of file BBOXOp.cpp.
References m_property, and p.
Referenced by clone().
|
private |
Bounding box constraint. (Mandatory)
Definition at line 145 of file BBOXOp.h.
Referenced by clone(), getEnvelope(), setEnvelope(), and ~BBOXOp().
|
protectedinherited |
Operator name.
Definition at line 123 of file AbstractOp.h.
Referenced by te::fe::ComparisonOp::clone(), te::fe::SpatialOp::clone(), te::fe::LogicOp::clone(), te::fe::PropertyIsNull::clone(), te::fe::UnaryLogicOp::clone(), te::fe::PropertyIsBetween::clone(), te::fe::BinaryLogicOp::clone(), te::fe::DistanceBuffer::clone(), te::fe::BinaryComparisonOp::clone(), and te::fe::BinarySpatialOp::clone().
|
private |
A geometric property. (theoretically it is optional, but it is required by the XML schema)
Definition at line 144 of file BBOXOp.h.
Referenced by clone(), getProperty(), setProperty(), and ~BBOXOp().