internal void SelectByExtent(XExtent extent, bool IntersestOrContain,
                              bool PlusSelect) //,bool EmptyOrNot
 {
     if (PlusSelect)
     {
         foreach (XFeature f in Features)
         {
             if (f.Selected == true)
             {
                 continue;
             }
             f.Selected = IntersestOrContain ?
                          extent.IntersectWith(f.Spatial.Extent) :
                          extent.Contains(f.Spatial.Extent);
         }
     }
     else
     {
         foreach (XFeature f in Features)
         {
             f.Selected = IntersestOrContain ?
                          extent.IntersectWith(f.Spatial.Extent) :
                          extent.Contains(f.Spatial.Extent);
         }
     }
 }
 internal void SelectByExtent(XExtent extent)
 {
     foreach (XFeature feature in Features)
     {
         feature.Selected = extent.Contains(feature.Spatial.Extent);
     }
 }