class TGLObject: public TGLLogicalShape


 Base-class for direct OpenGL renderers.
 This allows classes to circumvent passing of TBuffer3D and
 use user-provided OpenGL code.
 By convention, if you want class TFoo : public TObject to have direct rendering
 you should also provide TFooGL : public TGLObject and implement
 abstract functions SetModel() and SetBBox().
 TAttBBox can be used to facilitate calculation of bounding-boxes.
 See TPointSet3D and TPointSet3DGL.

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~TGLObject()
voidTGLLogicalShape::AddRef(TGLPhysicalShape* phys) const
const TGLBoundingBox&TGLLogicalShape::BoundingBox() const
static TClass*Class()
voidTGLLogicalShape::DestroyPhysicals()
virtual voidTGLLogicalShape::DirectDraw(TGLRnrCtx& rnrCtx) const
virtual voidTGLLogicalShape::DLCacheClear()
virtual voidTGLLogicalShape::DLCacheDrop()
virtual voidTGLLogicalShape::DLCachePurge()
virtual Int_tTGLLogicalShape::DLCacheSize() const
virtual UInt_tTGLLogicalShape::DLOffset(Short_t) const
virtual voidTGLLogicalShape::Draw(TGLRnrCtx& rnrCtx) const
TObject*TGLLogicalShape::GetExternal() const
const TGLPhysicalShape*TGLLogicalShape::GetFirstPhysical() const
static TClass*GetGLRenderer(TClass* isa)
TGLScene*TGLLogicalShape::GetScene() const
TObject*TGLLogicalShape::ID() const
virtual Bool_tTGLLogicalShape::IgnoreSizeForOfInterest() const
voidTGLLogicalShape::InvokeContextMenu(TContextMenu& menu, UInt_t x, UInt_t y) const
virtual TClass*IsA() const
virtual Bool_tKeepDuringSmartRefresh() const
virtual voidTGLLogicalShape::ProcessSelection(TGLRnrCtx& rnrCtx, TGLSelectRecord& rec)
virtual Short_tTGLLogicalShape::QuantizeShapeLOD(Short_t shapeLOD, Short_t combiLOD) const
UInt_tTGLLogicalShape::Ref() const
virtual voidSetBBox()
Bool_tTGLLogicalShape::SetDLCache(Bool_t cached)
virtual Bool_tSetModel(TObject* obj, Option_t* opt = 0)
virtual Bool_tShouldDLCache(const TGLRnrCtx& rnrCtx) const
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
voidTGLLogicalShape::StrongRef(Bool_t strong) const
voidTGLLogicalShape::SubRef(TGLPhysicalShape* phys) const
virtual TGLLogicalShape::ELODAxesTGLLogicalShape::SupportedLODAxes() const
virtual Bool_tTGLLogicalShape::SupportsSecondarySelect() const
UInt_tTGLLogicalShape::UnrefFirstPhysical()
virtual voidUpdateBoundingBox()
voidTGLLogicalShape::UpdateBoundingBoxesOfPhysicals()
protected:
voidSetAxisAlignedBBox(const Float_t* p)
voidSetAxisAlignedBBox(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax)
Bool_tSetModelCheckClass(TObject* obj, TClass* cls)
private:
static TClass*SearchGLRenderer(TClass* cls)

Data Members

public:
enum TGLLogicalShape::ELODAxes { kLODAxesNone
kLODAxesX
kLODAxesY
kLODAxesZ
kLODAxesAll
};
protected:
TGLBoundingBoxTGLLogicalShape::fBoundingBox! Shape's bounding box.
UInt_tTGLLogicalShape::fDLBase! display-list id base
Bool_tTGLLogicalShape::fDLCache! use display list caching
UShort_tTGLLogicalShape::fDLValid! display-list validity bit-field
TObject*TGLLogicalShape::fExternalObj! Also plays the role of ID.
TGLPhysicalShape*TGLLogicalShape::fFirstPhysical! first replica
Bool_tfMultiColorAre multiple colors used for object rendering.
Bool_tTGLLogicalShape::fOwnExtObj! External object is a fake
UInt_tTGLLogicalShape::fRef! physical instance ref counting
Bool_tTGLLogicalShape::fRefStrong! Strong ref (delete on 0 ref); not in scene
TGLScene*TGLLogicalShape::fScene! scene where object is stored (can be zero!)
private:
static TMapfgGLClassMap

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

Bool_t ShouldDLCache(const TGLRnrCtx& rnrCtx) const
 Decide if display-list should be used for this pass rendering,
 as determined by rnrCtx.
void UpdateBoundingBox()
 Update bounding box from external source.
 We call abstract SetBBox() and propagate the change to all
 attached physicals.
Bool_t SetModelCheckClass(TObject* obj, TClass* cls)
 Checks if obj is of proper class and sets the model.
 Protected helper for subclasses.
void SetAxisAlignedBBox(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax)
 Set axis-aligned bounding-box.
 Protected helper for subclasses.
void SetAxisAlignedBBox(const Float_t* p)
 Set axis-aligned bounding-box.
 Protected helper for subclasses.
TClass* SearchGLRenderer(TClass* cls)
 Recursively search cls and its base classes for a GL-renderer
 class.
TClass* GetGLRenderer(TClass* isa)
 Return direct-rendering GL class for class isa.
 Zero is a valid response.
virtual ~TGLObject()
{}
Bool_t KeepDuringSmartRefresh()
 Kept from TGLLogicalShape
 virtual ELODAxes SupportedLODAxes() const { return kLODAxesNone; }
 Changed from TGLLogicalShape
{ return kTRUE; }
Bool_t SetModel(TObject* obj, Option_t* opt = 0)
 TGLObject virtuals
void SetBBox()
 Abstract method from TGLLogicalShape:
 virtual void DirectDraw(TGLRnrCtx & rnrCtx) const = 0;

Author: Matevz Tadel 7/4/2006
Last change: root/gl:$Id: TGLObject.h 24214 2008-06-11 14:48:35Z matevz $
Last generated: 2008-06-25 08:41
Copyright (C) 1995-2006, 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.