25 Int_t TGLSelectBuffer::fgMaxBufSize = 1 << 20;
30 TGLSelectBuffer::TGLSelectBuffer() :
32 fBuf (new UInt_t [fBufSize]),
40 TGLSelectBuffer::~TGLSelectBuffer()
48 Bool_t TGLSelectBuffer::CanGrow()
50 return 2 * fBufSize < fgMaxBufSize;
56 void TGLSelectBuffer::Grow()
59 fBufSize = TMath::Min(2*fBufSize, fgMaxBufSize);
60 fBuf =
new UInt_t[fBufSize];
67 void TGLSelectBuffer::ProcessResult(Int_t glResult)
76 fSortedRecords.resize(fNRecords);
82 for (i = 0; i < fNRecords; ++i)
84 fSortedRecords[i].first = buf[1];
85 fSortedRecords[i].second = buf;
88 std::sort(fSortedRecords.begin(), fSortedRecords.end());
96 Int_t TGLSelectBuffer::SelectRecord(TGLSelectRecordBase& rec, Int_t i)
98 rec.Set(fSortedRecords[i].second);