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