library: libRGL
#include "TGLDrawable.h"

TGLDrawable


class description - source file - inheritance tree (.pdf)

class TGLDrawable

Inheritance Chart:
TGLDrawable
<-
TGLLogicalShape
<-
TGLCylinder
TGLFaceSet
TGLPolyLine
TGLPolyMarker
TGLSphere
TGLPhysicalShape
<-
TGLClip
<-
TGLClipBox
TGLClipPlane
 [more...]
 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

    private:
const TGLDrawable& operator=(const TGLDrawable&) const protected:
virtual void DirectDraw(const TGLDrawFlags& flags) const public:
virtual ~TGLDrawable() const TGLBoundingBox& BoundingBox() const static TClass* Class() virtual void Draw(const TGLDrawFlags& flags) const ULong_t ID() const virtual TClass* IsA() const virtual void Purge() Bool_t SetCached(Bool_t cached) virtual Bool_t ShouldCache(const TGLDrawFlags& flags) const virtual void ShowMembers(TMemberInspector& insp, char* parent) virtual void Streamer(TBuffer& b) void StreamerNVirtual(TBuffer& b) virtual TGLDrawable::ELODAxes SupportedLODAxes() const

Data Members

    private:
ULong_t fID ! unique drawable ID protected:
Bool_t fCached ! use display list cached TGLBoundingBox fBoundingBox ! the drawables bounding box static TGLQuadric fgQuad ! Single common quadric drawing object public:
static const TGLDrawable::ELODAxes kLODAxesNone static const TGLDrawable::ELODAxes kLODAxesX static const TGLDrawable::ELODAxes kLODAxesY static const TGLDrawable::ELODAxes kLODAxesZ static const TGLDrawable::ELODAxes kLODAxesAll

Class Description

                                                                      
 TGLDrawable                                                          
                                                                      
 Abstract base class for all GL drawable objects - TGLPhysicalShape & 
 TGLLogicalShape hierarchy. Provides hooks for using the display list 
 cache in TGLDrawable::Draw() - the external draw method for all      
 shapes.                                                              
                                                                      
 Defines pure virtual TGLDrawable::DirectDraw() which derived classes 
 must implement with actual GL drawing.                               
                                                                      
 Display list caching can occur at either the physical or logical     
 level (with or without translation). Currently we cache only certain 
 derived logical shapes as not all logicals can respect the LOD draw  
 flag which is used in caching.                                       


~TGLDrawable()
 Destroy the GL drawable.

Bool_t SetCached(Bool_t cached)
 Modify capture of draws into display list cache
 kTRUE - capture, kFALSE direct draw
 Return kTRUE is state changed, kFALSE if not

Bool_t ShouldCache(const TGLDrawFlags & /*flags*/) const
 Returns kTRUE if draws should be display list cache
 kFALSE otherwise

void Draw(const TGLDrawFlags & flags) const
 Draw the GL drawable, using draw flags. If DL caching is enabled
 (see SetCached) then attempt to draw from the cache, if not found
 attempt to capture the draw - done by DirectDraw() - into a new cache entry.
 If not cached just call DirectDraw() for normal non DL cached drawing.

void Purge()
 Purge all entries for all LODs for this drawable from the display list cache.

 Note: This does nothing at present as per drawable purging is not implemented
 in TGLDisplayListCache.



Inline Functions


           const TGLDrawable& operator=(const TGLDrawable&) const
                         void DirectDraw(const TGLDrawFlags& flags) const
                      ULong_t ID() const
        const TGLBoundingBox& BoundingBox() const
        TGLDrawable::ELODAxes SupportedLODAxes() const
                      TClass* Class()
                      TClass* IsA() const
                         void ShowMembers(TMemberInspector& insp, char* parent)
                         void Streamer(TBuffer& b)
                         void StreamerNVirtual(TBuffer& b)


Author: Richard Maunder 25/05/2005
Last update: root/gl:$Name: $:$Id: TGLDrawable.cxx,v 1.12 2006/02/20 11:02:19 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *


ROOT page - Class index - Class Hierarchy - Top of the page

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.