removeElements method

void removeElements(
  1. SAPElement min,
  2. SAPElement max
)

remove min and max elements to the sweep and prune axis

Implementation

void removeElements(SAPElement min,SAPElement max ) {
  int minIndex=-1;
  int maxIndex=-1;

  for(int i=0; i<numElements; i++){
    SAPElement? e = elements[i];
    if(e==min||e==max){
      if(minIndex==-1){
        minIndex=i;
      }
      else{
        maxIndex=i;
        break;
      }
    }
  }
  for(int i = minIndex+1, l = maxIndex; i < l; i++){
    elements[i-1] = elements[i];
  }
  for(int i = maxIndex+1, l = numElements; i < l; i++){
    elements[i-2] = elements[i];
  }
  elements[--numElements] = null;
  elements[--numElements] = null;
}