12#ifndef ROOT_TGLScenePad 
   13#define ROOT_TGLScenePad 
   48   typedef std::pair<UInt_t, RootCsg::TBaseMesh*> 
CSPart_t;
 
#define ClassDef(name, id)
 
winID h TVirtualViewer3D TVirtualGLPainter p
 
Generic 3D primitive description class.
 
Implements a native ROOT-GL representation of an arbitrary set of polygons.
 
ELock CurrentLock() const
 
Abstract logical shape - a GL 'drawable' - base for all shapes - faceset sphere etc.
 
Concrete physical shape - a GL drawable.
 
Implements VirtualViewer3D interface and fills the base-class visualization structures from pad conte...
 
TGLLogicalShape * CreateNewLogical(const TBuffer3D &buffer) const
Create and return a new TGLLogicalShape from the supplied buffer.
 
std::vector< CSPart_t > fCSTokens
 
virtual void CloseComposite()
Close composite container TVirtualViewer3D interface overload - see base/src/TVirtualViewer3D....
 
RootCsg::TBaseMesh * BuildComposite()
Build and return composite shape mesh.
 
Bool_t GetSmartRefresh() const
 
virtual Bool_t PreferLocalFrame() const
 
virtual Bool_t CanLoopOnPrimitives() const
 
virtual void AddCompositeOp(UInt_t operation)
Add composite operation used to combine objects added via AddObject TVirtualViewer3D interface overlo...
 
virtual void ExecuteEvent(Int_t, Int_t, Int_t)
Execute action corresponding to an event at (px,py).
 
TGLScenePad & operator=(const TGLScenePad &)=delete
 
virtual Int_t DistancetoPrimitive(Int_t, Int_t)
Computes distance from point (px,py) to the object.
 
TGLPhysicalShape * CreateNewPhysical(UInt_t physicalID, const TBuffer3D &buffer, const TGLLogicalShape &logical) const
Create and return a new TGLPhysicalShape with id 'ID', using 'buffer' placement information (translat...
 
TGLLogicalShape * AttemptDirectRenderer(TObject *id)
Try to construct an appropriate logical-shape sub-class based on id'class, following convention that ...
 
virtual void PadPaintFromViewer(TGLViewer *viewer)
Entry point for requesting update of scene's contents from gl-viewer.
 
void SubPadPaint(TVirtualPad *pad)
Iterate over pad-primitives and import them.
 
UInt_t fLastPID
next internal physical ID (from 1 - 0 reserved)
 
Int_t ValidateObjectBuffer(const TBuffer3D &buffer, Bool_t includeRaw) const
Validate if the passed 'buffer' contains all sections we require to add object.
 
Int_t fAcceptedPhysicals
last physical ID that was processed in AddObject()
 
virtual void PadPaint(TVirtualPad *pad)
Entry point for updating scene contents via VirtualViewer3D interface.
 
void SetSmartRefresh(Bool_t smart_ref)
 
void ComposePolymarker(const TList *padPrimitives)
 
virtual void ObjectPaint(TObject *obj, Option_t *opt="")
Override of virtual TVirtualViewer3D::ObjectPaint().
 
TVirtualPad * GetPad() const
 
virtual Bool_t OpenComposite(const TBuffer3D &buffer, Bool_t *addChildren=nullptr)
Open new composite container.
 
UInt_t fCSLevel
Paritally created composite.
 
virtual Bool_t BuildingScene() const
 
virtual void BeginScene()
Start building of the scene.
 
void AddHistoPhysical(TGLLogicalShape *log, const Float_t *histColor=nullptr)
Scale and rotate a histo object to mimic placement in canvas.
 
virtual void EndScene()
End building of the scene.
 
virtual Int_t AddObject(const TBuffer3D &buffer, Bool_t *addChildren=nullptr)
Add an object to the viewer, using internal physical IDs TVirtualViewer3D interface overload - see ba...
 
void SetPad(TVirtualPad *p)
 
TGLScenePad(const TGLScenePad &)=delete
 
std::pair< UInt_t, RootCsg::TBaseMesh * > CSPart_t
 
UInt_t fNextInternalPID
using internal physical IDs
 
TGLScene provides management and rendering of ROOT's default 3D /object representation as logical and...
 
Base GL viewer object - used by both standalone and embedded (in pad) GL.
 
Mother of all ROOT objects.
 
TVirtualPad is an abstract base class for the Pad and Canvas classes.
 
Abstract 3D shapes viewer.