Exemplo n.º 1
0
 private void HandleLeftButtonUp(IPointerEventArgs e)
 {
     if (m_Pointer != null)
     {
         ISpatialDocument doc = Scene?.Document;
         if (doc != null)
         {
             m_Hits.Clear();
             Coordinate pos = Scene.ViewToWorld(m_Position);
             doc.HitTest(pos.X, pos.Y, 5, 1 / Scene.Scale,
                         m_HitTestSpec, m_Hits);
             bool multi = e.KeyModifiers.HasFlag(KeyModifiers.Shift);
             if (m_Hits.Count == 1)
             {
                 if (!multi)
                 {
                     doc.DeselectAll();
                 }
                 var          pair  = m_Hits.First();
                 IItemsLayer  layer = pair.Value;
                 ISpatialItem item  = pair.Key;
                 if (layer.IsItemSelected(item))
                 {
                     if (multi)
                     {
                         layer.DeselectItem(item);
                     }
                 }
                 else
                 {
                     layer.SelectItem(item);
                 }
             }
             else
             {
                 doc.DeselectAll();
             }
         }
     }
 }
Exemplo n.º 2
0
 public SpatialDocument(ISpatialDocument entity)
 {
     _id          = entity.Id;
     _coordinates = entity.Coordinates;
 }
Exemplo n.º 3
0
 public KnnQueryResultItem(ISpatialDocument document, double distance)
 {
     Document = document;
     Distance = distance;
 }
Exemplo n.º 4
0
 public void Add(ISpatialDocument doc)
 {
     _docs.Add(doc);
 }
Exemplo n.º 5
0
 public SpatialDocument(ISpatialDocument entity)
 {
     _id = entity.Id;
     _coordinates = entity.Coordinates;
 }
Exemplo n.º 6
0
 public void Add(ISpatialDocument doc)
 {
     _docs.Add(doc);
 }
Exemplo n.º 7
0
 public KnnQueryResultItem(ISpatialDocument document, double distance)
 {
     Document = document;
     Distance = distance;
 }