Web API Reference MapGuide Open Source

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

Comments or suggestions? Send us feedback.