82 gEve->GetViewers()->SceneDestructing(
this);
83 gEve->GetScenes()->RemoveElement(
this);
94 scenes.push_back(
this);
119 if (elm && li->second->Ref() == 1)
152 static const TEveException eh(
"TEveScene::RetransHierarchicallyRecurse ");
167 if ((*i)->GetRnrAnything())
190 (*i)->PadPaint(option);
200 static const TEveException eh(
"TEveScene::DestroyElementRenderers ");
204 fGLScene->EndUpdate(changed, changed);
215 fGLScene->EndUpdate(changed, changed);
278 ((
TEveScene*) *i)->Repaint(dropLogicals);
287 static const TEveException eh(
"TEveSceneList::DestroyElementRenderers ");
292 ((
TEveScene*)*i)->DestroyElementRenderers(obj);
311 static const TEveException eh(
"TEveSceneList::ProcessSceneChanges ");
313 typedef std::map<TObject*, TEveElement*> mObjectElement_t;
314 typedef mObjectElement_t::iterator mObjectElement_i;
316 mObjectElement_t changed_objects;
320 while (stamped_elements.
Next(key, value))
347 mObjectElement_i ei = changed_objects.begin();
349 while (li != logs.end() && ei != changed_objects.end())
351 if (li->first == ei->first)
353 if (li->second->Ref() != 1)
354 Warning(
"TEveSceneList::ProcessSceneChanges",
355 "Expect one physical, cnt=%u.", li->second->Ref());
374 incTimeStamp =
kTRUE;
375 transbboxChg =
kTRUE;
384 updateViewers =
kTRUE;
386 else if (li->first < ei->first)
unsigned char UChar_t
Unsigned Character 1 byte (unsigned char).
bool Bool_t
Boolean (0=false, 1=true) (bool).
long long Long64_t
Portable signed long integer 8 bytes.
const char Option_t
Option string (const char).
TEveElementList(const char *n="TEveElementList", const char *t="", Bool_t doColor=kFALSE, Bool_t doTransparency=kFALSE)
Constructor.
void SetChildClass(TClass *c)
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 Bool_t GetRnrChildren() const
TEveElement()
Default constructor.
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.
This was intended as a TPad wrapper to allow smart updates of groups of pads.
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...
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)
Implements VirtualViewer3D interface and fills the base-class visualization structures from pad conte...
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.
LogicalShapeMap_t::iterator LogicalShapeMapIt_t
std::map< TObject *, TGLLogicalShape * > LogicalShapeMap_t
LogicalShapeMap_t & RefLogicalShapes()
The TGPicture class implements pictures and icons used in the different GUI elements and widgets.
virtual void SetName(const char *name)
Set the name of the TNamed.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
TObject()
TObject constructor.