public void RemoveLidIndexPair(long lid) { long baseIndex = LIDtoIND[lid]; LIDtoIND.Remove(lid); INDtoLID[(int)baseIndex + (int)EPhaseIndex.A] = 0; INDtoLID[(int)baseIndex + (int)EPhaseIndex.B] = 0; INDtoLID[(int)baseIndex + (int)EPhaseIndex.C] = 0; matrixIndexManager.RemoveIndex(baseIndex); }
private long CreateLidIndexPair(long lid) { long index; if (matrixIndexManager.FindFreeIndex(out index)) { INDtoLID.AddRange(new List <long>(3) { lid, lid, lid }); } else { INDtoLID[(int)index + (int)EPhaseIndex.A] = lid; INDtoLID[(int)index + (int)EPhaseIndex.B] = lid; INDtoLID[(int)index + (int)EPhaseIndex.C] = lid; } LIDtoIND.Add(lid, index); return(index); }