Changes between Version 1 and Version 2 of MapGuideRfc9


Ignore:
Timestamp:
Feb 10, 2007, 8:48:46 PM (17 years ago)
Author:
robertbray
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • MapGuideRfc9

    v1 v2  
    3131== Proposed Solution ==
    3232
    33 This is a more detailed description of the actual changes desired.  The contents of this section will vary based on the target of the RFC, be it a technical change, website change, or process change.  For example, for a technical change, items such as files, XML schema changes, and API chances would be identified.  For a process change, the new process would be laid out in detail.  For a website change, the files affected would be listed.
     33
     34{{{
     35/// <summary>                                                                                                       
     36/// Gets the class definition for the feature class of the layer.  If the                                           
     37/// feature class of the layer is extended with properties from other feature                                       
     38/// classes, then all those properties are also contained in the returned                                           
     39/// class definition.                                                                                               
     40/// </summary>                                                                                                     
     41/// <returns>                                                                                                       
     42/// Returns an MgClassDefinition instance for the specified / class name.                                           
     43/// </returns>                                                                                                     
     44virtual MgClassDefinition* GetClassDefinition();                                                                   
     45                                                                                                                       
     46/// <summary>                                                                                                       
     47/// Selects features from a feature source according to the                                                         
     48/// criteria set in the MgFeatureQueryOptions argument The                                                         
     49/// criteria are applied to all of the features in the feature                                                     
     50/// source. If you want to apply the criteria to a subset of the                                                   
     51/// features, use the MgLayerBase::SelectAggregate Method.                                                         
     52/// </summary>                                                                                                     
     53/// <param name="options">                                                                                         
     54/// MgFeatureQueryOptions instance containing all required filters for                                             
     55/// this select operation.                                                                                         
     56/// </param>                                                                                                       
     57/// <returns>                                                                                                       
     58/// Returns an MgFeatureReader containing the set of selected                                                       
     59/// features.                                                                                                       
     60/// </returns>                                                                                                     
     61virtual MgFeatureReader* SelectFeatures(MgFeatureQueryOptions *options);                                           
     62                                                                                                                       
     63/// <summary>                                                                                                       
     64/// Selects groups of features from a feature source and applies                                                   
     65/// filters to each of the groups according to the criteria set                                                     
     66/// in the MgFeatureAggregateOptions argument. If you want to                                                       
     67/// apply the criteria to all features without grouping them, use                                                   
     68/// the MgLayerBase::SelectFeatures Method.                                                                         
     69/// </summary>                                                                                                     
     70/// <param name="options">                                                                                         
     71/// An MgFeatureAggregateOptions instance containing all the criteria and                                           
     72/// filters required for this select operation.                                                                     
     73/// </param>                                                                                                       
     74/// <returns>                                                                                                       
     75/// Returns an MgDataReader containing the group values.                                                           
     76/// </returns>                                                                                                     
     77virtual MgDataReader* SelectAggregate(MgFeatureAggregateOptions* options);                                         
     78                                                                                                                       
     79/// <summary>                                                                                                       
     80/// Executes the MgDeleteFeatures, MgInsertFeatures,                                                               
     81/// MgUpdateFeatures, MgLockFeatures or MgUnlockFeatures commands                                                   
     82/// contained in the given MgFeatureCommandCollection object.                                                       
     83/// </summary>                                                                                                     
     84/// <param name="commands">A collection of feature commands to be                                                   
     85/// executed.</param>                                                                                               
     86/// <returns>                                                                                                       
     87/// Returns an MgPropertyCollection object. Each property in the                                                   
     88/// collection corresponds to a command in the MgFeatureCommandCollection                                           
     89/// argument. The property name is the index of the command in the feature                                         
     90/// command collection.                                                                                             
     91/// </returns>                                                                                                     
     92virtual MgPropertyCollection* UpdateFeatures(MgFeatureCommandCollection* commands);                                 
     93}}}
    3494
    3595== Implications ==
    3696
    37 This section allows discussion of the repercussions of the change, such as whether there will be any breakage in backwards compatibility, if documentation will need to be updated, etc.
     97Because these are additions to the API no compatibility issues exist. However in order to take advantage of the new methods users will need to call one of the new !MgMap constructors. If they do not the new methods will throw an exception.
    3898
    3999== Test Plan ==
    40100
    41 How the proposed change will be tested, if applicable.  New unit tests should be detailed here???
     101API Unit Tests will be added to test the new !MgLayerBase methods.
    42102
    43103== Funding/Resources ==
    44104
    45 This section will confirm that the proposed feature has enough support to proceed.  This would typically mean that the entity making the changes would put forward the RFC, but a non-developer could act as an RFC author if they are sure they have the funding to cover the change.
     105Autodesk will supply the resources to implement this RFC.