public void Add(gxtGeom geom) { // make associated sap box gxtSAPBox addBox = new gxtSAPBox(geom); addBox.Update(); int size = colliderList.Count; // if empty or greater than the rest of the collection add to end if (colliderList.Count == 0 || addBox.min.X >= colliderList[size - 1].min.X) colliderList.Add(addBox); // if less than rest of collection insert in front else if (addBox.min.X < colliderList[0].min.X) colliderList.Insert(0, addBox); else { int idx = 1; while (addBox.min.X > colliderList[idx].min.X) { idx++; } colliderList.Insert(idx, addBox); } }
private int CompareBoxes(gxtSAPBox x, gxtSAPBox y) { if (x.min.X < y.min.X) return -1; if (x.min.X > y.min.X) return 1; return 0; }