MapGuide API Reference
 All Classes Functions Variables Enumerations Enumerator Friends
MgGeometry Class Reference

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

+ Inheritance diagram for MgGeometry:

List of all members.

Public Member Functions

virtual MgGeometryBoundary ()
virtual MgGeometryBuffer (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 MgGeometryConvexHull ()
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 MgGeometryDifference (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 MgGeometryIntersection (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 MgGeometrySymetricDifference (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 MgGeometryUnion (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