ROOT logo
ROOT » GRAF3D » GL » TGLScenePad

class TGLScenePad: public TVirtualViewer3D, public TGLScene

 TGLScenePad

 Implements VirtualViewer3D interface and fills the base-class
 visualization structures from pad contents.

Function Members (Methods)

public:
TGLScenePad(TVirtualPad* pad)
virtual~TGLScenePad()
voidTObject::AbstractMethod(const char* method) const
virtual voidAddCompositeOp(UInt_t operation)
voidAddHistoPhysical(TGLLogicalShape* log)
virtual Int_tAddObject(const TBuffer3D& buffer, Bool_t* addChildren = 0)
virtual Int_tAddObject(UInt_t physicalID, const TBuffer3D& buffer, Bool_t* addChildren = 0)
voidTGLSceneBase::AddViewer(TGLViewerBase* viewer)
virtual voidTGLScene::AdoptLogical(TGLLogicalShape& shape)
virtual voidTGLScene::AdoptPhysical(TGLPhysicalShape& shape)
virtual voidTObject::AppendPad(Option_t* option = "")
virtual voidBeginScene()
UInt_tTGLScene::BeginSmartRefresh()
virtual Bool_tTGLScene::BeginUpdate()
const TGLBoundingBox&TGLSceneBase::BoundingBox() const
virtual voidTObject::Browse(TBrowser* b)
virtual Bool_tBuildingScene() const
virtual voidTGLScene::CalcBoundingBox() const
virtual Bool_tCanLoopOnPrimitives() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
TGLClip*TGLSceneBase::Clip() const
virtual TObject*TObject::Clone(const char* newname = "") const
virtual voidCloseComposite()
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
virtual TGLScene::TSceneInfo*TGLScene::CreateSceneInfo(TGLViewerBase* view)
TGLLockable::ELockTGLLockable::CurrentLock() const
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual Bool_tTGLScene::DestroyLogical(TObject* logid, Bool_t mustFind = kTRUE)
virtual Int_tTGLScene::DestroyLogicals()
virtual Bool_tTGLScene::DestroyPhysical(UInt_t phid)
virtual Int_tTGLScene::DestroyPhysicals(Bool_t incModified, const TGLCamera* camera = 0)
virtual Int_tDistancetoPrimitive(Int_t, Int_t)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTVirtualViewer3D::DrawViewer()
virtual voidTObject::Dump() constMENU
voidTGLScene::DumpMapSizes() const
virtual voidEndScene()
voidTGLScene::EndSmartRefresh()
virtual voidTGLScene::EndUpdate(Bool_t minorChange = kTRUE, Bool_t sceneChanged = kTRUE, Bool_t updateViewers = kTRUE)
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidExecuteEvent(Int_t, Int_t, Int_t)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TGLLogicalShape*TGLScene::FindLogical(TObject* logid) const
TGLLogicalShape*TGLScene::FindLogicalSmartRefresh(TObject* ID) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
virtual TGLPhysicalShape*TGLScene::FindPhysical(UInt_t phid) const
Bool_tTGLSceneBase::GetAutoDestruct() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
TGLContextIdentity*TGLScene::GetGLCtxIdentity() const
virtual const char*TObject::GetIconName() const
virtual UInt_tTGLScene::GetMaxPhysicalID()
UInt_tTGLSceneBase::GetMinorStamp() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TVirtualPad*GetPad() const
Bool_tTGLSceneBase::GetSelectable() const
Bool_tGetSmartRefresh() const
UInt_tTGLSceneBase::GetTimeStamp() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
voidTGLSceneBase::IncMinorStamp()
voidTGLSceneBase::IncTimeStamp()
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTGLSceneBase::InvalidateBoundingBox()
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
Bool_tTGLLockable::IsDrawOrSelectLock() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTGLLockable::IsLocked() const
Bool_tTObject::IsOnHeap() const
static Bool_tTGLScene::IsOutside(const TGLBoundingBox& box, const TGLPlaneSet_t& planes)
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual const char*TGLSceneBase::LockIdStr() const
static const char*TGLLockable::LockName(TGLLockable::ELock lock)
static Bool_tTGLLockable::LockValid(TGLLockable::ELock lock)
Short_tTGLSceneBase::LOD() const
virtual voidTGLScene::LodifySceneInfo(TGLRnrCtx& rnrCtx)
virtual voidTObject::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
virtual voidObjectPaint(TObject* obj, Option_t* opt = "")
virtual Bool_tOpenComposite(const TBuffer3D& buffer, Bool_t* addChildren = 0)
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidPadPaint(TVirtualPad* pad)
virtual voidPadPaintFromViewer(TGLViewer* viewer)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTGLScene::PostDraw(TGLRnrCtx& rnrCtx)
virtual voidTGLSceneBase::PostRender(TGLRnrCtx& rnrCtx)
virtual voidTGLScene::PreDraw(TGLRnrCtx& rnrCtx)
virtual Bool_tPreferLocalFrame() const
virtual voidTGLSceneBase::PreRender(TGLRnrCtx& rnrCtx)
virtual voidTObject::Print(Option_t* option = "") const
virtual voidTVirtualViewer3D::PrintObjects()
virtual Int_tTObject::Read(const char* name)
virtual voidTGLScene::RebuildSceneInfo(TGLRnrCtx& rnrCtx)
virtual voidTObject::RecursiveRemove(TObject* obj)
TGLScene::LogicalShapeMap_t&TGLScene::RefLogicalShapes()
Bool_tTGLLockable::ReleaseLock(TGLLockable::ELock lock) const
voidTGLSceneBase::RemoveViewer(TGLViewerBase* viewer)
virtual voidTGLSceneBase::Render(TGLRnrCtx& rnrCtx)
virtual voidTGLScene::RenderAllPasses(TGLRnrCtx& rnrCtx, TGLScene::DrawElementPtrVec_t& elVec, Bool_t check_timeout)
virtual voidTGLScene::RenderElements(TGLRnrCtx& rnrCtx, TGLScene::DrawElementPtrVec_t& elVec, Bool_t check_timeout, const TGLPlaneSet_t* clipPlanes = 0)
virtual voidTGLScene::RenderOpaque(TGLRnrCtx& rnrCtx)
virtual voidTGLScene::RenderSelOpaque(TGLRnrCtx& rnrCtx)
virtual voidTGLScene::RenderSelTransp(TGLRnrCtx& rnrCtx)
virtual voidTGLScene::RenderTransp(TGLRnrCtx& rnrCtx)
voidTObject::ResetBit(UInt_t f)
virtual voidTVirtualViewer3D::ResetCameras()
virtual voidTVirtualViewer3D::ResetCamerasAfterNextUpdate()
virtual Bool_tTGLScene::ResolveSelectRecord(TGLSelectRecord& rec, Int_t curIdx)
static voidTGLScene::RGBAFromColorIdx(Float_t* rgba, Color_t ci, Char_t transp = 0)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
virtual TObject*TVirtualViewer3D::SelectObject(Int_t, Int_t)
voidTGLSceneBase::SetAutoDestruct(Bool_t a)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidTGLSceneBase::SetClip(TGLClip* p)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidTGLSceneBase::SetLOD(Short_t lod)
virtual voidTGLSceneBase::SetName(const char* name)
virtual voidTGLSceneBase::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidTGLSceneBase::SetSelectable(Bool_t a)
voidSetSmartRefresh(Bool_t smart_ref)
voidTGLSceneBase::SetStyle(Short_t st)
virtual voidTGLSceneBase::SetTitle(const char* title)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
UInt_tTGLScene::SizeOfScene() const
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
Short_tTGLSceneBase::Style() const
voidSubPadPaint(TVirtualPad* pad)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
voidTGLSceneBase::TagViewersChanged()
Bool_tTGLLockable::TakeLock(TGLLockable::ELock lock) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTGLScene::UpdateLogical(TObject* logid)
virtual voidTGLScene::UpdatePhysical(UInt_t phid, Double_t* trans, UChar_t* col)
virtual voidTGLScene::UpdatePhysical(UInt_t phid, Double_t* trans, Color_t cidx = -1, UChar_t transp = 0)
virtual voidTGLScene::UpdatePhysioLogical(TObject* logid, Double_t* trans, UChar_t* col)
virtual voidTGLScene::UpdatePhysioLogical(TObject* logid, Double_t* trans, Color_t cidx, UChar_t transp)
virtual voidTGLScene::UpdateSceneInfo(TGLRnrCtx& rnrCtx)
virtual voidTObject::UseCurrentStyle()
static TVirtualViewer3D*TVirtualViewer3D::Viewer3D(TVirtualPad* pad = 0, Option_t* type = "")
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
TGLLogicalShape*AttemptDirectRenderer(TObject* id)
RootCsg::TBaseMesh*BuildComposite()
TGLLogicalShape*CreateNewLogical(const TBuffer3D& buffer) const
TGLPhysicalShape*CreateNewPhysical(UInt_t physicalID, const TBuffer3D& buffer, const TGLLogicalShape& logical) const
virtual voidTGLScene::DestroyPhysicalInternal(TGLScene::PhysicalShapeMapIt_t pit)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
voidTGLScene::ReleaseGLCtxIdentity()
Int_tValidateObjectBuffer(const TBuffer3D& buffer, Bool_t includeRaw) const

Data Members

protected:
Int_tfAcceptedPhysicals
Bool_tTGLSceneBase::fAutoDestruct
TGLBoundingBoxTGLSceneBase::fBoundingBoxbounding box for scene (axis aligned) - lazy update - use BoundingBox() to access
Bool_tTGLSceneBase::fBoundingBoxValidbounding box valid?
UInt_tfCSLevel
vector<CSPart_t>fCSTokens
TGLClip*TGLSceneBase::fClipScene clipping-plane.
TGLFaceSet*fComposite! Paritally created composite
Bool_tTGLSceneBase::fDoClipCheckPerform global clip-plane-check in UpdateSceneInfo()
Bool_tTGLSceneBase::fDoFrustumCheckPerform global frustum-check in UpdateSceneInfo()
TGLContextIdentity*TGLScene::fGLCtxIdentity
Bool_tTGLScene::fInSmartRefresh!
Bool_tfInternalPIDs! using internal physical IDs
Short_tTGLSceneBase::fLODScene-lod.
Float_tTGLScene::fLastLineWidthScale
UInt_tfLastPID! last physical ID that was processed in AddObject()
Float_tTGLScene::fLastPointSizeScale
TGLLockable::ELockTGLLockable::fLockLock state.
map<TObject*,TGLLogicalShape*>TGLScene::fLogicalShapes!
UInt_tTGLSceneBase::fMinorStampCounter increased on minimal update.
TStringTGLSceneBase::fNameObject identifier.
UInt_tfNextInternalPID! next internal physical ID (from 1 - 0 reserved)
Float_tTGLSceneBase::fOLLineWScene outline line-width.
TVirtualPad*fPad
map<unsigned int,TGLPhysicalShape*>TGLScene::fPhysicalShapes!
UInt_tTGLSceneBase::fSceneIDUnique scene id.
Bool_tTGLSceneBase::fSelectableObjects in the scene are selectable.
Bool_tfSmartRefresh! cache logicals during scene rebuilds, use TAtt3D time-stamp to determine if they are still valid
map<TObject*,TGLLogicalShape*>TGLScene::fSmartRefreshCache!
Short_tTGLSceneBase::fStyleScene-style.
UInt_tTGLSceneBase::fTimeStampCounter increased on every update.
TStringTGLSceneBase::fTitleObject title.
list<TGLViewerBase*>TGLSceneBase::fViewers
Float_tTGLSceneBase::fWFLineWScene wire-frame line-width.

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TGLScenePad(TVirtualPad* pad)
 Constructor.
void AddHistoPhysical(TGLLogicalShape* log)
 Scale and rotate a histo object to mimic placement in canvas.
void SubPadPaint(TVirtualPad* pad)
 Iterate over pad-primitves and import them.
void ObjectPaint(TObject* obj, Option_t* opt = "")
 Override of virtual TVirtualViewer3D::ObjectPaint().
 Special handling of 2D/3D histograms to activate Timur's
 histo-painters.
void PadPaintFromViewer(TGLViewer* viewer)
 Entry point for requesting update of scene's contents from
 gl-viewer.
void PadPaint(TVirtualPad* pad)
 Entry point for updating scene contents via VirtualViewer3D
 interface.
 For now this is handled by TGLViewer as it remains
 the 'Viewer3D' of given pad.
void BeginScene()
 Start building of the scene.
 Old contents is dropped, unless smart-refresh is in active. Then
 the object supporting it are kept in a cache and possibly reused.

 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture.
void EndScene()
 End building of the scene.
 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture
Int_t AddObject(const TBuffer3D& buffer, Bool_t* addChildren = 0)
 Add an object to the viewer, using internal physical IDs
 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture
Int_t AddObject(UInt_t physicalID, const TBuffer3D& buffer, Bool_t* addChildren = 0)
 Add an object to the scene, using an external physical ID
 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture
Bool_t OpenComposite(const TBuffer3D& buffer, Bool_t* addChildren = 0)
 Open new composite container.
 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture.
void CloseComposite()
 Close composite container
 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture
void AddCompositeOp(UInt_t operation)
 Add composite operation used to combine objects added via AddObject
 TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D.cxx
 for description of viewer architecture
Int_t ValidateObjectBuffer(const TBuffer3D& buffer, Bool_t includeRaw) const
 Validate if the passed 'buffer' contains all sections we require to add object.
 Returns Int_t combination of TBuffer::ESection flags still required - or
 TBuffer3D::kNone if buffer is valid.
 If 'includeRaw' is kTRUE check for kRaw/kRawSizes - skip otherwise.
 See base/src/TVirtualViewer3D.cxx for description of viewer architecture
TGLLogicalShape* CreateNewLogical(const TBuffer3D& buffer) const
 Create and return a new TGLLogicalShape from the supplied buffer
CreateNewPhysical(UInt_t physicalID, const TBuffer3D& buffer, const TGLLogicalShape& logical) const
 Create and return a new TGLPhysicalShape with id 'ID', using
 'buffer' placement information (translation etc), and bound to
 suppled 'logical'
RootCsg::TBaseMesh* BuildComposite()
 Build and return composite shape mesh
TGLLogicalShape* AttemptDirectRenderer(TObject* id)
 Try to construct an appropriate logical-shape sub-class based
 on id'class, following convention that SomeClassGL is a suitable
 renderer for class SomeClass.
TGLScenePad(const TGLScenePad&)
TGLScenePad& operator=(const TGLScenePad& )
virtual ~TGLScenePad()
{}
TVirtualPad* GetPad() const
 void SetPad(TVirtualPad* p) { fPad = p; /* also need to drop contents */ }
{ return fPad; }
Bool_t GetSmartRefresh() const
{ return fSmartRefresh; }
void SetSmartRefresh(Bool_t smart_ref)
{ fSmartRefresh = smart_ref; }
Bool_t CanLoopOnPrimitives() const
 TVirtualViewer3D interface
{ return kTRUE; }
Int_t DistancetoPrimitive(Int_t , Int_t )
 For now handled by viewer
{ return 9999; }
void ExecuteEvent(Int_t , Int_t , Int_t )
{}
Bool_t PreferLocalFrame() const
{ return kTRUE; }
Bool_t BuildingScene() const
{ return CurrentLock() == kModifyLock; }