MgGeometry Class Reference
[MgGeometry]
Inherits MgGeometricEntity.
Inherited by MgAggregateGeometry, MgCurve, MgPoint, and MgRegion.
Detailed Description
MgGeometry is an abstract base class for all of the geometry types.
- Remarks:
- All of the geometries are constructed by calling non-static methods on an instance of MgGeometryFactory and are immutable once constructed.
- Note:
- The following analysis functions would throw MgGeometryException if called on an instance of MgMultiGeometry:
- Intersection
- Union
- Difference
- SymetricDifference
- Disjoint
- Touches
- Intersects
- Crosses
- Within
- Contains
- Overlaps
- Equals
Public Member Functions | |
virtual MgGeometry * | Boundary () |
| |
virtual MgGeometry * | Buffer (double distance, MgMeasure *measure) |
Returns a geometry that represents all points whose distance from this geometric entity is less than or equal to a given distance. By default, the distance computation is done using a linear algorithm unless a custom measure is supplied. | |
virtual bool | Contains (MgGeometry *other) |
virtual MgGeometry * | ConvexHull () |
| |
virtual bool | Crosses (MgGeometry *other) |
Given 2 geometries a and b, a.Crosses(b) is true if and only if the dimension of the intersection of the interior of a and the interior of b is less than the greater of the dimension of the interior of a and the dimension of the interior of b and the intersection of a and b is neither a nor b. | |
virtual MgGeometry * | Difference (MgGeometry *other) |
Returns a geometry that represents a point set difference between this geometric entity and another. | |
virtual bool | Disjoint (MgGeometry *other) |
Given 2 geometries a and b, a.Disjoint(b)is true if and only if the intersection of a and b is empty. | |
virtual double | Distance (MgGeometry *other, MgMeasure *measure) |
Returns the shortest distance between this geometry and another. By default distance computation is done using a linear algorithm unless a custom measure is supplied. | |
virtual bool | Equals (MgGeometry *other) |
Given 2 geometries a and b, a.Equals(b) is true if the 2 geometries are spatially equal. | |
virtual INT32 | GetGeometryType ()=0 |
Gets the type of this geometry. | |
virtual MgGeometry * | Intersection (MgGeometry *other) |
Returns a geometry that represents the point set intersection of this geometry and another. | |
virtual bool | Intersects (MgGeometry *other) |
This is a convenience method. Given 2 geometries a and b, a.Intersects(b) is true if and only if a.Disjoint (b) is false. | |
virtual bool | Overlaps (MgGeometry *other) |
Given 2 geometries a and b, a.Overlaps(b) is true if and only if the dimension of the interior of a equals the dimension of the interior of b equals the dimension of the intersection of the interior of a and the interior of b and the intersection of a and b is neither a nor b. | |
virtual MgGeometry * | SymetricDifference (MgGeometry *other) |
Returns a geometry that represents the point set symmetric difference of this geometry with another. | |
virtual bool | Touches (MgGeometry *other) |
Given 2 geometries a and b, a.Touches(b) is true if and only if the intersection of the interior of a and the interior of b is empty and the intersection of a and b is not empty. | |
virtual MgGeometry * | Union (MgGeometry *other) |
Returns a geometry that represents the point set union of this geometry with another. | |
virtual bool | Within (MgGeometry *other) |
Given 2 geometries a and b, a.Within(b) is true if and only if the intersection of a and b is a and the intersection of the interior of a and the interior of b is not empty. |