#include <IntersectionMatrix.h>
Public Member Functions | |
IntersectionMatrix () | |
Default constructor. | |
IntersectionMatrix (const std::string &elements) | |
Overriden constructor. | |
IntersectionMatrix (const IntersectionMatrix &other) | |
Copy constructor. | |
bool | matches (const std::string &requiredDimensionSymbols) const |
Returns whether the elements of this IntersectionMatrix satisfies the required dimension symbols. | |
void | add (IntersectionMatrix *other) |
Adds one matrix to another. | |
void | set (int row, int column, int dimensionValue) |
Changes the value of one of this IntersectionMatrixs elements. | |
void | set (const std::string &dimensionSymbols) |
Changes the elements of this IntersectionMatrix to the dimension symbols in dimensionSymbols. | |
void | setAtLeast (int row, int column, int minimumDimensionValue) |
Changes the specified element to minimumDimensionValue if the element is less. | |
void | setAtLeastIfValid (int row, int column, int minimumDimensionValue) |
If row >= 0 and column >= 0, changes the specified element to minimumDimensionValue if the element is less. Does nothing if row <0 or column < 0. | |
void | setAtLeast (std::string minimumDimensionSymbols) |
For each element in this IntersectionMatrix, changes the element to the corresponding minimum dimension symbol if the element is less. | |
void | setAll (int dimensionValue) |
Changes the elements of this IntersectionMatrix to dimensionValue. | |
int | get (int row, int column) const |
Returns the value of one of this IntersectionMatrixs elements. | |
bool | isDisjoint () const |
Returns true if this IntersectionMatrix is FF*FF****. | |
bool | isIntersects () const |
Returns true if isDisjoint returns false. | |
bool | isTouches (int dimensionOfGeometryA, int dimensionOfGeometryB) const |
Returns true if this IntersectionMatrix is FT*******, F**T***** or F***T****. | |
bool | isCrosses (int dimensionOfGeometryA, int dimensionOfGeometryB) const |
Returns true if this IntersectionMatrix is: -T*T****** (for a point and a curve, a point and an area or a line and an area) -0******** (for two curves). | |
bool | isWithin () const |
Returns true if this IntersectionMatrix is T*F**F***. | |
bool | isContains () const |
Returns true if this IntersectionMatrix is T*****FF*. | |
bool | isEquals (int dimensionOfGeometryA, int dimensionOfGeometryB) const |
Returns true if this IntersectionMatrix is T*F**FFF*. | |
bool | isOverlaps (int dimensionOfGeometryA, int dimensionOfGeometryB) const |
Returns true if this IntersectionMatrix is: -T*T***T** (for two points or two surfaces) -1*T***T** (for two curves). | |
bool | isCovers () const |
Returns true if this IntersectionMatrix is T*****FF* or *T****FF* or ***T**FF* or ****T*FF* . | |
bool | isCoveredBy () const |
Returns true if this IntersectionMatrix is T*F**F*** *TF**F*** or **FT*F*** or **F*TF*** . | |
IntersectionMatrix * | transpose () |
Transposes this IntersectionMatrix. | |
std::string | toString () const |
Returns a nine-character String representation of this IntersectionMatrix. | |
Static Public Member Functions | |
bool | matches (int actualDimensionValue, char requiredDimensionSymbol) |
Tests if given dimension value satisfies the dimension symbol. | |
bool | matches (const std::string &actualDimensionSymbols, const std::string &requiredDimensionSymbols) |
Returns true if each of the actual dimension symbols satisfies the corresponding required dimension symbol. |
Dimensionally Extended Nine-Intersection Model (DE-9IM) matrix. This class can used to represent both computed DE-9IM's (like 212FF1FF2) as well as patterns for matching them (like T*T******).
Methods are provided to:
For a description of the DE-9IM, see the OpenGIS Simple Features Specification for SQL.
|
Default constructor. Creates an IntersectionMatrix with Dimension::False dimension values ('F'). |
|
Overriden constructor. Creates an IntersectionMatrix with the given dimension symbols.
|
|
Copy constructor. Creates an IntersectionMatrix with the same elements as other.
|
|
Adds one matrix to another. Addition is defined by taking the maximum dimension value of each position in the summand matrices.
|
|
Returns the value of one of this IntersectionMatrixs elements.
|
|
Returns true if this IntersectionMatrix is T*****FF*.
|
|
Returns true if this IntersectionMatrix is
|
|
Returns true if this IntersectionMatrix is
|
|
Returns true if this IntersectionMatrix is: -T*T****** (for a point and a curve, a point and an area or a line and an area) -0******** (for two curves).
|
|
Returns true if this IntersectionMatrix is FF*FF****.
|
|
Returns true if this IntersectionMatrix is T*F**FFF*.
|
|
Returns true if isDisjoint returns false.
|
|
Returns true if this IntersectionMatrix is: -T*T***T** (for two points or two surfaces) -1*T***T** (for two curves).
|
|
Returns true if this IntersectionMatrix is FT*******, F**T***** or F***T****.
|
|
Returns true if this IntersectionMatrix is T*F**F***.
|
|
Returns true if each of the actual dimension symbols satisfies the corresponding required dimension symbol.
|
|
Tests if given dimension value satisfies the dimension symbol.
|
|
Returns whether the elements of this IntersectionMatrix satisfies the required dimension symbols.
|
|
Changes the elements of this IntersectionMatrix to the dimension symbols in dimensionSymbols.
|
|
Changes the value of one of this IntersectionMatrixs elements.
|
|
Changes the elements of this IntersectionMatrix to dimensionValue.
|
|
For each element in this IntersectionMatrix, changes the element to the corresponding minimum dimension symbol if the element is less.
|
|
Changes the specified element to minimumDimensionValue if the element is less.
|
|
If row >= 0 and column >= 0, changes the specified element to minimumDimensionValue if the element is less. Does nothing if row <0 or column < 0.
|
|
Returns a nine-character String representation of this IntersectionMatrix.
|
|
Transposes this IntersectionMatrix.
|