46 fSmartRefresh (
kTRUE),
65 fSmartRefresh (
kTRUE),
95 scenes.push_back(
this);
120 if (elm && li->second->Ref() == 1)
153 static const TEveException eh(
"TEveScene::RetransHierarchicallyRecurse ");
168 if ((*i)->GetRnrAnything())
201 static const TEveException eh(
"TEveScene::DestroyElementRenderers ");
280 ((
TEveScene*) *i)->Repaint(dropLogicals);
289 static const TEveException eh(
"TEveSceneList::DestroyElementRenderers ");
294 ((
TEveScene*)*i)->DestroyElementRenderers(obj);
313 static const TEveException eh(
"TEveSceneList::ProcessSceneChanges ");
315 typedef std::map<TObject*, TEveElement*> mObjectElement_t;
316 typedef mObjectElement_t::iterator mObjectElement_i;
318 mObjectElement_t changed_objects;
322 while (stamped_elements.
Next(key,
value))
349 mObjectElement_i ei = changed_objects.begin();
351 while (li != logs.end() && ei != changed_objects.end())
353 if (li->first == ei->first)
355 if (li->second->Ref() != 1)
356 Warning(
"TEveSceneList::ProcessSceneChanges",
357 "Expect one physical, cnt=%u.", li->second->Ref());
376 incTimeStamp =
kTRUE;
377 transbboxChg =
kTRUE;
386 updateViewers =
kTRUE;
388 else if (li->first < ei->first)
R__EXTERN TEveManager * gEve
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
void SetChildClass(TClass *c)
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
virtual TEveTrans * PtrMainTrans(Bool_t create=kTRUE)
Return pointer to main transformation.
virtual UChar_t GetSelectedLevel() const
Get selection level, needed for rendering selection and highlight feedback.
virtual TEveTrans & RefMainTrans()
Return reference to main transformation.
std::list< TEveElement * > List_t
virtual Bool_t GetRnrState() const
virtual void DestroyElements()
Destroy all children of this element.
virtual Color_t GetMainColor() const
virtual TObject * GetRenderObject(const TEveException &eh) const
virtual void RemoveElement(TEveElement *el)
Remove el from the list of children.
virtual Bool_t GetRnrChildren() const
static const TGPicture * fgListTreeIcons[9]
virtual Char_t GetMainTransparency() const
virtual void DestroyOrWarn()
Destroy this element. Prints a warning if deny-destroy is in force.
virtual Bool_t GetRnrSelf() const
UChar_t GetChangeBits() const
virtual Bool_t HasMainTrans() const
Exception class thrown by TEve classes and macros.
TEveViewerList * GetViewers() const
TEveSceneList * GetScenes() const
This was intended as a TPad wrapper to allow smart updates of groups of pads.
List of Scenes providing common operations on TEveScene collections.
void DestroyScenes()
Destroy all scenes and their contents.
void DestroyElementRenderers(TEveElement *element)
Loop over all scenes and remove all instances of element from them.
void RepaintAllScenes(Bool_t dropLogicals)
Repaint all scenes.
TEveSceneList(const TEveSceneList &)
void ProcessSceneChanges(Bool_t dropLogicals, TExMap *stampMap)
Loop over all scenes and update them accordingly:
void RepaintChangedScenes(Bool_t dropLogicals)
Repaint scenes that are tagged as changed.
Eve representation of TGLScene.
void DestroyElementRenderers(TEveElement *element)
Remove element from the scene.
~TEveScene() override
Destructor.
const TGPicture * GetListTreeIcon(Bool_t open=kFALSE) override
Return icon for scene.
void RetransHierarchicallyRecurse(TEveElement *el, const TEveTrans &tp)
Set transformation matrix for physical shape of element el in the GL-scene and recursively descend in...
void Repaint(Bool_t dropLogicals=kFALSE)
Repaint the scene.
void RetransHierarchically()
Entry point for hierarchical transformation update.
TEveScene(const TEveScene &)
Bool_t GetHierarchical() const
void Paint(Option_t *option="") override
Paint the scene. Iterate over children and calls PadPaint().
void CollectSceneParents(List_t &scenes) override
Virtual from TEveElement; here we simply append this scene to the list.
TGLScenePad * GetGLScene() const
void SetName(const char *n) override
Set scene's name.
TEveTrans is a 4x4 transformation matrix for homogeneous coordinates stored internally in a column-ma...
void SceneDestructing(TEveScene *scene)
Callback done from a TEveScene destructor allowing proper removal of the scene from affected viewers.
Bool_t Next(ULong64_t &hash, Long64_t &key, Long64_t &value)
Get next entry from TExMap. Returns kFALSE at end of map.
This class stores a (key,value) pair using an external hash.
Abstract logical shape - a GL 'drawable' - base for all shapes - faceset sphere etc.
virtual void UpdateBoundingBox()
virtual void DLCacheClear()
Clear all entries for all LODs for this drawable from the display list cache but keeping the reserved...
const TGLPhysicalShape * GetFirstPhysical() const
Concrete physical shape - a GL drawable.
void SetTransform(const TGLMatrix &transform)
void SetDiffuseColor(const Float_t rgba[4])
Set color from ROOT color index and transparency [0,100].
void Select(UChar_t select)
void SetAutoDestruct(Bool_t a)
virtual void SetName(const char *name)
Implements VirtualViewer3D interface and fills the base-class visualization structures from pad conte...
void PadPaint(TVirtualPad *pad) override
Entry point for updating scene contents via VirtualViewer3D interface.
void SetSmartRefresh(Bool_t smart_ref)
void SetPad(TVirtualPad *p)
virtual Bool_t BeginUpdate()
Put scene in update mode, return true if lock acquired.
virtual void EndUpdate(Bool_t minorChange=kTRUE, Bool_t sceneChanged=kTRUE, Bool_t updateViewers=kTRUE)
Exit scene update mode.
virtual Bool_t DestroyLogical(TObject *logid, Bool_t mustFind=kTRUE)
Destroy logical shape defined by unique 'ID'.
LogicalShapeMap_t::iterator LogicalShapeMapIt_t
std::map< TObject *, TGLLogicalShape * > LogicalShapeMap_t
virtual void UpdatePhysioLogical(TObject *logid, Double_t *trans, UChar_t *col)
Reposition/recolor physical for given logical (assume TGLObject and a single physical).
LogicalShapeMap_t & RefLogicalShapes()
The TGPicture class implements pictures and icons used in the different GUI elements and widgets.
void Add(TObject *obj) override
virtual void SetName(const char *name)
Set the name of the TNamed.
Mother of all ROOT objects.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
TList * GetListOfPrimitives() const override