TGLScenePad Class Reference

#include <TGLScenePad.h>

Inheritance diagram for TGLScenePad:

TVirtualViewer3D TGLScene TVirtualViewer3D TGLScene TGLSceneBase TGLSceneBase TObject TObject TGLSceneBase TGLSceneBase TObject TObject List of all members.

Public Member Functions

 TGLScenePad (TVirtualPad *pad)
 cache logicals during scene rebuilds
virtual ~TGLScenePad ()
TVirtualPadGetPad () const
void AddHistoPhysical (TGLLogicalShape *log)
void SubPadPaint (TVirtualPad *pad)
virtual void PadPaintFromViewer (TGLViewer *viewer)
Bool_t GetSmartRefresh () const
void SetSmartRefresh (Bool_t smart_ref)
virtual Bool_t CanLoopOnPrimitives () const
virtual void PadPaint (TVirtualPad *pad)
virtual void ObjectPaint (TObject *obj, Option_t *opt="")
virtual Int_t DistancetoPrimitive (Int_t, Int_t)
virtual void ExecuteEvent (Int_t, Int_t, Int_t)
virtual Bool_t PreferLocalFrame () const
virtual void BeginScene ()
virtual Bool_t BuildingScene () const
virtual void EndScene ()
virtual Int_t AddObject (const TBuffer3D &buffer, Bool_t *addChildren=0)
virtual Int_t AddObject (UInt_t physicalID, const TBuffer3D &buffer, Bool_t *addChildren=0)
virtual Bool_t OpenComposite (const TBuffer3D &buffer, Bool_t *addChildren=0)
virtual void CloseComposite ()
virtual void AddCompositeOp (UInt_t operation)
 ClassDef (TGLScenePad, 0)
 TGLScenePad (TVirtualPad *pad)
 cache logicals during scene rebuilds
virtual ~TGLScenePad ()
TVirtualPadGetPad () const
void AddHistoPhysical (TGLLogicalShape *log)
void SubPadPaint (TVirtualPad *pad)
virtual void PadPaintFromViewer (TGLViewer *viewer)
Bool_t GetSmartRefresh () const
void SetSmartRefresh (Bool_t smart_ref)
virtual Bool_t CanLoopOnPrimitives () const
virtual void PadPaint (TVirtualPad *pad)
virtual void ObjectPaint (TObject *obj, Option_t *opt="")
virtual Int_t DistancetoPrimitive (Int_t, Int_t)
virtual void ExecuteEvent (Int_t, Int_t, Int_t)
virtual Bool_t PreferLocalFrame () const
virtual void BeginScene ()
virtual Bool_t BuildingScene () const
virtual void EndScene ()
virtual Int_t AddObject (const TBuffer3D &buffer, Bool_t *addChildren=0)
virtual Int_t AddObject (UInt_t physicalID, const TBuffer3D &buffer, Bool_t *addChildren=0)
virtual Bool_t OpenComposite (const TBuffer3D &buffer, Bool_t *addChildren=0)
virtual void CloseComposite ()
virtual void AddCompositeOp (UInt_t operation)
 ClassDef (TGLScenePad, 0)

Protected Types

typedef std::pair< UInt_t,
RootCsg::TBaseMesh * > 
CSPart_t
typedef std::pair< UInt_t,
RootCsg::TBaseMesh * > 
CSPart_t

Protected Member Functions

Int_t ValidateObjectBuffer (const TBuffer3D &buffer, Bool_t includeRaw) const
TGLLogicalShapeCreateNewLogical (const TBuffer3D &buffer) const
TGLPhysicalShapeCreateNewPhysical (UInt_t physicalID, const TBuffer3D &buffer, const TGLLogicalShape &logical) const
RootCsg::TBaseMeshBuildComposite ()
TGLLogicalShapeAttemptDirectRenderer (TObject *id)
Int_t ValidateObjectBuffer (const TBuffer3D &buffer, Bool_t includeRaw) const
TGLLogicalShapeCreateNewLogical (const TBuffer3D &buffer) const
TGLPhysicalShapeCreateNewPhysical (UInt_t physicalID, const TBuffer3D &buffer, const TGLLogicalShape &logical) const
RootCsg::TBaseMeshBuildComposite ()
TGLLogicalShapeAttemptDirectRenderer (TObject *id)

Protected Attributes

TVirtualPadfPad
Bool_t fInternalPIDs
UInt_t fNextInternalPID
 using internal physical IDs
UInt_t fLastPID
 next internal physical ID (from 1 - 0 reserved)
Int_t fAcceptedPhysicals
 last physical ID that was processed in AddObject()
TGLFaceSetfComposite
UInt_t fCSLevel
 Paritally created composite.
std::vector< CSPart_tfCSTokens
Bool_t fSmartRefresh
TVirtualPadfPad
TGLFaceSetfComposite
std::vector< CSPart_tfCSTokens

Private Member Functions

 TGLScenePad (const TGLScenePad &)
TGLScenePadoperator= (const TGLScenePad &)
 TGLScenePad (const TGLScenePad &)
TGLScenePadoperator= (const TGLScenePad &)

Detailed Description

Definition at line 30 of file TGLScenePad.h.


Member Typedef Documentation

typedef std::pair<UInt_t, RootCsg::TBaseMesh*> TGLScenePad::CSPart_t [protected]

Definition at line 51 of file TGLScenePad.h.

typedef std::pair<UInt_t, RootCsg::TBaseMesh*> TGLScenePad::CSPart_t [protected]

Definition at line 51 of file TGLScenePad.h.


Constructor & Destructor Documentation

TGLScenePad::TGLScenePad ( const TGLScenePad  )  [private]

TGLScenePad::TGLScenePad ( TVirtualPad pad  ) 

cache logicals during scene rebuilds

virtual TGLScenePad::~TGLScenePad (  )  [inline, virtual]

Definition at line 63 of file TGLScenePad.h.

TGLScenePad::TGLScenePad ( const TGLScenePad  )  [private]

TGLScenePad::TGLScenePad ( TVirtualPad pad  ) 

cache logicals during scene rebuilds

virtual TGLScenePad::~TGLScenePad (  )  [inline, virtual]

Definition at line 63 of file TGLScenePad.h.


Member Function Documentation

TGLScenePad& TGLScenePad::operator= ( const TGLScenePad  )  [private]

Int_t TGLScenePad::ValidateObjectBuffer ( const TBuffer3D buffer,
Bool_t  includeRaw 
) const [protected]

Definition at line 495 of file TGLScenePad.cxx.

References buffer, TObject::Error(), fComposite, TBuffer3D::kBoundingBox, TBuffer3DTypes::kComposite, TBuffer3D::kCore, TBuffer3DTypes::kCutTube, kFALSE, TBuffer3D::kNone, TBuffer3D::kRaw, TBuffer3D::kRawSizes, TBuffer3D::kShapeSpecific, TBuffer3DTypes::kSphere, kTRUE, TBuffer3DTypes::kTube, and TBuffer3DTypes::kTubeSeg.

Referenced by AddObject().

TGLLogicalShape * TGLScenePad::CreateNewLogical ( const TBuffer3D buffer  )  const [protected]

Definition at line 567 of file TGLScenePad.cxx.

References buffer, TObject::Error(), fComposite, TBuffer3DSphere::IsSolidUncut(), TBuffer3DTypes::kComposite, TBuffer3DTypes::kCutTube, TBuffer3DTypes::kLine, TBuffer3DTypes::kMarker, TBuffer3D::kRaw, TBuffer3D::kRawSizes, TBuffer3DTypes::kSphere, TBuffer3DTypes::kTube, and TBuffer3DTypes::kTubeSeg.

Referenced by AddObject().

TGLPhysicalShape * TGLScenePad::CreateNewPhysical ( UInt_t  physicalID,
const TBuffer3D buffer,
const TGLLogicalShape logical 
) const [protected]

Definition at line 641 of file TGLScenePad.cxx.

References buffer, and TGLScene::RGBAFromColorIdx().

Referenced by AddObject().

RootCsg::TBaseMesh * TGLScenePad::BuildComposite (  )  [protected]

Definition at line 659 of file TGLScenePad.cxx.

References RootCsg::BuildDifference(), RootCsg::BuildIntersection(), RootCsg::BuildUnion(), TObject::Error(), fCSLevel, fCSTokens, TBuffer3D::kCSDifference, TBuffer3D::kCSIntersection, TBuffer3D::kCSNoOp, and TBuffer3D::kCSUnion.

Referenced by CloseComposite().

TGLLogicalShape * TGLScenePad::AttemptDirectRenderer ( TObject id  )  [protected]

Definition at line 685 of file TGLScenePad.cxx.

References TGLScene::AdoptLogical(), TGLObject::GetGLRenderer(), id, kFALSE, TClass::New(), TGLObject::SetBBox(), TGLObject::SetModel(), and TObject::Warning().

Referenced by AddObject().

TVirtualPad* TGLScenePad::GetPad (  )  const [inline]

Definition at line 65 of file TGLScenePad.h.

References fPad.

Referenced by TGLViewer::PadPaint().

void TGLScenePad::AddHistoPhysical ( TGLLogicalShape log  ) 

Definition at line 70 of file TGLScenePad.cxx.

References TGLScene::AdoptPhysical(), TMath::DegToRad(), fNextInternalPID, gPad, log(), TMath::Min(), TMath::PiOver2(), TGLMatrix::RotateLF(), TGLMatrix::Scale(), size, TMath::Sqrt(), TGLMatrix::Translate(), TGLBoundingBox::XMax(), and TGLBoundingBox::XMin().

Referenced by ObjectPaint().

void TGLScenePad::SubPadPaint ( TVirtualPad pad  ) 

Definition at line 120 of file TGLScenePad.cxx.

References TList::FirstLink(), TVirtualPad::GetListOfPrimitives(), TObjLink::GetObject(), TObjOptLink::GetOption(), TVirtualPad::GetViewer3D(), gPad, TObjLink::Next(), ObjectPaint(), and TVirtualPad::SetViewer3D().

Referenced by ObjectPaint(), and PadPaint().

void TGLScenePad::PadPaintFromViewer ( TGLViewer viewer  )  [virtual]

Definition at line 172 of file TGLScenePad.cxx.

References fPad, fSmartRefresh, TGLViewer::GetSmartRefresh(), and PadPaint().

Referenced by TGLViewer::PadPaint().

Bool_t TGLScenePad::GetSmartRefresh (  )  const [inline]

Definition at line 75 of file TGLScenePad.h.

References fSmartRefresh.

void TGLScenePad::SetSmartRefresh ( Bool_t  smart_ref  )  [inline]

Definition at line 76 of file TGLScenePad.h.

References fSmartRefresh.

Referenced by TEveScene::Repaint(), and TEveScene::TEveScene().

virtual Bool_t TGLScenePad::CanLoopOnPrimitives (  )  const [inline, virtual]

Reimplemented from TVirtualViewer3D.

Definition at line 81 of file TGLScenePad.h.

References kTRUE.

void TGLScenePad::PadPaint ( TVirtualPad pad  )  [virtual]

Reimplemented from TVirtualViewer3D.

Definition at line 186 of file TGLScenePad.cxx.

References BeginScene(), EndScene(), TObject::Error(), fPad, and SubPadPaint().

Referenced by PadPaintFromViewer(), and TEveScene::Repaint().

void TGLScenePad::ObjectPaint ( TObject obj,
Option_t opt = "" 
) [virtual]

Reimplemented from TVirtualViewer3D.

Definition at line 143 of file TGLScenePad.cxx.

References AddHistoPhysical(), TGLScene::AdoptLogical(), xmlio::Class, TGLPlot3D::CreatePlot(), gPad, log(), and SubPadPaint().

Referenced by SubPadPaint().

virtual Int_t TGLScenePad::DistancetoPrimitive ( Int_t  ,
Int_t   
) [inline, virtual]

Reimplemented from TObject.

Definition at line 86 of file TGLScenePad.h.

virtual void TGLScenePad::ExecuteEvent ( Int_t  ,
Int_t  ,
Int_t   
) [inline, virtual]

Reimplemented from TObject.

Definition at line 87 of file TGLScenePad.h.

virtual Bool_t TGLScenePad::PreferLocalFrame (  )  const [inline, virtual]

Implements TVirtualViewer3D.

Definition at line 89 of file TGLScenePad.h.

References kTRUE.

void TGLScenePad::BeginScene (  )  [virtual]

Implements TVirtualViewer3D.

Definition at line 210 of file TGLScenePad.cxx.

References TGLScene::BeginSmartRefresh(), TGLScene::BeginUpdate(), TGLScene::DestroyLogicals(), TGLScene::DestroyPhysicals(), TGLScene::DumpMapSizes(), TGLStopwatch::End(), TObject::Error(), fAcceptedPhysicals, fInternalPIDs, fLastPID, fNextInternalPID, fSmartRefresh, gDebug, TObject::Info(), kFALSE, and TGLStopwatch::Start().

Referenced by TEveGeoPolyShape::Construct(), TEveGeoNode::DumpShapeTree(), and PadPaint().

virtual Bool_t TGLScenePad::BuildingScene (  )  const [inline, virtual]

Implements TVirtualViewer3D.

Definition at line 92 of file TGLScenePad.h.

References TGLLockable::CurrentLock(), and TGLLockable::kModifyLock.

void TGLScenePad::EndScene (  )  [virtual]

Implements TVirtualViewer3D.

Definition at line 264 of file TGLScenePad.cxx.

References TGLScene::DumpMapSizes(), TGLScene::EndSmartRefresh(), TGLScene::EndUpdate(), fAcceptedPhysicals, fSmartRefresh, gDebug, and TObject::Info().

Referenced by TEveGeoPolyShape::Construct(), TEveGeoNode::DumpShapeTree(), and PadPaint().

Int_t TGLScenePad::AddObject ( const TBuffer3D buffer,
Bool_t addChildren = 0 
) [virtual]

Implements TVirtualViewer3D.

Definition at line 283 of file TGLScenePad.cxx.

References buffer, fInternalPIDs, fNextInternalPID, and kTRUE.

Referenced by OpenComposite().

Int_t TGLScenePad::AddObject ( UInt_t  physicalID,
const TBuffer3D buffer,
Bool_t addChildren = 0 
) [virtual]

Implements TVirtualViewer3D.

Definition at line 296 of file TGLScenePad.cxx.

References TGLScene::AdoptLogical(), TGLScene::AdoptPhysical(), AttemptDirectRenderer(), buffer, RootCsg::ConvertToMesh(), CreateNewLogical(), CreateNewPhysical(), TGLLockable::CurrentLock(), TObject::Error(), fAcceptedPhysicals, fComposite, fCSTokens, TGLScene::FindLogical(), TGLScene::FindPhysical(), fInternalPIDs, fLastPID, fNextInternalPID, gDebug, TObject::Info(), TBuffer3D::kCSNoOp, TGLLockable::kModifyLock, TBuffer3D::kNone, kTRUE, and ValidateObjectBuffer().

Bool_t TGLScenePad::OpenComposite ( const TBuffer3D buffer,
Bool_t addChildren = 0 
) [virtual]

Implements TVirtualViewer3D.

Definition at line 436 of file TGLScenePad.cxx.

References AddObject(), buffer, TObject::Error(), fComposite, kFALSE, TBuffer3D::kNone, and kTRUE.

void TGLScenePad::CloseComposite (  )  [virtual]

Implements TVirtualViewer3D.

Definition at line 461 of file TGLScenePad.cxx.

References BuildComposite(), fComposite, fCSLevel, fCSTokens, i, and TGLFaceSet::SetFromMesh().

void TGLScenePad::AddCompositeOp ( UInt_t  operation  )  [virtual]

Implements TVirtualViewer3D.

Definition at line 482 of file TGLScenePad.cxx.

References fCSTokens.

TGLScenePad::ClassDef ( TGLScenePad  ,
 
)

TGLScenePad& TGLScenePad::operator= ( const TGLScenePad  )  [private]

Int_t TGLScenePad::ValidateObjectBuffer ( const TBuffer3D buffer,
Bool_t  includeRaw 
) const [protected]

TGLLogicalShape* TGLScenePad::CreateNewLogical ( const TBuffer3D buffer  )  const [protected]

TGLPhysicalShape* TGLScenePad::CreateNewPhysical ( UInt_t  physicalID,
const TBuffer3D buffer,
const TGLLogicalShape logical 
) const [protected]

RootCsg::TBaseMesh* TGLScenePad::BuildComposite (  )  [protected]

TGLLogicalShape* TGLScenePad::AttemptDirectRenderer ( TObject id  )  [protected]

TVirtualPad* TGLScenePad::GetPad (  )  const [inline]

Definition at line 65 of file TGLScenePad.h.

References fPad.

void TGLScenePad::AddHistoPhysical ( TGLLogicalShape log  ) 

void TGLScenePad::SubPadPaint ( TVirtualPad pad  ) 

virtual void TGLScenePad::PadPaintFromViewer ( TGLViewer viewer  )  [virtual]

Bool_t TGLScenePad::GetSmartRefresh (  )  const [inline]

Definition at line 75 of file TGLScenePad.h.

References fSmartRefresh.

void TGLScenePad::SetSmartRefresh ( Bool_t  smart_ref  )  [inline]

Definition at line 76 of file TGLScenePad.h.

References fSmartRefresh.

virtual Bool_t TGLScenePad::CanLoopOnPrimitives (  )  const [inline, virtual]

Reimplemented from TVirtualViewer3D.

Definition at line 81 of file TGLScenePad.h.

References kTRUE.

virtual void TGLScenePad::PadPaint ( TVirtualPad pad  )  [virtual]

Reimplemented from TVirtualViewer3D.

virtual void TGLScenePad::ObjectPaint ( TObject obj,
Option_t opt = "" 
) [virtual]

Reimplemented from TVirtualViewer3D.

virtual Int_t TGLScenePad::DistancetoPrimitive ( Int_t  ,
Int_t   
) [inline, virtual]

Reimplemented from TObject.

Definition at line 86 of file TGLScenePad.h.

virtual void TGLScenePad::ExecuteEvent ( Int_t  ,
Int_t  ,
Int_t   
) [inline, virtual]

Reimplemented from TObject.

Definition at line 87 of file TGLScenePad.h.

virtual Bool_t TGLScenePad::PreferLocalFrame (  )  const [inline, virtual]

Implements TVirtualViewer3D.

Definition at line 89 of file TGLScenePad.h.

References kTRUE.

virtual void TGLScenePad::BeginScene (  )  [virtual]

Implements TVirtualViewer3D.

virtual Bool_t TGLScenePad::BuildingScene (  )  const [inline, virtual]

Implements TVirtualViewer3D.

Definition at line 92 of file TGLScenePad.h.

References TGLLockable::CurrentLock(), and TGLLockable::kModifyLock.

virtual void TGLScenePad::EndScene (  )  [virtual]

Implements TVirtualViewer3D.

virtual Int_t TGLScenePad::AddObject ( const TBuffer3D buffer,
Bool_t addChildren = 0 
) [virtual]

Implements TVirtualViewer3D.

virtual Int_t TGLScenePad::AddObject ( UInt_t  physicalID,
const TBuffer3D buffer,
Bool_t addChildren = 0 
) [virtual]

Implements TVirtualViewer3D.

virtual Bool_t TGLScenePad::OpenComposite ( const TBuffer3D buffer,
Bool_t addChildren = 0 
) [virtual]

Implements TVirtualViewer3D.

virtual void TGLScenePad::CloseComposite (  )  [virtual]

Implements TVirtualViewer3D.

virtual void TGLScenePad::AddCompositeOp ( UInt_t  operation  )  [virtual]

Implements TVirtualViewer3D.

TGLScenePad::ClassDef ( TGLScenePad  ,
 
)


Member Data Documentation

TVirtualPad* TGLScenePad::fPad [protected]

Definition at line 37 of file TGLScenePad.h.

Referenced by GetPad(), PadPaint(), and PadPaintFromViewer().

Bool_t TGLScenePad::fInternalPIDs [protected]

Definition at line 40 of file TGLScenePad.h.

Referenced by AddObject(), and BeginScene().

UInt_t TGLScenePad::fNextInternalPID [protected]

using internal physical IDs

Definition at line 41 of file TGLScenePad.h.

Referenced by AddHistoPhysical(), AddObject(), and BeginScene().

UInt_t TGLScenePad::fLastPID [protected]

next internal physical ID (from 1 - 0 reserved)

Definition at line 42 of file TGLScenePad.h.

Referenced by AddObject(), and BeginScene().

Int_t TGLScenePad::fAcceptedPhysicals [protected]

last physical ID that was processed in AddObject()

Definition at line 43 of file TGLScenePad.h.

Referenced by AddObject(), BeginScene(), and EndScene().

TGLFaceSet* TGLScenePad::fComposite [mutable, protected]

Definition at line 52 of file TGLScenePad.h.

Referenced by AddObject(), CloseComposite(), CreateNewLogical(), OpenComposite(), and ValidateObjectBuffer().

UInt_t TGLScenePad::fCSLevel [protected]

Paritally created composite.

Definition at line 53 of file TGLScenePad.h.

Referenced by BuildComposite(), and CloseComposite().

std::vector<CSPart_t> TGLScenePad::fCSTokens [protected]

Definition at line 54 of file TGLScenePad.h.

Referenced by AddCompositeOp(), AddObject(), BuildComposite(), and CloseComposite().

Bool_t TGLScenePad::fSmartRefresh [protected]

Definition at line 59 of file TGLScenePad.h.

Referenced by BeginScene(), EndScene(), GetSmartRefresh(), PadPaintFromViewer(), and SetSmartRefresh().

TVirtualPad* TGLScenePad::fPad [protected]

Definition at line 37 of file TGLScenePad.h.

TGLFaceSet* TGLScenePad::fComposite [mutable, protected]

Definition at line 52 of file TGLScenePad.h.

std::vector<CSPart_t> TGLScenePad::fCSTokens [protected]

Definition at line 54 of file TGLScenePad.h.


The documentation for this class was generated from the following files:
Generated on Tue Jul 5 16:40:15 2011 for ROOT_528-00b_version by  doxygen 1.5.1