class TGLSelectBuffer


 Encapsulates OpenGL select buffer.
 Provides sorting of the results based on z-coordinate of the
 selection hit and can fill the TGLSelectRecordBase records.

Function Members (Methods)

public:
TGLSelectBuffer()
TGLSelectBuffer(const TGLSelectBuffer&)
virtual~TGLSelectBuffer()
Bool_tCanGrow()
static TClass*Class()
UInt_t*GetBuf() const
Int_tGetBufSize() const
Int_tGetNRecords() const
voidGrow()
virtual TClass*IsA() const
TGLSelectBuffer&operator=(const TGLSelectBuffer&)
voidProcessResult(Int_t glResult)
UInt_t*RawRecord(Int_t i)
voidSelectRecord(TGLSelectRecordBase& rec, Int_t i)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)

Data Members

protected:
UInt_t*fBufActual buffer.
Int_tfBufSizeSize of buffer.
Int_tfNRecordsNumber of records as returned by glRenderMode.
vector<pair<unsigned int,unsigned int*>,allocator<pair<unsigned int,unsigned int*> > >fSortedRecords
static Int_tfgMaxBufSize

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGLSelectBuffer(const TGLSelectBuffer& )
 Constructor.
~TGLSelectBuffer()
 Destructor.
Bool_t CanGrow()
static: return true if current buffer is smaller than the max buffer size
void Grow()
 Increase size of the select buffer.
void ProcessResult(Int_t glResult)
 Process result of GL-selection: sort the hits by their minimum
 z-coordinate.
void SelectRecord(TGLSelectRecordBase& rec, Int_t i)
 Return select record on (sorted) position i.
TGLSelectBuffer(const TGLSelectBuffer& )
Int_t GetBufSize()
{ return fBufSize; }
UInt_t* GetBuf()
{ return fBuf; }
Int_t GetNRecords()
{ return fNRecords; }
UInt_t* RawRecord(Int_t i)
{ return fSortedRecords[i].second; }

Author: Matevz Tadel, Feb 2007
Last change: root/gl:$Id: TGLSelectBuffer.h 21565 2007-12-28 12:28:46Z brun $
Last generated: 2008-06-25 08:41
Copyright (C) 1995-2004, Rene Brun and Fons Rademakers. *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.