[mapguide-commits] r10193 - in branches/4.0/MgDev: Common/Geometry Common/Geometry/CoordinateSystem Common/PlatformBase/MapLayer Common/PlatformBase/Services Portable/MgPortable/Services

svn_mapguide at osgeo.org svn_mapguide at osgeo.org
Fri Sep 12 06:40:09 PDT 2025


Author: jng
Date: 2025-09-12 06:40:08 -0700 (Fri, 12 Sep 2025)
New Revision: 10193

Modified:
   branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemDatum.h
   branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemEnum.h
   branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemEnumInteger32.h
   branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemFilter.h
   branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemFilterInteger32.h
   branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemFormatConverter.h
   branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitInformation.h
   branches/4.0/MgDev/Common/Geometry/CoordinateXY.h
   branches/4.0/MgDev/Common/Geometry/CoordinateXYM.h
   branches/4.0/MgDev/Common/Geometry/CoordinateXYZ.h
   branches/4.0/MgDev/Common/Geometry/CoordinateXYZM.h
   branches/4.0/MgDev/Common/Geometry/CurvePolygon.h
   branches/4.0/MgDev/Common/Geometry/CurveRing.h
   branches/4.0/MgDev/Common/Geometry/CurveString.h
   branches/4.0/MgDev/Common/Geometry/Geometry.h
   branches/4.0/MgDev/Common/Geometry/LineString.h
   branches/4.0/MgDev/Common/Geometry/LinearRing.h
   branches/4.0/MgDev/Common/Geometry/LinearSegment.h
   branches/4.0/MgDev/Common/Geometry/MultiCurvePolygon.h
   branches/4.0/MgDev/Common/Geometry/MultiCurveString.h
   branches/4.0/MgDev/Common/Geometry/MultiGeometry.h
   branches/4.0/MgDev/Common/Geometry/MultiLineString.h
   branches/4.0/MgDev/Common/Geometry/MultiPoint.h
   branches/4.0/MgDev/Common/Geometry/MultiPolygon.h
   branches/4.0/MgDev/Common/Geometry/Point.h
   branches/4.0/MgDev/Common/Geometry/Polygon.h
   branches/4.0/MgDev/Common/Geometry/Ring.h
   branches/4.0/MgDev/Common/PlatformBase/MapLayer/SelectionBase.h
   branches/4.0/MgDev/Common/PlatformBase/Services/FeatureSpatialOperations.h
   branches/4.0/MgDev/Common/PlatformBase/Services/Raster.h
   branches/4.0/MgDev/Portable/MgPortable/Services/FeatureService.h
Log:
API doc sweep on parts of Geometry, PlatformBase and MgPortable APIs

Modified: branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemDatum.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemDatum.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemDatum.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -21,6 +21,10 @@
 class MgCoordinateSystemEllipsoid;
 class MgCoordinateSystemGeodeticTransformation;
 
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Describes a coordinate system datum
+///
 class MgCoordinateSystemDatum : public MgGuardDisposable
 {
     DECLARE_CLASSNAME(MgCoordinateSystemDatum)
@@ -68,7 +72,41 @@
     /// true if this datum is valid. false otherwise
     ///
     virtual bool IsValid()=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether the def is usable in the context of the given catalog.  The
+    /// IsValid() function, above, simply checks the def for internal validity in
+    /// its own right.  This function, on the other hand, checks for other
+    /// conditions such as unresolved references and so forth which can only be
+    /// evaluated in a larger context.  For example, a datum definition may specify
+    /// that it uses ellipsoid "FOO", which is a perfectly legitimate ellipsoid
+    /// name, so IsValid() would return true; but unless there is in fact an
+    /// ellipsoid "FOO" present in the catalog where we try to use the datum, it
+    /// can't be used and IsUsable() would return false.  Note that this function
+    /// will always return false if IsValid() returns false.
+    ///
+    /// \return
+    /// true if this datum is usable. false otherwise
+    ///
     virtual bool IsUsable(MgCoordinateSystemCatalog *pCatalog)=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether the def is usable in the context of the given catalog.  The
+    /// IsValid() function, above, simply checks the def for internal validity in
+    /// its own right.  This function, on the other hand, checks for other
+    /// conditions such as unresolved references and so forth which can only be
+    /// evaluated in a larger context.  For example, a datum definition may specify
+    /// that it uses ellipsoid "FOO", which is a perfectly legitimate ellipsoid
+    /// name, so IsValid() would return true; but unless there is in fact an
+    /// ellipsoid "FOO" present in the catalog where we try to use the datum, it
+    /// can't be used and IsUsable() would return false.  Note that this function
+    /// will always return false if IsValid() returns false.
+    ///
+    /// \return
+    /// true if this datum is usable. false otherwise
+    ///
     virtual bool IsSameAs(MgGuardDisposable *pDef)=0;
 
     ///////////////////////////////////////////////////////////////////////////////////////////////
@@ -180,7 +218,27 @@
     /// true if this datum is protected. false otherwise
     ///
     virtual bool IsProtected()=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the age of the item, in days since last modification, if it's a
+    /// user-defined item (i.e., isn't marked as protected).
+    ///
+    /// \return
+    /// The age of this item. If it's read-only, then returns -1.
+    ///
     virtual INT16 GetAge()=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Sets whether this item is protected or not.  When protected,
+    /// methods which attempt to modify the object will
+    /// Throws an exception.  (Except for SetProtectMode and SetEncryptMode,
+    /// which can be called even on protected objects.)
+    ///
+    /// \param bIsProtected (boolean/bool)
+    /// The proection flag
+    ///
     virtual void SetProtectMode(bool bIsProtected)=0;
 
     ///////////////////////////////////////////////////////////////////////////////////////////////
@@ -191,6 +249,14 @@
     /// true if this datum is encrypted. false otherwise
     ///
     virtual bool IsEncrypted()=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Sets whether this item is encrypted or not
+    ///
+    /// \param bIsEncrypted (boolean/bool)
+    /// The encryption flag
+    ///
     virtual void SetEncryptMode(bool bIsEncrypted)=0;
 
     ///////////////////////////////////////////////////////////////////////////////////////////////

Modified: branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemEnum.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemEnum.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemEnum.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -18,6 +18,10 @@
 #ifndef _MGCOORDINATESYSTEMENUM_H_
 #define _MGCOORDINATESYSTEMENUM_H_
 
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Enumerates coordinate systems
+///
 class MgCoordinateSystemEnum : public MgGuardDisposable
 {
     DECLARE_CLASSNAME(MgCoordinateSystemEnum)

Modified: branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemEnumInteger32.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemEnumInteger32.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemEnumInteger32.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -19,6 +19,11 @@
 #define _MGCOORDINATESYSTEMENUMINTEGER32_H_
 
 class MgIntCollection;
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Enumerates a set of integers
+///
 class MgCoordinateSystemEnumInteger32 : public MgGuardDisposable
 {
     DECLARE_CLASSNAME(MgCoordinateSystemEnumInteger32)

Modified: branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemFilter.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemFilter.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemFilter.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -18,11 +18,23 @@
 #ifndef _MGCOORDINATESYSTEMFILTER_H_
 #define _MGCOORDINATESYSTEMFILTER_H_
 
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// A coordinate system filter
+///
 class MgCoordinateSystemFilter : public MgGuardDisposable
 {
     DECLARE_CLASSNAME(MgCoordinateSystemFilter)
 
 PUBLISHED_API:
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// This function evaluates the provided def using the current filter
+    ///
+    /// \param pDef (MgGuardDisposable)
+    /// The provided def
+    ///
     virtual bool IsFilteredOut(MgGuardDisposable *pDef)=0;
 
 protected:

Modified: branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemFilterInteger32.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemFilterInteger32.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemFilterInteger32.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -18,11 +18,23 @@
 #ifndef _MGCOORDINATESYSTEMFILTERINTEGER32_H_
 #define _MGCOORDINATESYSTEMFILTERINTEGER32_H_
 
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// An integer filter
+///
 class MgCoordinateSystemFilterInteger32 : public MgGuardDisposable
 {
     DECLARE_CLASSNAME(MgCoordinateSystemFilterInteger32)
 
 PUBLISHED_API:
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// This function evaluates the provided def using the current filter
+    ///
+    /// \param nValue (int)
+    /// The provided def
+    ///
     virtual bool IsFilteredOut(INT32 nValue)=0;
 
 protected:

Modified: branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemFormatConverter.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemFormatConverter.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemFormatConverter.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -18,6 +18,11 @@
 #ifndef _MGCOORDINATESYSTEMFORMATCONVERTER_H_
 #define _MGCOORDINATESYSTEMFORMATCONVERTER_H_
 
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Provides services for converting mentor codes or WKT strings to coordinate systems and
+/// vice versa
+///
 class MgCoordinateSystemFormatConverter : public MgGuardDisposable
 {
     DECLARE_CLASSNAME(MgCoordinateSystemFormatConverter)
@@ -26,15 +31,136 @@
     //WKT methods
     //use MgCoordinateSystemWktFlavor values for the WKT format
     //use MgCoordinateSystemCodeFormat values for the code format
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the WKT for a given coordinate system
+    ///
+    /// \param pSource (MgCoordinateSystem)
+    /// The coordinate system
+    ///
+    /// \param nWktFlavor (int)
+    /// Any constant defined in MgCoordinateSystemWktFlavor
+    ///
+    /// \return
+    /// The WKT string
+    ///
     virtual STRING DefinitionToWkt(MgCoordinateSystem* pSource, INT32 nWktFlavor)=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the coordinate system for the given WKT string
+    ///
+    /// \param nWktFlavor (int)
+    /// Any constant defined in MgCoordinateSystemWktFlavor
+    ///
+    /// \param sWkt (String)
+    /// The WKT string
+    ///
+    /// \return
+    /// The coordinate system
+    ///
     virtual MgCoordinateSystem* WktToDefinition(INT32 nWktFlavor, CREFSTRING sWkt)=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the WKT string for the given code
+    ///
+    /// \param nFormatSource (int)
+    /// Any constant defined in MgCoordinateSystemCodeFormat
+    ///
+    /// \param sCodeSource (String)
+    /// The code
+    ///
+    /// \param nWktFlavor (int)
+    /// Any constant defined in MgCoordinateSystemWktFlavor
+    ///
+    /// \return
+    /// The WKT string in the requested flavor
+    ///
     virtual STRING CodeToWkt(INT32 nFormatSource, CREFSTRING sCodeSource, INT32 nWktFlavor)=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the code for the given WKT string
+    ///
+    /// \param nWktFlavor (int)
+    /// Any constant defined in MgCoordinateSystemWktFlavor
+    ///
+    /// \param sWkt (String)
+    /// The WKT string
+    ///
+    /// \param nFormatDestination (int)
+    /// Any constant defined in MgCoordinateSystemCodeFormat
+    ///
+    /// \return
+    /// The code in the requested flavor
+    ///
     virtual STRING WktToCode(INT32 nWktFlavor, CREFSTRING sWkt, INT32 nFormatDestination)=0;
 
     //code format conversion
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the code for the given coordinate system
+    ///
+    /// \param pSource (MgCoordinateSystem)
+    /// The coordinate system
+    ///
+    /// \param nFormatDestination (int)
+    /// Any constant defined in MgCoordinateSystemCodeFormat
+    ///
+    /// \return
+    /// The code in the requested flavor
+    ///
     virtual STRING DefinitionToCode(MgCoordinateSystem* pSource, INT32 nFormatDestination)=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the coordinate system for the given code
+    ///
+    /// \param nFormatSource (int)
+    /// Any constant defined in MgCoordinateSystemCodeFormat
+    ///
+    /// \param sCodeSource (String)
+    /// The code
+    ///
+    /// \return 
+    /// The coordinate system
+    ///
     virtual MgCoordinateSystem* CodeToDefinition(INT32 nFormatSource, CREFSTRING sCodeSource)=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the code in the requested format for the given code in its format
+    ///
+    /// \param nFormatSource (int)
+    /// Any constant defined in MgCoordinateSystemCodeFormat
+    /// 
+    /// \param sCodeSource (String)
+    /// The code
+    ///
+    /// \param nFormatDestination (int)
+    /// Any constant defined in MgCoordinateSystemCodeFormat
+    ///
+    /// \return
+    /// The code in the requested flavor
+    ///
     virtual STRING CodeToCode(INT32 nFormatSource, CREFSTRING sCodeSource, INT32 nFormatDestination)=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether the given code in the specific format is present in the dictionary
+    ///
+    /// \param nFormat (int)
+    /// Any constant defined in MgCoordinateSystemCodeFormat
+    /// 
+    /// \param sCode (int)
+    /// The code 
+    ///
+    /// \return
+    /// true if the exists. false otherwise
+    ///
     virtual bool IsCodeInDictionary(INT32 nFormat, CREFSTRING sCode)=0;
 
 protected:

Modified: branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitInformation.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitInformation.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/CoordinateSystem/CoordinateSystemUnitInformation.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -27,12 +27,97 @@
     DECLARE_CLASSNAME(MgCoordinateSystemUnitInformation)
 
 PUBLISHED_API:
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets an enumerator for listing all the linear units supported by the API
+    ///
+    /// \return
+    /// Enumerator containing all supported linear unit codes
+    /// Caller is responsible for releasing the enumerator when done with it
+    ///
     virtual MgCoordinateSystemEnumInteger32* GetEnumLinearUnits()=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets an enumerator for listing all the angular units supported by the API
+    ///
+    /// \return
+    /// Enumerator containing all supported angular unit codes
+    /// Caller is responsible for releasing the enumerator when done with it
+    ///
     virtual MgCoordinateSystemEnumInteger32* GetEnumAngularUnits()=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the scale factor for the specified linear unit type; this is
+    /// the number which one multiplies a value by to get meters.
+    ///
+    /// \param nUnitCode (int)
+    /// The linear unit code
+    ///
+    /// \return
+    /// Scale factor to convert from this unit to meters
+    ///
     virtual double GetLinearUnitScale(INT32 nUnitCode)=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the scale factor for the specified angular unit type; this
+    /// is the number which one multiplies a value by to get degrees.
+    ///
+    /// \param nUnitCode (int)
+    /// The angular unit code
+    ///
+    /// \return
+    /// Scale factor to convert from this unit to radians
+    ///
     virtual double GetAngularUnitScale(INT32 nUnitCode)=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type (linear or angular) of the specified unit
+    ///
+    /// \param nUnitCode (int)
+    /// The unit code to check
+    ///
+    /// \return
+    /// kCsUnitTypeLinear if linear units
+    /// kCsUnitTypeAngular if angular units
+    /// kCsUnitTypeUnknown if invalid unit code
+    ///
     virtual INT32 GetUnitType(INT32 nUnitCode)=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets Mentor's "tag string" for the specified unit (i.e., "Meter"
+    /// for meters, "IFoot" for international feet, etc.). 
+    ///
+    /// \param nUnitCode (INT32)
+    /// The unit code
+    ///
+    /// \return
+    /// Tag string (e.g. "m" for meters, "ft" for feet)
+    ///
+    /// \remarks
+    /// The returned string is not localized and should not be used for UI display
+    /// This function is provided mainly for debugging and utility purposes
+    ///
     virtual STRING GetTagString(INT32 nUnitCode)=0;
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the standard abbreviation for the specified unit
+    ///
+    /// \param nUnitCode (INT32)
+    /// The unit code
+    ///
+    /// \return
+    /// Standard abbreviation for the unit (e.g. "m" for meters)
+    ///
+    /// \remarks
+    /// The returned string is not localized and should not be used for UI display
+    /// This function is provided mainly for debugging and utility purposes
+    ///
     virtual STRING GetAbbreviation(INT32 nUnitCode)=0;
 
 protected:

Modified: branches/4.0/MgDev/Common/Geometry/CoordinateXY.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/CoordinateXY.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/CoordinateXY.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -41,6 +41,14 @@
     DECLARE_CLASSNAME(MgCoordinateXY)
 
 PUBLISHED_API:
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Defines the dimensions supported by this coordinate as a bit mask. The
+    /// return can be a combination of the values of MgCoordinateDimension.
+    /// See MgCoordinateDimension for an explaination of the possible return
+    /// values.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -54,6 +62,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the X value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetX();
@@ -67,6 +79,10 @@
     ///
     virtual double GetX();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the Y value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetY();
@@ -80,6 +96,10 @@
     ///
     virtual double GetY();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the Z value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetZ();
@@ -93,6 +113,10 @@
     ///
     virtual double GetZ();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the M value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetM();

Modified: branches/4.0/MgDev/Common/Geometry/CoordinateXYM.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/CoordinateXYM.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/CoordinateXYM.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -44,6 +44,14 @@
     DECLARE_CLASSNAME(MgCoordinateXYM)
 
 PUBLISHED_API:
+
+    ///////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Defines the dimensions supported by this coordinate as a bit mask. The
+    /// return can be a combination of the values of MgCoordinateDimension.
+    /// See MgCoordinateDimension for an explaination of the possible return
+    /// values.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -57,6 +65,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the X value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetX();
@@ -70,6 +82,10 @@
     ///
     virtual double GetX();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the Y value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetY();
@@ -83,6 +99,10 @@
     ///
     virtual double GetY();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the Z value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetZ();
@@ -96,6 +116,10 @@
     ///
     virtual double GetZ();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the M value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetM();

Modified: branches/4.0/MgDev/Common/Geometry/CoordinateXYZ.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/CoordinateXYZ.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/CoordinateXYZ.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -41,6 +41,14 @@
     DECLARE_CLASSNAME(MgCoordinateXYZ)
 
 PUBLISHED_API:
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Defines the dimensions supported by this coordinate as a bit mask. The
+    /// return can be a combination of the values of MgCoordinateDimension.
+    /// See MgCoordinateDimension for an explaination of the possible return
+    /// values.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -54,6 +62,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the X value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetX();
@@ -67,6 +79,10 @@
     ///
     virtual double GetX();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the Y value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetY();
@@ -80,6 +96,10 @@
     ///
     virtual double GetY();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the Z value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetZ();
@@ -93,6 +113,10 @@
     ///
     virtual double GetZ();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the M value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetM();

Modified: branches/4.0/MgDev/Common/Geometry/CoordinateXYZM.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/CoordinateXYZM.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/CoordinateXYZM.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -44,6 +44,14 @@
     DECLARE_CLASSNAME(MgCoordinateXYZM)
 
 PUBLISHED_API:
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Defines the dimensions supported by this coordinate as a bit mask. The
+    /// return can be a combination of the values of MgCoordinateDimension.
+    /// See MgCoordinateDimension for an explaination of the possible return
+    /// values.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -57,6 +65,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the X value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetX();
@@ -70,6 +82,10 @@
     ///
     virtual double GetX();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the Y value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetY();
@@ -83,6 +99,10 @@
     ///
     virtual double GetY();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the Z value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetZ();
@@ -96,6 +116,10 @@
     ///
     virtual double GetZ();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the M value of this coordinate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual double GetM();

Modified: branches/4.0/MgDev/Common/Geometry/CurvePolygon.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/CurvePolygon.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/CurvePolygon.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -231,6 +231,10 @@
     ///
     virtual MgCurveRing* GetInteriorRing(INT32 index);
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type of this geometry
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetGeometryType();
@@ -244,6 +248,12 @@
     ///
     virtual INT32 GetGeometryType();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the geometric dimension of this entity, indicating whether the
+    /// entity is zero, one, or two dimensional (defined by points, defined
+    /// by curves, or defined by regions).
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -257,6 +267,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is empty
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsEmpty();
@@ -270,6 +284,10 @@
     ///
     virtual bool IsEmpty();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is closed
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsClosed();
@@ -283,6 +301,10 @@
     ///
     virtual bool IsClosed();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a copy of this instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Copy();

Modified: branches/4.0/MgDev/Common/Geometry/CurveRing.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/CurveRing.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/CurveRing.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -41,6 +41,11 @@
     DECLARE_CLASSNAME(MgCurveRing)
 
 PUBLISHED_API:
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type of this geometry component
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetComponentType();
@@ -98,6 +103,12 @@
     ///
     virtual MgCurveSegment* GetSegment(INT32 index);
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the geometric dimension of this entity, indicating whether the
+    /// entity is zero, one, or two dimensional (defined by points, defined
+    /// by curves, or defined by regions).
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -111,6 +122,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is empty
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsEmpty();
@@ -124,6 +139,10 @@
     ///
     virtual bool IsEmpty();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is closed
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsClosed();
@@ -137,6 +156,10 @@
     ///
     virtual bool IsClosed();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a copy of this instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Copy();
@@ -150,6 +173,10 @@
     ///
     virtual MgGeometricEntity* Copy();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Returns a transformed copy of this instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Transform(MgTransform transform);

Modified: branches/4.0/MgDev/Common/Geometry/CurveString.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/CurveString.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/CurveString.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -230,6 +230,10 @@
     ///
     virtual MgCurveSegment* GetSegment(INT32 index);
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the starting coordinate of the curve
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgCoordinate GetStartCoordinate();
@@ -243,6 +247,10 @@
     ///
     virtual MgCoordinate* GetStartCoordinate();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the ending coordinate of the curve
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgCoordinate GetEndCoordinate();
@@ -256,6 +264,10 @@
     ///
     virtual MgCoordinate* GetEndCoordinate();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type of this geometry
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetGeometryType();
@@ -269,6 +281,12 @@
     ///
     virtual INT32 GetGeometryType();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the geometric dimension of this entity, indicating whether the
+    /// entity is zero, one, or two dimensional (defined by points, defined
+    /// by curves, or defined by regions).
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -282,6 +300,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is empty
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsEmpty();
@@ -295,6 +317,10 @@
     ///
     virtual bool IsEmpty();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is closed
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsClosed();
@@ -308,6 +334,10 @@
     ///
     virtual bool IsClosed();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a copy of the instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Copy();

Modified: branches/4.0/MgDev/Common/Geometry/Geometry.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/Geometry.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/Geometry.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -350,6 +350,8 @@
 
     /////////////////////////////////////////////////////////////////////
     /// \brief
+    /// Returns the closure of the combinitorial boundary of this geometric
+    /// entity as a topologically closed geometry.
     ///
     /// \remarks
     /// <TABLE border="1" class="RuledTable">
@@ -484,6 +486,8 @@
 
     /////////////////////////////////////////////////////////////////
     /// \brief
+    /// Returns a geometry that represents the convex hull of this geometric
+    /// entity.
     ///
     /// \remarks
     /// In section 12.4.2 [\link JTS14 JTS1.4 \endlink] states:

Modified: branches/4.0/MgDev/Common/Geometry/LineString.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/LineString.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/LineString.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -126,6 +126,10 @@
     ///
     virtual MgCoordinateIterator* GetCoordinates();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the starting coordinate of the curve.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgCoordinate GetStartCoordinate();
@@ -139,6 +143,10 @@
     ///
     virtual MgCoordinate* GetStartCoordinate();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the ending coordinate of the curve.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgCoordinate GetEndCoordinate();
@@ -152,6 +160,10 @@
     ///
     virtual MgCoordinate* GetEndCoordinate();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type fo this geometry.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetGeometryType();
@@ -165,6 +177,12 @@
     ///
     virtual INT32 GetGeometryType();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the geometric dimension of this entity, indicating whether the
+    /// entity is zero, one, or two dimensional (defined by points, defined
+    /// by curves, or defined by regions).
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -178,6 +196,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is empty
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsEmpty();
@@ -191,6 +213,10 @@
     ///
     virtual bool IsEmpty();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is closed
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsClosed();
@@ -204,6 +230,10 @@
     ///
     virtual bool IsClosed();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a copy of this instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Copy();

Modified: branches/4.0/MgDev/Common/Geometry/LinearRing.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/LinearRing.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/LinearRing.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -44,6 +44,11 @@
     DECLARE_CLASSNAME(MgLinearRing)
 
 PUBLISHED_API:
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type of this geometry component.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetComponentType();
@@ -78,6 +83,12 @@
     ///
     virtual MgCoordinateIterator* GetCoordinates();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the geometric dimension of this entity, indicating whether the
+    /// entity is zero, one, or two dimensional (defined by points, defined
+    /// by curves, or defined by regions).
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -91,6 +102,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is empty
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsEmpty();
@@ -104,6 +119,10 @@
     ///
     virtual bool IsEmpty();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is closed
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsClosed();
@@ -117,6 +136,10 @@
     ///
     virtual bool IsClosed();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a copy of this instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Copy();

Modified: branches/4.0/MgDev/Common/Geometry/LinearSegment.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/LinearSegment.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/LinearSegment.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -45,6 +45,11 @@
     DECLARE_CLASSNAME(MgLinearSegment)
 
 PUBLISHED_API:
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type of this geometry component.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetComponentType();
@@ -79,6 +84,10 @@
     ///
     virtual MgCoordinateIterator* GetCoordinates();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the starting coordinate of the curve segment.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgCoordinate GetStartCoordinate();
@@ -92,6 +101,10 @@
     ///
     virtual MgCoordinate* GetStartCoordinate();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the ending coordinate of the curve segment
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgCoordinate GetEndCoordinate();
@@ -105,6 +118,12 @@
     ///
     virtual MgCoordinate* GetEndCoordinate();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the geometric dimension of this entity, indicating whether the
+    /// entity is zero, one, or two dimensional (defined by points, defined
+    /// by curves, or defined by regions).
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -118,6 +137,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is empty
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsEmpty();
@@ -131,6 +154,10 @@
     ///
     virtual bool IsEmpty();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is closed
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsClosed();
@@ -144,6 +171,10 @@
     ///
     virtual bool IsClosed();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a copy of this instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Copy();

Modified: branches/4.0/MgDev/Common/Geometry/MultiCurvePolygon.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/MultiCurvePolygon.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/MultiCurvePolygon.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -109,6 +109,11 @@
     DECLARE_CLASSNAME(MgMultiCurvePolygon)
 
 PUBLISHED_API:
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    ///  Gets the number of geometries in this aggregate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetCount();
@@ -147,6 +152,10 @@
     ///
     virtual MgCurvePolygon* GetCurvePolygon(INT32 index);
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type of this geometry.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetGeometryType();
@@ -160,6 +169,12 @@
     ///
     virtual INT32 GetGeometryType();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the geometric dimension of this entity, indicating whether the
+    /// entity is zero, one, or two dimensional (defined by points, defined
+    /// by curves, or defined by regions).
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -173,6 +188,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is empty
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsEmpty();
@@ -186,6 +205,10 @@
     ///
     virtual bool IsEmpty();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is closed
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsClosed();
@@ -199,6 +222,10 @@
     ///
     virtual bool IsClosed();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a copy of this instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Copy();

Modified: branches/4.0/MgDev/Common/Geometry/MultiCurveString.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/MultiCurveString.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/MultiCurveString.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -113,6 +113,11 @@
     DECLARE_CLASSNAME(MgMultiCurveString)
 
 PUBLISHED_API:
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the number of geometries in this aggregate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetCount();
@@ -151,6 +156,10 @@
     ///
     virtual MgCurveString* GetCurveString(INT32 index);
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type of this geometry.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetGeometryType();
@@ -164,6 +173,12 @@
     ///
     virtual INT32 GetGeometryType();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the geometric dimension of this entity, indicating whether the
+    /// entity is zero, one, or two dimensional (defined by points, defined
+    /// by curves, or defined by regions).
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -177,6 +192,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instances is empty
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsEmpty();
@@ -190,6 +209,10 @@
     ///
     virtual bool IsEmpty();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is closed
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsClosed();
@@ -203,6 +226,10 @@
     ///
     virtual bool IsClosed();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a copy of this instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Copy();

Modified: branches/4.0/MgDev/Common/Geometry/MultiGeometry.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/MultiGeometry.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/MultiGeometry.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -112,6 +112,11 @@
     DECLARE_CLASSNAME(MgMultiGeometry)
 
 PUBLISHED_API:
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the number of geometries in this aggregate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetCount();
@@ -150,6 +155,10 @@
     ///
     virtual MgGeometry* GetGeometry(INT32 index);
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type of this geometry.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetGeometryType();
@@ -163,6 +172,12 @@
     ///
     virtual INT32 GetGeometryType();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the geometric dimension of this entity, indicating whether the
+    /// entity is zero, one, or two dimensional (defined by points, defined
+    /// by curves, or defined by regions).
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -176,6 +191,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is empty
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsEmpty();
@@ -189,6 +208,10 @@
     ///
     virtual bool IsEmpty();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is closed
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsClosed();
@@ -202,6 +225,10 @@
     ///
     virtual bool IsClosed();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a copy of this instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Copy();

Modified: branches/4.0/MgDev/Common/Geometry/MultiLineString.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/MultiLineString.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/MultiLineString.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -110,6 +110,11 @@
     DECLARE_CLASSNAME(MgMultiLineString)
 
 PUBLISHED_API:
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the number of geometries in this aggregate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetCount();
@@ -148,6 +153,10 @@
     ///
     virtual MgLineString* GetLineString(INT32 index);
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type of this geometry.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetGeometryType();
@@ -161,6 +170,12 @@
     ///
     virtual INT32 GetGeometryType();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the geometric dimension of this entity, indicating whether the
+    /// entity is zero, one, or two dimensional (defined by points, defined
+    /// by curves, or defined by regions).
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -174,6 +189,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is empty
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsEmpty();
@@ -187,6 +206,10 @@
     ///
     virtual bool IsEmpty();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is closed
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsClosed();
@@ -200,6 +223,10 @@
     ///
     virtual bool IsClosed();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a copy of this instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Copy();
@@ -213,6 +240,10 @@
     ///
     virtual MgGeometricEntity* Copy();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a transformed copy of this geometric entity
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Transform(MgTransform transform);

Modified: branches/4.0/MgDev/Common/Geometry/MultiPoint.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/MultiPoint.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/MultiPoint.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -101,6 +101,11 @@
     DECLARE_CLASSNAME(MgMultiPoint)
 
 PUBLISHED_API:
+
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the number of geometries in this aggregate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetCount();
@@ -139,6 +144,10 @@
     ///
     virtual MgPoint* GetPoint(INT32 index);
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type of this geometry.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetGeometryType();
@@ -152,6 +161,12 @@
     ///
     virtual INT32 GetGeometryType();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the geometric dimension of this entity, indicating whether the
+    /// entity is zero, one, or two dimensional (defined by points, defined
+    /// by curves, or defined by regions).
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -165,6 +180,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is empty
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsEmpty();
@@ -178,6 +197,10 @@
     ///
     virtual bool IsEmpty();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is closed
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsClosed();
@@ -191,6 +214,10 @@
     ///
     virtual bool IsClosed();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a copy of this instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Copy();

Modified: branches/4.0/MgDev/Common/Geometry/MultiPolygon.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/MultiPolygon.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/MultiPolygon.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -113,6 +113,9 @@
 
 PUBLISHED_API:
     /////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the number of geometries in this aggregate.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetCount();
@@ -152,6 +155,9 @@
     virtual MgPolygon* GetPolygon(INT32 index);
 
     /////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type of this geometry.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetGeometryType();
@@ -166,6 +172,11 @@
     virtual INT32 GetGeometryType();  /// __get, __inherited
 
     /////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the geometric dimension of this entity, indicating whether the
+    /// entity is zero, one, or two dimensional (defined by points, defined
+    /// by curves, or defined by regions).
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -180,6 +191,9 @@
     virtual INT32 GetDimension();  /// __get, __inherited
 
     /////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is empty
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsEmpty();
@@ -194,6 +208,9 @@
     virtual bool IsEmpty();
 
     /////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is closed
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsClosed();
@@ -208,6 +225,9 @@
     virtual bool IsClosed();
 
     /////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a copy of this instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Copy();

Modified: branches/4.0/MgDev/Common/Geometry/Point.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/Point.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/Point.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -93,6 +93,9 @@
 
 PUBLISHED_API:
     /////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type of this geometry.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetGeometryType();
@@ -127,6 +130,11 @@
     virtual MgCoordinate* GetCoordinate();  /// __get
 
     /////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the geometric dimension of this entity, indicating whether the
+    /// entity is zero, one, or two dimensional (defined by points, defined
+    /// by curves, or defined by regions).
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -141,6 +149,9 @@
     virtual INT32 GetDimension();  /// __get, __inherited
 
     /////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is empty
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsEmpty();
@@ -155,6 +166,9 @@
     virtual bool IsEmpty();
 
     /////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is closed
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsClosed();
@@ -169,6 +183,9 @@
     virtual bool IsClosed();
 
     /////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a copy of this instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Copy();

Modified: branches/4.0/MgDev/Common/Geometry/Polygon.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/Polygon.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/Polygon.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -262,6 +262,10 @@
     ///
     virtual MgLinearRing* GetInteriorRing(INT32 index);
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the type of this geometry.
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetGeometryType();
@@ -275,6 +279,12 @@
     ///
     virtual INT32 GetGeometryType();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets the geometric dimension of this entity, indicating whether the
+    /// entity is zero, one, or two dimensional (defined by points, defined
+    /// by curves, or defined by regions).
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual int GetDimension();
@@ -288,6 +298,10 @@
     ///
     virtual INT32 GetDimension();  /// __get, __inherited
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is empty
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsEmpty();
@@ -301,6 +315,10 @@
     ///
     virtual bool IsEmpty();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Gets whether this instance is closed
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual bool IsClosed();
@@ -314,6 +332,10 @@
     ///
     virtual bool IsClosed();
 
+    ///////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
+    /// Creates a copy of this instance
+    ///
     /// <!-- Syntax in .Net, Java, and PHP -->
     /// \htmlinclude DotNetSyntaxTop.html
     /// virtual MgGeometricEntity Copy();

Modified: branches/4.0/MgDev/Common/Geometry/Ring.h
===================================================================
--- branches/4.0/MgDev/Common/Geometry/Ring.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/Geometry/Ring.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -26,9 +26,9 @@
 /// \{
 
 //////////////////////////////////////////////////////////////
+/// \brief
 /// MgRing is an abstract base class. The concrete classes are
 /// MgCurveRing and MgLinearRing.
-
 class MG_GEOMETRY_API MgRing : public MgGeometryComponent
 {
 PUBLISHED_API:

Modified: branches/4.0/MgDev/Common/PlatformBase/MapLayer/SelectionBase.h
===================================================================
--- branches/4.0/MgDev/Common/PlatformBase/MapLayer/SelectionBase.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/PlatformBase/MapLayer/SelectionBase.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -24,6 +24,7 @@
 
 class MG_PLATFORMBASE_API MgMemoryStreamHelper;
 
+/// \brief
 /// Exposed API class for handling selection
 /// Represents a set of selections for multiple layers and classes
 class MG_PLATFORMBASE_API MgSelectionBase : public MgResource
@@ -121,6 +122,7 @@
     /// \since 2.0
     virtual MgFeatureReader* GetSelectedFeatures(MgLayerBase* layer, CREFSTRING className, bool mappedOnly);
 
+    /// \brief
     /// Returns the selected feature data for the specified feature class.
     ///
     /// <!-- Syntax in .Net, Java, and PHP -->

Modified: branches/4.0/MgDev/Common/PlatformBase/Services/FeatureSpatialOperations.h
===================================================================
--- branches/4.0/MgDev/Common/PlatformBase/Services/FeatureSpatialOperations.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/PlatformBase/Services/FeatureSpatialOperations.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -33,46 +33,57 @@
 {
 PUBLISHED_API:
     //////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
     /// Test whether the geometric property value spatially \link Contains contains \endlink
     /// the literal geometric value.
     static const int Contains = 0;
     //////////////////////////////////////////////////////////////////////////////////
+    /// \brief
     /// Test whether the geometric property value \link Crosses crosses \endlink
     /// the given geometry.
     static const int Crosses = 1;
     ///////////////////////////////////////////////////////////////////////
+    /// \brief
     /// Test whether the geometric property value is \link Disjoint disjoint \endlink
     /// from the given geometry.
     static const int Disjoint = 2;
     //////////////////////////////////////////////////////////////////////////////////
+    /// \brief
     /// Test whether the geometric property value is \link Equals equal \endlink
     /// to the given geometry.
     static const int Equals = 3;
     ////////////////////////////////////////////////////////////////
+    /// \brief
     /// Test whether the geometric property \link Intersects intersects \endlink
     /// the given geometry.
     static const int Intersects = 4;
     //////////////////////////////////////////////////////////////////////////////
+    /// \brief
     /// Test whether the geometric property \link Overlaps overlaps \endlink
     /// the given geometry.
     static const int Overlaps = 5;
     /////////////////////////////////////////////////////////////////
+    /// \brief
     /// Test whether the geometric property \link Touches touches \endlink the
     /// given geometry.
     static const int Touches = 6;
     /////////////////////////////////////////////////////////////////////////////
+    /// \brief
     /// Test whether the geometric property is \link Within within \endlink
     /// the given geometry.
     static const int Within = 7;
     //////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
     /// Test whether the geometric property value is \link CoveredBy covered by \endlink
     /// the given geometry.
     static const int CoveredBy = 8;
     /////////////////////////////////////////////////////////////////////////////
+    /// \brief
     /// Test whether the geometric property is \link Inside inside \endlink
     /// the given geometry.
     static const int Inside = 9;
     //////////////////////////////////////////////////////////////////////////////////////////////////////////
+    /// \brief
     /// Test whether the envelope of the geometric property \link EnvelopeIntersects intersects \endlink
     /// the envelope of the given geometry.
     static const int EnvelopeIntersects = 10;

Modified: branches/4.0/MgDev/Common/PlatformBase/Services/Raster.h
===================================================================
--- branches/4.0/MgDev/Common/PlatformBase/Services/Raster.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Common/PlatformBase/Services/Raster.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -27,6 +27,11 @@
 template class MG_PLATFORMBASE_API Ptr<MgRaster>;
 
 // INTERNAL_CLASS
+
+///////////////////////////////////////////////////////////////////////////////////////////////
+/// \brief
+/// Describes a raster image
+///
 class MG_PLATFORMBASE_API MgRaster : public MgSerializable
 {
     MG_DECL_DYNCREATE();

Modified: branches/4.0/MgDev/Portable/MgPortable/Services/FeatureService.h
===================================================================
--- branches/4.0/MgDev/Portable/MgPortable/Services/FeatureService.h	2025-09-12 11:11:27 UTC (rev 10192)
+++ branches/4.0/MgDev/Portable/MgPortable/Services/FeatureService.h	2025-09-12 13:40:08 UTC (rev 10193)
@@ -44,110 +44,403 @@
     virtual void Dispose() { delete this; }
 
 PUBLISHED_API:
+    /// \brief
+    /// Gets a list of available feature providers
+    /// \return
+    /// A MgByteReader containing the XML list of providers 
     virtual MgByteReader* GetFeatureProviders();
 
+    /// \brief
+    /// Gets connection property values for the specified provider and property
+    /// \param providerName (String)
+    /// Name of the feature provider
+    /// \param propertyName (String)
+    /// Name of the connection property 
+    /// \param partialConnString (String)
+    /// Partial connection string
+    /// \return
+    /// Collection of valid property values
     virtual MgStringCollection* GetConnectionPropertyValues(CREFSTRING providerName,
-                                                            CREFSTRING propertyName,
-                                                            CREFSTRING partialConnString);
+                                                          CREFSTRING propertyName,
+                                                          CREFSTRING partialConnString);
 
+    /// \brief
+    /// Tests if a connection can be established with the given parameters
+    /// \param providerName (String)
+    /// Name of the feature provider
+    /// \param connectionString (String) 
+    /// Connection string to test
+    /// \return
+    /// true if connection successful, false otherwise
     virtual bool TestConnection(CREFSTRING providerName, CREFSTRING connectionString);
 
+    /// \brief
+    /// Tests if a connection can be established with the given resource
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \return
+    /// true if connection successful, false otherwise
     virtual bool TestConnection(MgResourceIdentifier* resource);
 
+    /// \brief
+    /// Gets provider capabilities
+    /// \param providerName (String)
+    /// Name of the feature provider
+    /// \return
+    /// XML reader containing capability information
     virtual MgByteReader* GetCapabilities(CREFSTRING providerName);
 
+    /// \brief 
+    /// Gets provider capabilities for specific connection
+    /// \param providerName (String)
+    /// Name of the feature provider
+    /// \param connectionString (String)
+    /// Connection string
+    /// \return
+    /// XML reader containing capability information
     virtual MgByteReader* GetCapabilities(CREFSTRING providerName, CREFSTRING connectionString);
 
+    /// \brief
+    /// Applies a feature schema to a data source
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param schema (MgFeatureSchema)
+    /// Feature schema to apply
     virtual void ApplySchema(MgResourceIdentifier* resource, MgFeatureSchema* schema);
 
+    /// \brief
+    /// Gets schema description for specified classes
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier  
+    /// \param schemaName (String)
+    /// Name of schema to describe
+    /// \param classNames (MgStringCollection)
+    /// Collection of class names to describe
+    /// \return
+    /// Collection of feature schemas
     virtual MgFeatureSchemaCollection* DescribeSchema(MgResourceIdentifier* resource,
                                                       CREFSTRING schemaName,
                                                       MgStringCollection* classNames);
 
+    /// \brief
+    /// Gets schema description 
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param schemaName (String)
+    /// Name of schema to describe
+    /// \return
+    /// Collection of feature schemas
     virtual MgFeatureSchemaCollection* DescribeSchema(MgResourceIdentifier* resource,
                                                       CREFSTRING schemaName);
 
+    /// \brief
+    /// Gets XML schema description for specified classes
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param schemaName (String)
+    /// Name of schema 
+    /// \param classNames (MgStringCollection)
+    /// Collection of class names
+    /// \return
+    /// XML schema description
     virtual STRING DescribeSchemaAsXml(MgResourceIdentifier* resource,
                                        CREFSTRING schemaName,
                                        MgStringCollection* classNames);
 
+    /// \brief
+    /// Gets XML schema description
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier 
+    /// \param schemaName (String)
+    /// Name of schema
+    /// \return
+    /// XML schema description
     virtual STRING DescribeSchemaAsXml(MgResourceIdentifier* resource,
                                        CREFSTRING schemaName);
 
+    /// \brief
+    /// Converts feature schema to XML
+    /// \param schema (MgFeatureSchemaCollection)
+    /// Feature schema collection to convert
+    /// \return
+    /// XML representation of schema
     virtual STRING SchemaToXml(MgFeatureSchemaCollection* schema);
 
+    /// \brief
+    /// Converts XML to feature schema
+    /// \param xml (String)
+    /// XML schema description
+    /// \return
+    /// Feature schema collection
     virtual MgFeatureSchemaCollection* XmlToSchema(CREFSTRING xml);
 
+    /// \brief
+    /// Selects features based on query options
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param className (String)
+    /// Name of feature class to query
+    /// \param options (MgFeatureQueryOptions)
+    /// Query options
+    /// \return
+    /// Feature reader containing results
     virtual MgFeatureReader* SelectFeatures(MgResourceIdentifier* resource,
                                             CREFSTRING className,
                                             MgFeatureQueryOptions* options);
 
+    /// \brief
+    /// Selects features with coordinate system
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param className (String)
+    /// Name of feature class
+    /// \param options (MgFeatureQueryOptions)
+    /// Query options  
+    /// \param coordinateSystem (String)
+    /// Target coordinate system
+    /// \return
+    /// Feature reader containing results
     virtual MgFeatureReader* SelectFeatures(MgResourceIdentifier* resource,
                                             CREFSTRING className,
                                             MgFeatureQueryOptions* options,
                                             CREFSTRING coordinateSystem);
 
+    /// \brief
+    /// Performs aggregate query
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param className (String)
+    /// Name of feature class
+    /// \param options (MgFeatureAggregateOptions)
+    /// Aggregate options
+    /// \return
+    /// Data reader with aggregate results
     virtual MgDataReader* SelectAggregate(MgResourceIdentifier* resource,
                                           CREFSTRING className,
                                           MgFeatureAggregateOptions* options);
 
+    /// \brief
+    /// Updates features using commands
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param commands (MgFeatureCommandCollection)
+    /// Collection of update commands
+    /// \param useTransaction (boolean/bool)
+    /// Whether to use transaction
+    /// \return
+    /// Collection of affected properties
     virtual MgPropertyCollection* UpdateFeatures(MgResourceIdentifier* resource,
                                                  MgFeatureCommandCollection* commands,
                                                  bool useTransaction);
 
+    /// \brief
+    /// Updates features using transaction
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param commands (MgFeatureCommandCollection)
+    /// Collection of update commands
+    /// \param transaction (MgTransaction)
+    /// Transaction to use
+    /// \return
+    /// Collection of affected properties
     virtual MgPropertyCollection* UpdateFeatures(MgResourceIdentifier* resource,
                                                  MgFeatureCommandCollection* commands,
                                                  MgTransaction* transaction);
 
+    /// \brief
+    /// Gets locked features
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param className (String)
+    /// Name of feature class
+    /// \param options (MgFeatureQueryOptions)
+    /// Query options
+    /// \return
+    /// Feature reader with locked features
     virtual MgFeatureReader* GetLockedFeatures(MgResourceIdentifier* resource,
                                                CREFSTRING className,
                                                MgFeatureQueryOptions* options);
 
+    /// \brief
+    /// Begins a new transaction
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \return
+    /// New transaction object
     virtual MgTransaction* BeginTransaction(MgResourceIdentifier* resource);
 
+    /// \brief
+    /// Executes SQL query
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param sqlStatement (String)
+    /// SQL query statement
+    /// \return SQL data reader with results
     virtual MgSqlDataReader* ExecuteSqlQuery(MgResourceIdentifier* resource,
                                              CREFSTRING sqlStatement);
 
+    /// \brief
+    /// Executes parameterized SQL query 
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param sqlStatement (String)
+    /// SQL query statement
+    /// \param parameters (MgParameterCollection)
+    /// Query parameters
+    /// \param transaction (MgTransaction)
+    /// Transaction to use
+    /// \return
+    /// SQL data reader with results
     virtual MgSqlDataReader* ExecuteSqlQuery(MgResourceIdentifier* resource,
                                              CREFSTRING sqlStatement,
                                              MgParameterCollection* parameters,
                                              MgTransaction* transaction);
 
+    /// \brief
+    /// Executes non-query SQL statement
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param sqlNonSelectStatement (String)
+    /// SQL non-select statement
+    /// \return
+    /// Number of rows affected
     virtual INT32 ExecuteSqlNonQuery(MgResourceIdentifier* resource,
                                      CREFSTRING sqlNonSelectStatement);
 
+    /// \brief
+    /// Executes parameterized non-query SQL
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param sqlNonSelectStatement (String)
+    /// SQL non-select statement  
+    /// \param parameters (MgParameterCollection)
+    /// Query parameters
+    /// \param transaction (MgTransaction)
+    /// Transaction to use
+    /// \return
+    /// Number of rows affected
     virtual INT32 ExecuteSqlNonQuery(MgResourceIdentifier* resource,
                                      CREFSTRING sqlNonSelectStatement,
                                      MgParameterCollection* parameters,
                                      MgTransaction* transaction);
 
+    /// \brief
+    /// Gets spatial contexts
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param bActiveOnly (boolean/bool)
+    /// Whether to get only active contexts
+    /// \return
+    /// Spatial context reader
     virtual MgSpatialContextReader* GetSpatialContexts(MgResourceIdentifier* resource,
                                                        bool bActiveOnly);
 
+    /// \brief
+    /// Gets long transactions
+    /// \param resource (MgResourceIdentifer)
+    /// Feature source resource identifier
+    /// \param bActiveOnly (boolean/bool)
+    /// Whether to get only active transactions
+    /// \return
+    /// Long transaction reader
     virtual MgLongTransactionReader* GetLongTransactions(MgResourceIdentifier* resource,
                                                          bool bActiveOnly);
 
+    /// \brief
+    /// Sets active long transaction
+    /// \param featureSourceId (MgResourceIdentifier)
+    /// Feature source identifier
+    /// \param longTransactionName (String)
+    /// Name of transaction
+    /// \return
+    /// true if successful
     virtual bool SetLongTransaction(MgResourceIdentifier* featureSourceId,
                                     CREFSTRING longTransactionName);
 
+    /// \brief
+    /// Gets available schemas
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \return
+    /// Collection of schema names
     virtual MgStringCollection* GetSchemas(MgResourceIdentifier* resource);
 
+    /// \brief
+    /// Gets feature classes in schema
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param schemaName (String)
+    /// Name of schema
+    /// \return
+    /// Collection of class names
     virtual MgStringCollection* GetClasses(MgResourceIdentifier* resource, CREFSTRING schemaName);
 
+    /// \brief
+    /// Gets class definition
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param schemaName (String)
+    /// Name of schema
+    /// \param className (String)
+    /// Name of class
+    /// \return
+    /// Class definition
     virtual MgClassDefinition* GetClassDefinition(MgResourceIdentifier* resource,
                                                   CREFSTRING schemaName,
                                                   CREFSTRING className);
 
+    /// \brief
+    /// Creates a new feature source
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param sourceParams (MgFeatureSourceParams)
+    /// Feature source parameters
     virtual void CreateFeatureSource(MgResourceIdentifier* resource, MgFeatureSourceParams* sourceParams);
 
+    /// \brief
+    /// Gets WFS feature type description
+    /// \param featureSourceId (MgResourceIdentifier)
+    /// Feature source identifier
+    /// \param featureClasses (MgStringCollection)
+    /// Feature classes to describe
+    /// \return
+    /// XML reader with feature type description
     virtual MgByteReader* DescribeWfsFeatureType(MgResourceIdentifier* featureSourceId,
                                                  MgStringCollection* featureClasses);
 
+    /// \brief
+    /// Gets WFS feature type description with namespace
+    /// \param featureSourceId (MgResourceIdentifier)
+    /// Feature source identifier
+    /// \param featureClasses (MgStringCollection)
+    /// Feature classes to describe
+    /// \param namespacePrefix (String)
+    /// Namespace prefix
+    /// \param namespaceUrl (String)
+    /// Namespace URL
+    /// \return
+    /// XML reader with feature type description
     virtual MgByteReader* DescribeWfsFeatureType(MgResourceIdentifier* featureSourceId,
                                                  MgStringCollection* featureClasses,
                                                  CREFSTRING namespacePrefix,
                                                  CREFSTRING namespaceUrl);
 
+    /// \brief
+    /// Gets WFS features
+    /// \param featureSourceId (MgResourceIdentifier)
+    /// Feature source identifier
+    /// \param featureClass (String)
+    /// Feature class name
+    /// \param requiredProperties (MgStringCollection)
+    /// Required properties
+    /// \param srs (String)
+    /// Spatial reference system
+    /// \param filter (String)
+    /// Filter expression
+    /// \param maxFeatures (int)
+    /// Maximum features to return
+    /// \return
+    /// XML reader with features
     virtual MgByteReader* GetWfsFeature(MgResourceIdentifier* featureSourceId,
                                         CREFSTRING featureClass,
                                         MgStringCollection* requiredProperties,
@@ -155,6 +448,32 @@
                                         CREFSTRING filter,
                                         INT32 maxFeatures);
 
+    /// \brief
+    /// Gets WFS features with additional options
+    /// \param featureSourceId (MgResourceIdentifier)
+    /// Feature source identifier
+    /// \param featureClass (String)
+    /// Feature class name
+    /// \param requiredProperties (MgStringCollection)
+    /// Required properties
+    /// \param srs (String)
+    /// Spatial reference system
+    /// \param filter (String)
+    /// Filter expression
+    /// \param maxFeatures (int)
+    /// Maximum features to return
+    /// \param wfsVersion (String)
+    /// WFS version
+    /// \param outputFormat (String)
+    /// Output format
+    /// \param sortCriteria (String)
+    /// Sort criteria
+    /// \param namespacePrefix (String)
+    /// Namespace prefix
+    /// \param namespaceUrl (String)
+    /// Namespace URL
+    /// \return
+    /// XML reader with features
     virtual MgByteReader* GetWfsFeature(MgResourceIdentifier* featureSourceId,
                                         CREFSTRING featureClass,
                                         MgStringCollection* requiredProperties,
@@ -167,24 +486,132 @@
                                         CREFSTRING namespacePrefix,
                                         CREFSTRING namespaceUrl);
 
+    /// \brief
+    /// Enumerates available data stores
+    /// \param providerName (String)
+    /// Provider name
+    /// \param partialConnString (String)
+    /// Partial connection string
+    /// \return
+    /// XML reader with data store list
     virtual MgByteReader* EnumerateDataStores(CREFSTRING providerName, CREFSTRING partialConnString);
 
+    /// \brief
+    /// Gets schema mapping
+    /// \param providerName (String)
+    /// Provider name
+    /// \param partialConnString (String)
+    /// Partial connection string
+    /// \return
+    /// XML reader with schema mapping
     virtual MgByteReader* GetSchemaMapping(CREFSTRING providerName, CREFSTRING partialConnString);
 
+    /// \brief
+    /// Inserts new features
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param className (String)
+    /// Name of feature class
+    /// \param propertyValues (MgPropertyCollection)
+    /// Property values to insert
+    /// \return
+    /// Feature reader with inserted features
     virtual MgFeatureReader* InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues);
 
+    /// \brief
+    /// Inserts features with transaction
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param className (String)
+    /// Name of feature class
+    /// \param propertyValues (MgPropertyCollection)
+    /// Property values to insert
+    /// \param trans (MgTransaction)
+    /// Transaction to use
+    /// \return
+    /// Feature reader with inserted features
     virtual MgFeatureReader* InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, MgTransaction* trans);
 
+    /// \brief
+    /// Inserts batch of features
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param className (String)
+    /// Name of feature class
+    /// \param batchPropertyValues (MgBatchPropertyCollection)
+    /// Batch of property values
+    /// \return
+    /// Feature reader with inserted features
     virtual MgFeatureReader* InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgBatchPropertyCollection* batchPropertyValues);
 
+    /// \brief
+    /// Inserts batch of features with transaction
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param className (String)
+    /// Name of feature class
+    /// \param batchPropertyValues (MgBatchPropertyCollection)
+    /// Batch of property values
+    /// \param trans (MgTransaction)
+    /// Transaction to use
+    /// \return
+    /// Feature reader with inserted features
     virtual MgFeatureReader* InsertFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgBatchPropertyCollection* batchPropertyValues, MgTransaction* trans);
 
+    /// \brief
+    /// Deletes features matching filter
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param className (String)
+    /// Name of feature class
+    /// \param filter (String)
+    /// Filter expression
+    /// \return
+    /// Number of features deleted
     virtual INT32 DeleteFeatures(MgResourceIdentifier* resource, CREFSTRING className, CREFSTRING filter);
 
+    /// \brief
+    /// Deletes features with transaction
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param className (String)
+    /// Name of feature class
+    /// \param filter (String)
+    /// Filter expression
+    /// \param trans (MgTransaction)
+    /// Transaction to use
+    /// \return
+    /// Number of features deleted
     virtual INT32 DeleteFeatures(MgResourceIdentifier* resource, CREFSTRING className, CREFSTRING filter, MgTransaction* trans);
     
+    /// \brief
+    /// Updates features matching filter
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param className (String)
+    /// Name of feature class
+    /// \param propertyValues (MgPropertyCollection)
+    /// New property values
+    /// \param filter (String)
+    /// Filter expression
+    /// \return
+    /// Number of features updated
     virtual INT32 UpdateMatchingFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, CREFSTRING filter);
 
+    /// \brief
+    /// Updates features with transaction
+    /// \param resource (MgResourceIdentifier)
+    /// Feature source resource identifier
+    /// \param className (String)
+    /// Name of feature class
+    /// \param propertyValues (MgPropertyCollection)
+    /// New property values
+    /// \param filter (String)
+    /// Filter expression 
+    /// \param trans (MgTransaction)
+    /// Transaction to use
+    /// \return
+    /// Number of features updated
     virtual INT32 UpdateMatchingFeatures(MgResourceIdentifier* resource, CREFSTRING className, MgPropertyCollection* propertyValues, CREFSTRING filter, MgTransaction* trans);
 
     //------- Portable API additions --------//



More information about the mapguide-commits mailing list