Example #1
0
 public void RemoveSpatialMemeber(SpatialObjectKey resourceName, ISpatialIndexMember member)
 {
     if (IsLeafNode && SpatialIndexMembers[resourceName] != null)
     {
         if (SpatialIndexMembers[resourceName].Contains(member))
         {
             SpatialIndexMembers[resourceName].Remove(member);
             ChangeResourceCount(resourceName, -1);
         }
     }
 }
Example #2
0
        public void CheckChangeSection(Point newPosition, ISpatialIndexMember objectToMove, SpatialObjectKey spatialObjectType)
        {
            SpatialTreeNode leafNodeToRemoveFrom = PositionToLeafNode(objectToMove.SpatialIndexPosition);
            SpatialTreeNode leafNodeToAdd        = PositionToLeafNode(newPosition);

            if (leafNodeToRemoveFrom != leafNodeToAdd)
            {
                RemoveFromSection(objectToMove, spatialObjectType);
                leafNodeToAdd.AddSpatialMemeber(spatialObjectType, objectToMove);
            }
        }
Example #3
0
 public void AddSpatialMemeber(SpatialObjectKey resourceName, ISpatialIndexMember member)
 {
     if (IsLeafNode)
     {
         if (!SpatialIndexMembers.ContainsKey(resourceName))
         {
             SpatialIndexMembers[resourceName] = new List <ISpatialIndexMember>();
         }
         SpatialIndexMembers[resourceName].Add(member);
         ChangeResourceCount(resourceName, 1);
     }
 }
Example #4
0
        public void RemoveFromSection(ISpatialIndexMember objectToRemove, SpatialObjectKey spatialObjectType)
        {
            SpatialTreeNode leafNodeToRemoveFrom = PositionToLeafNode(objectToRemove.SpatialIndexPosition);

            leafNodeToRemoveFrom.RemoveSpatialMemeber(spatialObjectType, objectToRemove);
        }
Example #5
0
        public void AddToSection(ISpatialIndexMember objectToAdd, SpatialObjectKey spatialObjectType)
        {
            SpatialTreeNode leafNodeToAdd = PositionToLeafNode(objectToAdd.SpatialIndexPosition);

            leafNodeToAdd.AddSpatialMemeber(spatialObjectType, objectToAdd);
        }