12#ifndef ROOT_TEveProjectionManager 
   13#define ROOT_TEveProjectionManager 
#define ClassDefOverride(name, id)
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
 
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
 
Helper for management of bounding-box information.
 
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
 
std::list< TEveElement * > List_t
 
Manager class for steering of projections and managing projected objects.
 
virtual TEveElement * ImportElements(TEveElement *el, TEveElement *ext_list=nullptr)
Recursively import elements and apply projection to the newly imported objects.
 
TEveProjection * fProjection
 
void RemoveDependent(TEveElement *el)
Remove el as dependent element.
 
virtual void ProjectChildrenRecurse(TEveElement *el)
Project el (via TEveProjected::UpdateProjection()) and recurse through el's children.
 
void AddDependent(TEveElement *el)
Add el as dependent element.
 
TEveProjection * fProjections[TEveProjection::kPT_End]
 
virtual TEveElement * ImportElementsRecurse(TEveElement *el, TEveElement *parent)
If el is TEveProjectable add projected instance else add plain TEveElementList to parent.
 
Bool_t HandleElementPaste(TEveElement *el) override
React to element being pasted or dnd-ed.
 
void SetCenter(Float_t x, Float_t y, Float_t z)
Set projection center and rebuild projected scene.
 
void ComputeBBox() override
Virtual from TAttBBox; fill bounding-box information.
 
virtual void UpdateName()
Updates name to have consistent information with projection.
 
Bool_t GetImportEmpty() const
 
TEveProjectionManager(const TEveProjectionManager &)
 
virtual Int_t SubImportChildren(TEveElement *el, TEveElement *proj_parent)
Recursively import children elements of el and apply projection to the newly imported objects.
 
virtual void UpdateDependentElsAndScenes(TEveElement *root)
Update dependent elements' bounding box and mark scenes containing element root or its children as re...
 
~TEveProjectionManager() override
Destructor.
 
void SetProjection(TEveProjection::EPType_e type)
Set projection type and distortion.
 
void SetImportEmpty(Bool_t ie)
 
virtual TEveElement * SubImportElements(TEveElement *el, TEveElement *proj_parent)
Recursively import elements and apply projection to the newly imported objects.
 
virtual Bool_t ShouldImport(TEveElement *el)
Returns true if element el should be imported.
 
virtual void ProjectChildren()
Project all children recursively, update bounding-box and notify TEveManger about the scenes that hav...
 
void SetCurrentDepth(Float_t d)
 
Float_t GetCurrentDepth() const
 
TEveProjectionManager & operator=(const TEveProjectionManager &)
 
TEveProjection * GetProjection()
 
Base-class for non-linear projections.