[mapguide-commits] r7282 - trunk/MgDev/Common/Geometry/CoordinateSystem
svn_mapguide at osgeo.org
svn_mapguide at osgeo.org
Mon Dec 24 00:21:46 PST 2012
Author: jng
Date: 2012-12-24 00:21:46 -0800 (Mon, 24 Dec 2012)
New Revision: 7282
Modified:
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGrids.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionInformation.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionLogicalType.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionParameterType.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemTransform.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitCode.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitInformation.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitType.h
trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemWktFlavor.h
Log:
#2097: More API commentary for MgGeometry
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGrids.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGrids.h 2012-12-19 23:09:57 UTC (rev 7281)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemGrids.h 2012-12-24 08:21:46 UTC (rev 7282)
@@ -59,12 +59,14 @@
/// convey all the parameters necessary for the generation of a grid/graticule
/// lumped into a single object for convenience. Thus, adding a parameter
/// determined to be necessary at a later time does not alter a lot of calling
-/// sequences.\n
+/// sequences.
+///
/// Note that this interface is an abstract interface. There is code
/// associated with the implementation of this interface which is used to
/// handle the conversion of parameters between the various unit systems.
/// Thus, one obtains a MgCoordinateSystemGridSpecification from the
-/// MgCoordinateSystemFactory object.\n
+/// MgCoordinateSystemFactory object.
+///
/// Note that all values are provided in the units specified within the object.
/// The units used in this object do <b>not</b> need to be the same as any
/// coordinate system involved in the generation of a grid, although the
@@ -77,36 +79,36 @@
{
PUBLISHED_API:
///////////////////////////////////////////////////////////////////////////
- /// <summary>
+ /// \brief
/// Gets the easting base value.
- /// </summary>
- /// <returns>
+ ///
+ /// \return
/// Returns the current value of the easting base member.
- /// </returns>
- /// <remarks>
+ ///
+ /// \remarks
/// The base value is the base upon which grid values are determined.
/// Thus, a grid with and increment of, say, two degrees, can actually
/// start at one (the base) yielding grid lines at 1, 3, 5, 7, etc.
- /// </remarks>
+ ///
virtual double GetEastingBase (void)=0;
///////////////////////////////////////////////////////////////////////////
- /// <summary>
+ /// \brief
/// Gets the northing base value.
- /// </summary>
- /// <returns>
+ ///
+ /// \return
/// Returns the current value of the northing base member.
- /// </returns>
- /// <remarks>
+ ///
+ /// \remarks
/// The base value is the base upon which grid values are determined.
/// Thus, a grid with and increment of, say, two degrees, can actually
/// start at one (the base) yielding grid lines at 1, 3, 5, 7, etc.
- /// </remarks>
+ ///
virtual double GetNorthingBase (void)=0;
///////////////////////////////////////////////////////////////////////////
/// \brief
- /// Gets the easting increment value.
+ /// Gets the easting increment value (the interval between easting grid lines).
///
/// <!-- Syntax in .Net, Java, and PHP -->
/// \htmlinclude DotNetSyntaxTop.html
@@ -432,7 +434,7 @@
///////////////////////////////////////////////////////////////////////////
/// \brief
- /// Sets the desired precision of complecx curve approximations.
+ /// Sets the desired precision of complex curve approximations.
///
/// <!-- Syntax in .Net, Java, and PHP -->
/// \htmlinclude DotNetSyntaxTop.html
@@ -679,13 +681,15 @@
//=============================================================================
// External to this interface, boundary objects are always in the viewport
// (i.e. target) coordinate system.
+///////////////////////////////////////////////////////////////////////////
/// \brief
/// This object is used to maintain the definition of the boundary of a
/// specific grid or graticule. Externally, a
/// MgCoordinateSystemGridBoundary object will be in viewport
/// coordinates. Internally, objects of this type are often used to the
/// carry grid boundaries in grid coordinates, and also greographic
-/// coordinates.\n
+/// coordinates.
+///
/// Grid boundaries iusually start out as rectangles, but are often converted
/// to a series of complex curves approximated by multi-segment lines (i.e.
/// line strings).
@@ -697,8 +701,39 @@
// Contrary to other envelope objects, the first of these overloads specifically
// requires that the southwest argument indeed be southwest of the northeast
// argument. Necessary to support geographic coordinate systems (i.e. +/- 180).
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Sets the extents of this grid boundary
+ ///
+ /// \param southwest (MgCoordinate)
+ /// The southwest coordinate of the extents
+ /// \param northwest (MgCoordinate)
+ /// The northwest coordinate of the extents
+ ///
+ /// \remarks
+ /// Contrary to other envelope objects, this method specifically
+ /// requires that the southwest argument indeed be southwest of the northeast
+ /// argument. Necessary to support geographic coordinate systems (i.e. +/- 180).
+ ///
virtual void SetBoundaryExtents (MgCoordinate* southwest,MgCoordinate* northeast)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Sets the extents of this grid boundary
+ ///
+ /// \param boundary (MgPolygon)
+ /// The extents of this grid boundary
+ ///
virtual void SetBoundaryExtents (MgPolygon* boundary)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the geometry representing the grid boundary
+ ///
+ /// \return
+ /// The polygon geometry representing the grid boundary
+ ///
virtual MgPolygon* GetBoundary (void) const=0;
INTERNAL_API:
@@ -726,25 +761,112 @@
class MG_GEOMETRY_API MgCoordinateSystemGridBase : public MgGuardDisposable
{
PUBLISHED_API:
- // The following may be somewhat redendant in view of the fact that all grid
+ // The following may be somewhat redundant in view of the fact that all grid
// specialization objects will have their own ClassID value. Nevertheless,
// the specialization type enumeration and this function are provided to
// support exposure of this interface to other environments in a standard
// pre-determined manner. In this manner, therefore. this module will
// continue to control the ID associated with any given specialization.
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the specialized type of this grid instance. Value can be any value from MgCoordinateSystemGridSpecializationType
+ ///
+ /// \return
+ /// The specialized type of this grid instance (MgCoordinateSystemGridSpecializationType)
+ ///
virtual INT32 GetSpecializationType ()=0;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Sets the boundary of this grid instance
+ ///
+ /// \param pGridBoundary (MgCoordinateSystemGridBoundary)
+ /// The boundary
+ ///
virtual void SetBoundary (MgCoordinateSystemGridBoundary* pGridBoundary) = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the boundary of this grid instance
+ ///
+ /// \return
+ /// The boundary of this grid instance
+ ///
virtual MgCoordinateSystemGridBoundary* GetBoundary(void)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the grid lines for this grid instance for the given grid specification
+ ///
+ /// \param specification (MgCoordinateSystemGridSpecification)
+ /// The grid specification
+ ///
+ /// \return
+ /// The collection of grid lines
+ ///
virtual MgCoordinateSystemGridLineCollection* GetGridLines (MgCoordinateSystemGridSpecification* specification)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the grid regions for this grid instance for the given grid specification
+ ///
+ /// \param specification (MgCoordinateSystemGridSpecification)
+ /// The grid specification
+ ///
+ /// \return
+ /// The collection of grid regions
+ ///
virtual MgCoordinateSystemGridRegionCollection* GetGridRegions (MgCoordinateSystemGridSpecification* specification)=0;
- // The following generates grid ticks for the grid boundary.
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Generates grid ticks for the grid boundary.
+ ///
+ /// \param specification (MgCoordinateSystemGridSpecification)
+ /// The grid specification
+ ///
+ /// \return
+ /// The collection of grid ticks for the grid boundary
+ ///
virtual MgCoordinateSystemGridTickCollection* GetGridTicks (MgCoordinateSystemGridSpecification* specification)=0;
// The following can be of value for rendering and stylization objects
// which need to render north arrows, scale bars, etc. Location
// parameter is always in viewport/frame coordinates.
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the convergence angle for the given location
+ ///
+ /// \param location (MgCoordinate)
+ /// The location
+ ///
+ /// \return
+ /// The convergence angle for the given location
+ ///
+ /// \remarks
+ /// The following can be of value for rendering and stylization objects
+ /// which need to render north arrows, scale bars, etc. Location
+ /// parameter is always in viewport/frame coordinates.
+ ///
virtual double GetConvergenceAngle (MgCoordinate* location) = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the projective grid scale for the given location
+ ///
+ /// \param location (MgCoordinate)
+ /// The location
+ ///
+ /// \return
+ /// The projective grid scale for the given location
+ ///
+ /// \remarks
+ /// The following can be of value for rendering and stylization objects
+ /// which need to render north arrows, scale bars, etc. Location
+ /// parameter is always in viewport/frame coordinates.
+ ///
virtual double GetProjectiveGridScale (MgCoordinate* location) = 0;
// The following may be used to determine if a specific grid generation
@@ -752,8 +874,62 @@
// The proposed grid boundary for the grid object hosting this interface must
// set prior to calling this function. Failure to do so will cause a -1
// return value.
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Calculates the approximate amount of memory required to generated grid lines for this instance
+ ///
+ /// \param specification (MgCoordinateSystemGridSpecification)
+ /// The grid specification
+ ///
+ /// \return
+ /// The approximate memory usage in bytes
+ ///
+ /// \remarks
+ /// This method may be used to determine if a specific grid generation
+ /// should be attempted. The returned values are approximate and is in bytes.
+ /// The proposed grid boundary for the grid object hosting this interface must
+ /// set prior to calling this function. Failure to do so will cause a -1
+ /// return value.
+ ///
virtual INT32 ApproxGridLineMemoryUsage (MgCoordinateSystemGridSpecification* specification) = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Calculates the approximate amount of memory required to generated grid regions for this instance
+ ///
+ /// \param specification (MgCoordinateSystemGridSpecification)
+ /// The grid specification
+ ///
+ /// \return
+ /// The approximate memory usage in bytes
+ ///
+ /// \remarks
+ /// This method may be used to determine if a specific grid generation
+ /// should be attempted. The returned values are approximate and is in bytes.
+ /// The proposed grid boundary for the grid object hosting this interface must
+ /// set prior to calling this function. Failure to do so will cause a -1
+ /// return value.
+ ///
virtual INT32 ApproxGridRegionMemoryUsage (MgCoordinateSystemGridSpecification* specification) = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Calculates the approximate amount of memory required to generated grid ticks for this instance
+ ///
+ /// \param specification (MgCoordinateSystemGridSpecification)
+ /// The grid specification
+ ///
+ /// \return
+ /// The approximate memory usage in bytes
+ ///
+ /// \remarks
+ /// This method may be used to determine if a specific grid generation
+ /// should be attempted. The returned values are approximate and is in bytes.
+ /// The proposed grid boundary for the grid object hosting this interface must
+ /// set prior to calling this function. Failure to do so will cause a -1
+ /// return value.
+ ///
virtual INT32 ApproxGridTickMemoryUsage (MgCoordinateSystemGridSpecification* specification) = 0;
// Each grid object establishes a hard coded value and will throw an exception
@@ -763,13 +939,104 @@
// only within the existence of the modified object.
// These functions return the previous value and make no changes if the argument
// value is less than 10MB. The memoryUseMax argument is always in bytes.
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Sets the amount of memory at which an exception will be thrown if generating a grid line
+ /// collection that would exceed the specified value in memory usage
+ ///
+ /// \param memoryUseMax (int)
+ /// The memory limit in bytes
+ ///
+ /// \return
+ /// The new memory limit
+ ///
+ /// \remarks
+ /// Each grid object establishes a hard coded value and will throw an exception
+ /// before generating a grid which, accordinag to the grid object estimates, will
+ /// cause memory usage to exceed the hard coded value. This method can be used to
+ /// to modify the threshold for the exception. Such modification remains in effect
+ /// only within the existence of the modified object.
+ /// These functions return the previous value and make no changes if the argument
+ /// value is less than 10MB. The memoryUseMax argument is always in bytes.
+ ///
virtual INT32 SetGridLineExceptionLevel (INT32 memoryUseMax) = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Sets the amount of memory at which an exception will be thrown if generating a grid region
+ /// collection that would exceed the specified value in memory usage
+ ///
+ /// \param memoryUseMax (int)
+ /// The memory limit in bytes
+ ///
+ /// \return
+ /// The new memory limit
+ ///
+ /// \remarks
+ /// Each grid object establishes a hard coded value and will throw an exception
+ /// before generating a grid which, accordinag to the grid object estimates, will
+ /// cause memory usage to exceed the hard coded value. This method can be used to
+ /// to modify the threshold for the exception. Such modification remains in effect
+ /// only within the existence of the modified object.
+ /// These functions return the previous value and make no changes if the argument
+ /// value is less than 10MB. The memoryUseMax argument is always in bytes.
+ ///
virtual INT32 SetGridRegionExceptionLevel (INT32 memoryUseMax) = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Sets the amount of memory at which an exception will be thrown if generating a grid tick
+ /// collection that would exceed the specified value in memory usage
+ ///
+ /// \param memoryUseMax (int)
+ /// The memory limit in bytes
+ ///
+ /// \return
+ /// The new memory limit
+ ///
+ /// \remarks
+ /// Each grid object establishes a hard coded value and will throw an exception
+ /// before generating a grid which, accordinag to the grid object estimates, will
+ /// cause memory usage to exceed the hard coded value. This method can be used to
+ /// to modify the threshold for the exception. Such modification remains in effect
+ /// only within the existence of the modified object.
+ /// These functions return the previous value and make no changes if the argument
+ /// value is less than 10MB. The memoryUseMax argument is always in bytes.
+ ///
virtual INT32 SetGridTickExceptionLevel (INT32 memoryUseMax) = 0;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Returns the last error code
+ ///
+ /// \return
+ /// The last error code
+ ///
virtual INT32 GetLastError() = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Resets the last error code
+ ///
virtual void ResetLastError()= 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets whether exceptions are enabled for this instance
+ ///
+ /// \return
+ /// true if exceptions are enabled. false otherwise
+ ///
virtual bool AreExceptionsOn() = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Enables or disables exceptions for this instance
+ ///
+ /// \param bOn (boolean/bool)
+ /// true to enable exceptions. false to disable exceptions
+ ///
virtual void SetExceptionsOn(bool bOn) = 0;
INTERNAL_API:
protected:
@@ -782,22 +1049,74 @@
/// \ingroup Coordinate_System_classes
/// \{
-//=============================================================================
-// An MgCoordinateSystemGridLine object is a grid value (as a double) and a
-// collection of line strings, where each individual line string being
-// considered a grid line segment. All line strings in the collection are in
-// the viewport coordinate system. The value returned by GetGridOrientation
-// indicates the nature of the grid line in grid coordinates (i.e. easting or
-// northing).
+////////////////////////////////////////////////////////////////
+/// \brief
+/// An MgCoordinateSystemGridLine object is a grid value (as a double) and a
+/// collection of line strings, where each individual line string being
+/// considered a grid line segment. All line strings in the collection are in
+/// the viewport coordinate system. The value returned by GetGridOrientation
+/// indicates the nature of the grid line in grid coordinates (i.e. easting or
+/// northing).
+///
/// \since 2.2
class MG_GEOMETRY_API MgCoordinateSystemGridLine : public MgGuardDisposable
{
PUBLISHED_API:
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the grid orientation for this instance (see MgCoordinateSystemGridOrientation)
+ ///
+ /// \return
+ /// The grid orientation for this instance (see MgCoordinateSystemGridOrientation)
+ ///
virtual INT32 GetGridOrientation(void)= 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the real value for this instance
+ ///
+ /// \return
+ /// The real value for this instance
+ ///
virtual double GetRealValue(void)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the number of line segments in this instance
+ ///
+ /// \return
+ /// The number of line segments in this instance
+ ///
virtual INT32 GetCount (void) = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the line segment at the specified index
+ ///
+ /// \param index (int)
+ /// The index at which to retrieve the line segment
+ ///
+ /// \return
+ /// The MgLineString at the specified index
+ ///
virtual MgLineString* GetSegment (INT32 index)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the entire line segment collection
+ ///
+ /// \return
+ /// The MgLineStringCollection containing the line segments
+ ///
virtual MgLineStringCollection* GetSegmentCollection(void)= 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Sets the entire line segment collection
+ ///
+ /// \param segmentCollection (MgLineStringCollection)
+ /// The line segment collection
+ ///
virtual void SetSegmentCollection (MgLineStringCollection* segmentCollection) = 0;
INTERNAL_API:
protected:
@@ -823,22 +1142,107 @@
// will be deprecated in the next release. //
// //
///////////////////////////////////////////////////////////////////////////////
+
///////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// An MgCoordinateSystemGridRegion object consists of a label and a polygon.
+/// The polygon is always in the viewport coordinate system. Such an object
+/// is used, for example, to label and delineate an MGRS 100Km UTM grid zone.
+///
/// \since 2.2
class MG_GEOMETRY_API MgCoordinateSystemGridRegion : public MgGuardDisposable
{
PUBLISHED_API:
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the label for this region
+ ///
+ /// \return
+ /// The label for this region
+ ///
virtual STRING GetLabel () = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the center of this region
+ ///
+ /// \return
+ /// The center (MgCoordinate) of this region
+ ///
virtual MgCoordinate* GetRegionCenter (void) = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the boundary geometry of this region
+ ///
+ /// \return
+ /// The boundary geometry (MgPolygon) of this region
+ ///
virtual MgPolygon* GetRegionBoundary (void) = 0;
// The returns from the following members are clipped to the frame boundary
// of the grid object from which the region object was obtained. Since it
// is possible (rare, but possible) that a region boundary line enters and
// leaves the frame boundary more than once.
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the south line of this region
+ ///
+ /// \return
+ /// The south line (MgLineStringCollection) of this region
+ ///
+ /// \remarks
+ /// The return value is clipped to the frame boundary
+ /// of the grid object from which the region object was obtained. Since it
+ /// is possible (rare, but possible) that a region boundary line enters and
+ /// leaves the frame boundary more than once.
+ ///
virtual MgLineStringCollection* GetSouthLine (void) = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the east line of this region
+ ///
+ /// \return
+ /// The east line (MgLineStringCollection) of this region
+ ///
+ /// \remarks
+ /// The return value is clipped to the frame boundary
+ /// of the grid object from which the region object was obtained. Since it
+ /// is possible (rare, but possible) that a region boundary line enters and
+ /// leaves the frame boundary more than once.
+ ///
virtual MgLineStringCollection* GetEastLine (void) = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the north line of this region
+ ///
+ /// \return
+ /// The north line (MgLineStringCollection) of this region
+ ///
+ /// \remarks
+ /// The return value is clipped to the frame boundary
+ /// of the grid object from which the region object was obtained. Since it
+ /// is possible (rare, but possible) that a region boundary line enters and
+ /// leaves the frame boundary more than once.
+ ///
virtual MgLineStringCollection* GetNorthLine (void) = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the west line of this region
+ ///
+ /// \return
+ /// The west line (MgLineStringCollection) of this region
+ ///
+ /// \remarks
+ /// The return value is clipped to the frame boundary
+ /// of the grid object from which the region object was obtained. Since it
+ /// is possible (rare, but possible) that a region boundary line enters and
+ /// leaves the frame boundary more than once.
+ ///
virtual MgLineStringCollection* GetWestLine (void) = 0;
INTERNAL_API:
@@ -853,22 +1257,63 @@
/// \defgroup MgCoordinateSystemGridTick MgCoordinateSystemGridTick
/// \ingroup Coordinate_System_classes
/// \{
-//=============================================================================
-// An MgCoordinateSystemGridTick object consists of a grid value, a tick
-// location point in viewport coordinates, and a 2D unit direction vector.
-// Position is the position of the tick mark on a grid or boundary line. The
-// 2D unit direction vector is the direction of the line at the position given.
-// In the case of a tick mark on a boundary line, since boundary lines are
-// always maintained in the counterclockwise direction, the interior of the
-// viewport will always be to the left of the direction vector.
+///////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// An MgCoordinateSystemGridTick object consists of a grid value, a tick
+/// location point in viewport coordinates, and a 2D unit direction vector.
+/// Position is the position of the tick mark on a grid or boundary line. The
+/// 2D unit direction vector is the direction of the line at the position given.
+/// In the case of a tick mark on a boundary line, since boundary lines are
+/// always maintained in the counterclockwise direction, the interior of the
+/// viewport will always be to the left of the direction vector.
+///
/// \since 2.2
class MG_GEOMETRY_API MgCoordinateSystemGridTick : public MgGuardDisposable
{
PUBLISHED_API:
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets whether this grid tick is on a grid line
+ ///
+ /// \return
+ /// true if this grid tick is on a grid line. false otherwise
+ ///
virtual bool GetIsOnGridLine () = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the tick orientation (see MgCoordinateSystemGridOrientation for valid values)
+ ///
+ /// \return
+ /// The tick orientation
+ ///
virtual INT32 GetTickOrientation () = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the tick value
+ ///
+ /// \return
+ /// The tick value
+ ///
virtual double GetValue () = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the tick position
+ ///
+ /// \return
+ /// The tick position
+ ///
virtual MgCoordinate* GetPosition () = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the tick's direction vector
+ ///
+ /// \return
+ /// The tick's direction vector
+ ///
virtual MgCoordinate* GetDirectionVector () = 0;
INTERNAL_API:
protected:
@@ -881,20 +1326,66 @@
/// \defgroup MgCoordinateSystemGridLineCollection MgCoordinateSystemGridLineCollection
/// \ingroup Coordinate_System_classes
/// \{
-//=============================================================================
-// An MgCoordinateSystemGridLineCollection is collection of
-// MgCoordinateSystemGridLine objects. As manufactured, grid horizontal lines
-// appear first in ascending order by grid value (easting in this case);
-// followed by grid vertical lines in ascending order by grid value (northing
-// in this case).
+///////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// An MgCoordinateSystemGridLineCollection is collection of
+/// MgCoordinateSystemGridLine objects. As manufactured, grid horizontal lines
+/// appear first in ascending order by grid value (easting in this case);
+/// followed by grid vertical lines in ascending order by grid value (northing
+/// in this case).
+///
/// \since 2.2
class MG_GEOMETRY_API MgCoordinateSystemGridLineCollection : public MgGuardDisposable
{
PUBLISHED_API:
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the number of grid lines in this collection
+ ///
+ /// \return
+ /// The number of grid lines in this collection
+ ///
virtual INT32 GetCount () const=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the grid line at the specified index
+ ///
+ /// \param index (int)
+ /// The index
+ ///
+ /// \return
+ /// The grid line (MgCoordinateSystemGridLine) at the specified index
+ ///
virtual MgCoordinateSystemGridLine* GetItem (INT32 index) const=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the index of the given grid orientation and value
+ ///
+ /// \param gridOrientation (int)
+ /// The grid orientation
+ /// \param gridValue (double)
+ /// The grid value
+ ///
+ /// \return
+ /// The index of the given grid orientation and value
+ ///
virtual INT32 IndexOf (INT32 gridOrientation,double gridValue) const=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Removes the grid line at the specified index
+ ///
+ /// \param index (int)
+ /// The index to remove
+ ///
virtual void RemoveAt (INT32 index)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Removes all grid lines from this collection
+ ///
virtual void Clear()=0;
INTERNAL_API:
virtual void SetItem (INT32 index, MgCoordinateSystemGridLine* value)=0;
@@ -911,16 +1402,48 @@
/// \defgroup MgCoordinateSystemGridRegionCollection MgCoordinateSystemGridRegionCollection
/// \ingroup Coordinate_System_classes
/// \{
-//=============================================================================
-// An MgCoordinateSystemGridRegionCollection is collection of
-// MgCoordinateSystemGridRegion objects.
+///////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// An MgCoordinateSystemGridRegionCollection is collection of
+/// MgCoordinateSystemGridRegion objects.
/// \since 2.2
class MG_GEOMETRY_API MgCoordinateSystemGridRegionCollection : public MgGuardDisposable
{
PUBLISHED_API:
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the number of grid regions in this collection
+ ///
+ /// \return
+ /// The number of grid regions in this collection
+ ///
virtual INT32 GetCount () const=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the grid region at the specified index
+ ///
+ /// \param index (int)
+ /// The index
+ ///
+ /// \return
+ /// The grid region (MgCoordinateSystemGridRegion) at the specified index
+ ///
virtual MgCoordinateSystemGridRegion* GetItem (INT32 index) const=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Removes the grid region at the specified index
+ ///
+ /// \param index (int)
+ /// The index to remove
+ ///
virtual void RemoveAt (INT32 index)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Removes all grid regions from this collection
+ ///
virtual void Clear()=0;
INTERNAL_API:
virtual void SetItem (INT32 index, MgCoordinateSystemGridRegion* value)=0;
@@ -936,18 +1459,50 @@
/// \defgroup MgCoordinateSystemGridTickCollection MgCoordinateSystemGridTickCollection
/// \ingroup Coordinate_System_classes
/// \{
-//=============================================================================
-// An MgCoordinateSystemGridTickCollection is collection of
-// MgCoordinateSystemGridTick objects. MgCoordinateSystemGridTickCollection
-// objects will contain MgCoordinateSystemGridTick objects for the entire
-// boundary, or for an individual grid line.
+///////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// An MgCoordinateSystemGridTickCollection is collection of
+/// MgCoordinateSystemGridTick objects. MgCoordinateSystemGridTickCollection
+/// objects will contain MgCoordinateSystemGridTick objects for the entire
+/// boundary, or for an individual grid line.
/// \since 2.2
class MG_GEOMETRY_API MgCoordinateSystemGridTickCollection : public MgGuardDisposable
{
PUBLISHED_API:
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the number of grid ticks in this collection
+ ///
+ /// \return
+ /// The number of grid ticks in this collection
+ ///
virtual INT32 GetCount () const=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the grid tick at the specified index
+ ///
+ /// \param index (int)
+ /// The index
+ ///
+ /// \return
+ /// The grid tick (MgCoordinateSystemGridTick) at the specified index
+ ///
virtual MgCoordinateSystemGridTick* GetItem (INT32 index) const=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Removes the grid tick at the specified index
+ ///
+ /// \param index (int)
+ /// The index to remove
+ ///
virtual void RemoveAt (INT32 index)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Removes all grid ticks from this collection
+ ///
virtual void Clear()=0;
INTERNAL_API:
virtual void SetItem (INT32 index, MgCoordinateSystemGridTick* value)=0;
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionInformation.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionInformation.h 2012-12-19 23:09:57 UTC (rev 7281)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionInformation.h 2012-12-24 08:21:46 UTC (rev 7282)
@@ -18,6 +18,10 @@
#ifndef _MGCOORDINATESYSTEMPROJECTIONINFORMATION_H_
#define _MGCOORDINATESYSTEMPROJECTIONINFORMATION_H_
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Represents information about a coordinate system projection
+///
class MgCoordinateSystemProjectionInformation : public MgGuardDisposable
{
DECLARE_CLASSNAME(MgCoordinateSystemProjectionInformation)
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionLogicalType.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionLogicalType.h 2012-12-19 23:09:57 UTC (rev 7281)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionLogicalType.h 2012-12-24 08:21:46 UTC (rev 7282)
@@ -24,24 +24,88 @@
///////////////////////////////////////////////////////////////
/// \brief
+/// Defines the logical types of a coordinate system projection
///
-///
class MG_GEOMETRY_API MgCoordinateSystemProjectionLogicalType
{
PUBLISHED_API:
- static const INT32 None = 0; //no specification
- static const INT32 Longitude = 1; //longitude
- static const INT32 Latitude = 2; //latitude
- static const INT32 Azimuth = 3; //azimuth
- static const INT32 AngularDistance = 4; //angular distance
- static const INT32 ComplexCoefficient = 5; //complex coefficient
- static const INT32 UTMZoneNumber = 6; //UTM zone number
- static const INT32 HemisphereSelection = 7; //hemisphere selection: north > 0, south < 0
- static const INT32 GeoidHeight = 8; //geoid height in meters
- static const INT32 Elevation = 9; //elevation, system units
- static const INT32 AffineCoefficient = 10; //affine coefficient
- static const INT32 XYCoordinate = 11; //X/Y Coordinate
- static const INT32 Scale = 12; //Scale value
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// no specification
+ ///
+ static const INT32 None = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// longitude
+ ///
+ static const INT32 Longitude = 1;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// latitude
+ ///
+ static const INT32 Latitude = 2;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// azimuth
+ ///
+ static const INT32 Azimuth = 3;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// angular distance
+ ///
+ static const INT32 AngularDistance = 4;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// complex coefficient
+ ///
+ static const INT32 ComplexCoefficient = 5;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// UTM zone number
+ ///
+ static const INT32 UTMZoneNumber = 6;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// hemisphere selection: north > 0, south < 0
+ ///
+ static const INT32 HemisphereSelection = 7;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// geoid height in meters
+ ///
+ static const INT32 GeoidHeight = 8;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// elevation, system units
+ ///
+ static const INT32 Elevation = 9;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// affine coefficient
+ ///
+ static const INT32 AffineCoefficient = 10;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// X/Y Coordinate
+ ///
+ static const INT32 XYCoordinate = 11;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Scale value
+ ///
+ static const INT32 Scale = 12;
};
/// \}
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionParameterType.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionParameterType.h 2012-12-19 23:09:57 UTC (rev 7281)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemProjectionParameterType.h 2012-12-24 08:21:46 UTC (rev 7282)
@@ -24,59 +24,298 @@
///////////////////////////////////////////////////////////////
/// \brief
+/// Defines the types of coordinate system projection parameters
///
-///
class MG_GEOMETRY_API MgCoordinateSystemProjectionParameterType
{
PUBLISHED_API:
- static const INT32 NotUsed = 0; //Not used.
- static const INT32 Cntmer = 1; //Central Meridian
- static const INT32 Nstdpll = 2; //Northern Standard Parallel
- static const INT32 Sstdpll = 3; //Southern Standard Parallel
- static const INT32 Stdpll = 4; //Standard Parallel
- static const INT32 Gcp1lng = 5; //First Great Circle Point Longitude
- static const INT32 Gcp1lat = 6; //First Great Circle Point Latitude
- static const INT32 Gcp2lng = 7; //Second Great Circle Point Longitude
- static const INT32 Gcp2lat = 8; //Second Great Circle Point Latitude
- static const INT32 Gcplng = 9; //Great Circle Point Longitude
- static const INT32 Gcplat = 10; //Great Circle Point Latitude
- static const INT32 Gcazm = 11; //Great Circle Azimuth
- static const INT32 Yaxisaz = 12; //Y axis azimuth
- static const INT32 Estdmer = 13; //Eastern Standard Meridian
- static const INT32 Nparall = 14; //Northern Parallel
- static const INT32 Sparall = 15; //Southern Parallel
- static const INT32 P1lng = 16; //First pole longitude
- static const INT32 P1lat = 17; //First pole latitude
- static const INT32 P2lng = 18; //Second pole longitude
- static const INT32 P2lat = 19; //Second pole latitude
- static const INT32 Adp1p2 = 20; //Distance between the poles.
- static const INT32 Adsp1 = 21; //Angular distance to the first standard parallel
- static const INT32 Adsp2 = 22; //Angular distance to the second standard parallel
- static const INT32 Cmplxan = 23; //Complex Parameter A (n). Label string includes a %s for generation by sprintf.
- static const INT32 Cmplxbn = 24; //Complex Parameter B (n). Label string includes a %s for generation by sprintf.
- static const INT32 Westll = 25; //Western end of Longitude range.
- static const INT32 Eastll = 26; //Eastern end of Longitude range.
- static const INT32 Utmzn = 27; //UTM Zone Number
- static const INT32 Hsns = 28; //North/South Hemisphere
- static const INT32 Ghgt = 29; //Average Geoid Height
- static const INT32 Aelev = 30; //Average Elevation
- static const INT32 Polelng = 31; //Oblique Pole Longitude
- static const INT32 Polelat = 32; //Oblique Pole Latitude
- static const INT32 Ostdpll = 33; //Oblique Cone Standard Parallel
- static const INT32 Stdcir = 34; //Standard Circle Latitude
- static const INT32 Afa0 = 35; //Affine A0 Coefficient
- static const INT32 Afb0 = 36; //Affine B0 Coefficient
- static const INT32 Afa1 = 37; //Affine A1 Coefficient
- static const INT32 Afa2 = 38; //Affine A2 Coefficient
- static const INT32 Afb1 = 39; //Affine B1 Coefficient
- static const INT32 Afb2 = 40; //Affine B2 Coefficient
- static const INT32 Nrmlpll = 41; //Normal Parallel
- static const INT32 Denrgn = 42; //Danish System 24 Region
- static const INT32 Skwazm = 43; //cs_PRMCOD_SKWAZM - Skew Azimuth at Rectified Origin.
- static const INT32 Sclrotorgx = 44; //X Coordinate of Scale/Roatet Origin
- static const INT32 Sclrotorgy = 45; //Y Coordinate of Scale/Roatet Origin
- static const INT32 Nrthscl = 46; //Cartesian Scale Factor
- static const INT32 Nrthrot = 47; //Cartesian Rotation Angle
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Not used.
+ ///
+ static const INT32 NotUsed = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Central Meridian
+ ///
+ static const INT32 Cntmer = 1;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Northern Standard Parallel
+ ///
+ static const INT32 Nstdpll = 2;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Southern Standard Parallel
+ ///
+ static const INT32 Sstdpll = 3;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Standard Parallel
+ ///
+ static const INT32 Stdpll = 4;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// First Great Circle Point Longitude
+ ///
+ static const INT32 Gcp1lng = 5;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// First Great Circle Point Latitude
+ ///
+ static const INT32 Gcp1lat = 6;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Second Great Circle Point Longitude
+ ///
+ static const INT32 Gcp2lng = 7;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Second Great Circle Point Latitude
+ ///
+ static const INT32 Gcp2lat = 8;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Great Circle Point Longitude
+ ///
+ static const INT32 Gcplng = 9;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Great Circle Point Latitude
+ ///
+ static const INT32 Gcplat = 10;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Great Circle Azimuth
+ ///
+ static const INT32 Gcazm = 11;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Y axis azimuth
+ ///
+ static const INT32 Yaxisaz = 12;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Eastern Standard Meridian
+ ///
+ static const INT32 Estdmer = 13;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Northern Parallel
+ ///
+ static const INT32 Nparall = 14;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Southern Parallel
+ ///
+ static const INT32 Sparall = 15;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// First pole longitude
+ ///
+ static const INT32 P1lng = 16;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// First pole latitude
+ ///
+ static const INT32 P1lat = 17;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Second pole longitude
+ ///
+ static const INT32 P2lng = 18;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Second pole latitude
+ ///
+ static const INT32 P2lat = 19;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Distance between the poles.
+ ///
+ static const INT32 Adp1p2 = 20;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Angular distance to the first standard parallel
+ ///
+ static const INT32 Adsp1 = 21;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Angular distance to the second standard parallel
+ ///
+ static const INT32 Adsp2 = 22;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Complex Parameter A (n). Label string includes a %s for generation by sprintf.
+ ///
+ static const INT32 Cmplxan = 23;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Complex Parameter B (n). Label string includes a %s for generation by sprintf.
+ ///
+ static const INT32 Cmplxbn = 24;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Western end of Longitude range.
+ ///
+ static const INT32 Westll = 25;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Eastern end of Longitude range
+ ///
+ static const INT32 Eastll = 26;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// UTM Zone Number
+ ///
+ static const INT32 Utmzn = 27;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// North/South Hemisphere
+ ///
+ static const INT32 Hsns = 28;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Average Geoid Height
+ ///
+ static const INT32 Ghgt = 29;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Average Elevation
+ ///
+ static const INT32 Aelev = 30;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Oblique Pole Longitude
+ ///
+ static const INT32 Polelng = 31;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Oblique Pole Latitude
+ ///
+ static const INT32 Polelat = 32;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Oblique Cone Standard Parallel
+ ///
+ static const INT32 Ostdpll = 33;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Standard Circle Latitude
+ ///
+ static const INT32 Stdcir = 34;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Affine A0 Coefficient
+ ///
+ static const INT32 Afa0 = 35;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Affine B0 Coefficient
+ ///
+ static const INT32 Afb0 = 36;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Affine A1 Coefficient
+ ///
+ static const INT32 Afa1 = 37;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Affine A2 Coefficient
+ ///
+ static const INT32 Afa2 = 38;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Affine B1 Coefficient
+ ///
+ static const INT32 Afb1 = 39;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Affine B2 Coefficient
+ ///
+ static const INT32 Afb2 = 40;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Normal Parallel
+ ///
+ static const INT32 Nrmlpll = 41;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Danish System 24 Region
+ ///
+ static const INT32 Denrgn = 42;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// cs_PRMCOD_SKWAZM - Skew Azimuth at Rectified Origin.
+ ///
+ static const INT32 Skwazm = 43;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// X Coordinate of Scale/Rotate Origin
+ ///
+ static const INT32 Sclrotorgx = 44;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Y Coordinate of Scale/Rotate Origin
+ ///
+ static const INT32 Sclrotorgy = 45;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Cartesian Scale Factor
+ ///
+ static const INT32 Nrthscl = 46;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Cartesian Rotation Angle
+ ///
+ static const INT32 Nrthrot = 47;
};
/// \}
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemTransform.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemTransform.h 2012-12-19 23:09:57 UTC (rev 7281)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemTransform.h 2012-12-24 08:21:46 UTC (rev 7282)
@@ -359,6 +359,13 @@
///
virtual MgEnvelope* Transform(MgEnvelope* envelope)=0;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Transforms the specified coordinate in-place.
+ ///
+ /// \param coordinate (MgCoordinate)
+ /// The coordinate that will be transformed in-place
+ ///
virtual void TransformCoordinate(MgCoordinate* coordinate)=0;
///////////////////////////////////////////////////////////////////////////
@@ -392,13 +399,93 @@
double curvePrecision,
UINT32 maxPoints) = 0;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets whether the given source point is valid
+ ///
+ /// \param x (double)
+ /// The X coordinate of the source point
+ /// \param y (double)
+ /// The Y coordinate of the source point
+ ///
+ /// \return
+ /// true if this given source point is valid. false otherwise
+ ///
virtual bool IsValidSourcePoint(double x, double y)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets whether the given source point is valid
+ ///
+ /// \param x (double)
+ /// The X coordinate of the source point
+ /// \param y (double)
+ /// The Y coordinate of the source point
+ /// \param z (double)
+ /// The Z coordinate of the source point
+ ///
+ /// \return
+ /// true if this given source point is valid. false otherwise
+ ///
virtual bool IsValidSourcePoint(double x, double y, double z)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets whether the given target point is valid
+ ///
+ /// \param x (double)
+ /// The X coordinate of the target point
+ /// \param y (double)
+ /// The Y coordinate of the target point
+ ///
+ /// \return
+ /// true if this given target point is valid. false otherwise
+ ///
virtual bool IsValidTargetPoint(double x, double y)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets whether the given target point is valid
+ ///
+ /// \param x (double)
+ /// The X coordinate of the target point
+ /// \param y (double)
+ /// The Y coordinate of the target point
+ /// \param z (double)
+ /// The Z coordinate of the target point
+ ///
+ /// \return
+ /// true if this given target point is valid. false otherwise
+ ///
virtual bool IsValidTargetPoint(double x, double y, double z)=0;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the source coordinate system (MgCoordinateSystem)
+ ///
+ /// \return
+ /// The source coordinate system
+ ///
virtual MgCoordinateSystem* GetSource()=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the target coordinate system (MgCoordinateSystem)
+ ///
+ /// \return
+ /// The target coordinate system
+ ///
virtual MgCoordinateSystem* GetTarget()=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Sets the source and target coordinate systems
+ ///
+ /// \param pSource (MgCoordinateSystem)
+ /// The source coordinate system
+ /// \param pTarget (MgCoordinateSystem)
+ /// The target coordinate system
+ ///
virtual void SetSourceAndTarget(MgCoordinateSystem* pSource, MgCoordinateSystem* pTarget)=0;
// Geodetic Transformation Information
@@ -483,32 +570,143 @@
virtual MgCoordinateSystemGeodeticPath* GetExplicitGeodeticPath()=0;
// Transformation warnings
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Sets whether datum shift warnings will be ignored
+ ///
+ /// \param bIgnoreDatumShiftWarning (boolean/bool)
+ /// true if datum shift warnings will be ignored. false otherwise
+ ///
virtual void IgnoreDatumShiftWarning(bool bIgnoreDatumShiftWarning)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets whether datum shift warnings will be ignored
+ ///
+ /// \return
+ /// true if this datum shift warnings will be ignored. false otherwise
+ ///
virtual bool IsIgnoreDatumShiftWarning()=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Sets whether outside domain warnings will be ignored
+ ///
+ /// \param bIgnoreOutsideDomainWarning (boolean/bool)
+ /// true if outside domain warnings will be ignored. false otherwise
+ ///
virtual void IgnoreOutsideDomainWarning(bool bIgnoreOutsideDomainWarning)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets whether outside domain warnings will be ignored
+ ///
+ /// \return
+ /// true if this outside domain warnings will be ignored. false otherwise
+ ///
virtual bool IsIgnoreOutsideDomainWarning()=0;
// Status Accumulator
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the source warning count
+ ///
+ /// \return
+ /// The source warning count
+ ///
/// \since 2.4
+ ///
virtual INT32 GetSourceWarningCount (void)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the datum warning count
+ ///
+ /// \return
+ /// The datum warning count
+ ///
/// \since 2.4
+ ///
virtual INT32 GetdatumWarningCount (void)=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the target warning count
+ ///
+ /// \return
+ /// The target warning count
+ ///
/// \since 2.4
+ ///
virtual INT32 GetTargetWarningCount (void)=0;
// Transformation status
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Transformation status: ok
+ ///
static const INT32 TransformOk = 0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Transformation status: resulted in being outside the domain warning
+ ///
static const INT32 TransformOutsideDomainWarning = 1;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Transformation status: resulted in a datum shift warning
+ ///
static const INT32 TransformDatumShiftWarning = 2;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Transformation status: was a total failure
+ ///
static const INT32 TransformTotalFailure = 3;
// Status Accumulation Status bit map.
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Status Accumulation Status bit map: Source CRS error
+ ///
static const INT32 SourceCrsError = 1;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Status Accumulation Status bit map: Datum shift fallback
+ ///
static const INT32 DatumShiftFallback = 2;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Status Accumulation Status bit map: Datum shift error
+ ///
static const INT32 DatumShiftError = 4;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Status Accumulation Status bit map: Target CRS error
+ ///
static const INT32 TargetCrsError = 8;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Gets the last transformation status
+ ///
+ /// \return
+ /// The last transformation status
+ ///
virtual INT32 GetLastTransformStatus()=0;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Resets the last transformation status
+ ///
virtual void ResetLastTransformStatus()=0;
INTERNAL_API:
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitCode.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitCode.h 2012-12-19 23:09:57 UTC (rev 7281)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitCode.h 2012-12-24 08:21:46 UTC (rev 7282)
@@ -24,72 +24,381 @@
///////////////////////////////////////////////////////////////
/// \brief
+/// Defines the various coordinate system unit codes
///
-///
class MG_GEOMETRY_API MgCoordinateSystemUnitCode
{
PUBLISHED_API:
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Meter
+ ///
static const INT32 Meter = 1;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Foot
+ ///
static const INT32 Foot = 2;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Inch
+ ///
static const INT32 Inch = 3;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// IFoot
+ ///
static const INT32 IFoot = 4;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// ClarkeFoot
+ ///
static const INT32 ClarkeFoot = 5;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// IInch
+ ///
static const INT32 IInch = 6;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Centimeter
+ ///
static const INT32 Centimeter = 7;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Kilometer
+ ///
static const INT32 Kilometer = 8;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Yard
+ ///
static const INT32 Yard = 9;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// SearsYard
+ ///
static const INT32 SearsYard = 10;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Mile
+ ///
static const INT32 Mile = 11;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// IYard
+ ///
static const INT32 IYard = 12;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// IMile
+ ///
static const INT32 IMile = 13;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Knot
+ ///
static const INT32 Knot = 14;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// NautM
+ ///
static const INT32 NautM = 15;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Lat66
+ ///
static const INT32 Lat66 = 16;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Lat83
+ ///
static const INT32 Lat83 = 17;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Decimeter
+ ///
static const INT32 Decimeter = 18;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Millimeter
+ ///
static const INT32 Millimeter = 19;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Dekameter
+ ///
static const INT32 Dekameter = 20;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Hectometer
+ ///
static const INT32 Hectometer = 21;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// GermanMeter
+ ///
static const INT32 GermanMeter = 22;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// CaGrid
+ ///
static const INT32 CaGrid = 23;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// ClarkeChain
+ ///
static const INT32 ClarkeChain = 24;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// GunterChain
+ ///
static const INT32 GunterChain = 25;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// BenoitChain
+ ///
static const INT32 BenoitChain = 26;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// SearsChain
+ ///
static const INT32 SearsChain = 27;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// ClarkeLink
+ ///
static const INT32 ClarkeLink = 28;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// GunterLink
+ ///
static const INT32 GunterLink = 29;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// BenoitLink
+ ///
static const INT32 BenoitLink = 30;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// SearsLink
+ ///
static const INT32 SearsLink = 31;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Rod
+ ///
static const INT32 Rod = 32;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Perch
+ ///
static const INT32 Perch = 33;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Pole
+ ///
static const INT32 Pole = 34;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Furlong
+ ///
static const INT32 Furlong = 35;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Rood
+ ///
static const INT32 Rood = 36;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// CapeFoot
+ ///
static const INT32 CapeFoot = 37;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Brealey
+ ///
static const INT32 Brealey = 38;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// SearsFoot
+ ///
static const INT32 SearsFoot = 39;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// GoldCoastFoot
+ ///
static const INT32 GoldCoastFoot = 40;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// MicroInch
+ ///
static const INT32 MicroInch = 41;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// IndianYard
+ ///
static const INT32 IndianYard = 42;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// IndianFoot
+ ///
static const INT32 IndianFoot = 43;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// IndianFt37
+ ///
static const INT32 IndianFt37 = 44;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// IndianFt62
+ ///
static const INT32 IndianFt62 = 45;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// IndianFt75
+ ///
static const INT32 IndianFt75 = 46;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// IndianYd37
+ ///
static const INT32 IndianYd37 = 47;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Decameter
+ ///
static const INT32 Decameter = 48;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// InternationalChain
+ ///
static const INT32 InternationalChain = 49;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// InternationalLink
+ ///
static const INT32 InternationalLink = 50;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Degree
+ ///
static const INT32 Degree = 1001;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Grad
+ ///
static const INT32 Grad = 1002;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Grade
+ ///
static const INT32 Grade = 1003;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// MapInfo
+ ///
static const INT32 MapInfo = 1004;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Mil
+ ///
static const INT32 Mil = 1005;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Minute
+ ///
static const INT32 Minute = 1006;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Radian
+ ///
static const INT32 Radian = 1007;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Second
+ ///
static const INT32 Second = 1008;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Decisec
+ ///
static const INT32 Decisec = 1009;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Centisec
+ ///
static const INT32 Centisec = 1010;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Millisec
+ ///
static const INT32 Millisec = 1011;
+
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Unknown
+ ///
static const INT32 Unknown = 0;
};
/// \}
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitInformation.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitInformation.h 2012-12-19 23:09:57 UTC (rev 7281)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitInformation.h 2012-12-24 08:21:46 UTC (rev 7282)
@@ -18,6 +18,10 @@
#ifndef _MGCOORDINATESYSTEMUNITINFORMATION_H_
#define _MGCOORDINATESYSTEMUNITINFORMATION_H_
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Represents information about a coordinate system unit
+///
class MgCoordinateSystemUnitInformation : public MgGuardDisposable
{
DECLARE_CLASSNAME(MgCoordinateSystemUnitInformation)
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitType.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitType.h 2012-12-19 23:09:57 UTC (rev 7281)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitType.h 2012-12-24 08:21:46 UTC (rev 7282)
@@ -24,13 +24,25 @@
///////////////////////////////////////////////////////////////
/// \brief
+/// Defines the types of coordinate system units
///
-///
class MG_GEOMETRY_API MgCoordinateSystemUnitType
{
PUBLISHED_API:
- static const INT32 Unknown = 0; //used mainly for default or error conditions
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Unknown unit type. Used mainly for default or error conditions
+ ///
+ static const INT32 Unknown = 0;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Linear unit type
+ ///
static const INT32 Linear = 1;
+ ///////////////////////////////////////////////////////////////////////////////////////////////
+ /// \brief
+ /// Angular unit type
+ ///
static const INT32 Angular = 2;
};
/// \}
Modified: trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemWktFlavor.h
===================================================================
--- trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemWktFlavor.h 2012-12-19 23:09:57 UTC (rev 7281)
+++ trunk/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemWktFlavor.h 2012-12-24 08:21:46 UTC (rev 7282)
@@ -31,38 +31,38 @@
PUBLISHED_API:
///////////////////////////////////////////////////////////////
/// \brief
+ /// Unknown flavor
///
- ///
static const INT32 Unknown = -1;
///////////////////////////////////////////////////////////////
/// \brief
+ /// OGC flavor
///
- ///
static const INT32 Ogc = 0;
///////////////////////////////////////////////////////////////
/// \brief
+ /// Oracle flavor
///
- ///
static const INT32 Oracle = 1;
////////////////////////////////////////////////////////////////
/// \brief
+ /// ESRI flavor
///
- ///
static const INT32 Esri = 2;
//////////////////////////////////////////////////////////////
/// \brief
+ /// EPSG flavor
///
- ///
static const INT32 Epsg = 3;
//////////////////////////////////////////////////////////////
/// \brief
+ /// GeoTIFF flavor
///
- ///
static const INT32 Geotiff = 4;
//////////////////////////////////////////////////////////////
/// \brief
+ /// GeoTools flavor
///
- ///
static const INT32 Geotools = 5;
};
/// \}
More information about the mapguide-commits
mailing list