Web API Reference | MapGuide Open Source

- Overview
- Modules
- Classes

# MgGeometry Class Reference
[MgGeometry]

MgGeometry is an abstract base class for all of the geometry types. More...

Inherits MgGeometricEntity.

Inherited by MgAggregateGeometry, MgCurve, MgPoint, and MgRegion.

List of all members.

## 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.

## 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:
  1. Intersection
  2. Union
  3. Difference
  4. SymetricDifference
  5. Disjoint
  6. Touches
  7. Intersects
  8. Crosses
  9. Within
  10. Contains
  11. Overlaps
  12. Equals

Comments or suggestions? Send us feedback.