12#ifndef ROOT7_REveProjectionManager
13#define ROOT7_REveProjectionManager
20namespace Experimental {
std::list< REveElement * > List_t
REveProjectionManager Manager class for steering of projections and managing projected objects.
Float_t GetCurrentDepth() const
Bool_t GetImportEmpty() const
REveProjection * fProjections[REveProjection::kPT_End]
void AddDependent(REveElement *el)
Add el as dependent element.
void SetCurrentDepth(Float_t d)
virtual REveElement * ImportElements(REveElement *el, REveElement *ext_list=nullptr)
Recursively import elements and apply projection to the newly imported objects.
virtual void UpdateDependentElements(REveElement *root)
Update dependent elements' bounding boxes.
void SetProjection(REveProjection::EPType_e type)
Set projection type and distortion.
virtual REveElement * ImportElementsRecurse(REveElement *el, REveElement *parent)
If el is REveProjectable add projected instance else add plain REveElementList to parent.
void ComputeBBox() override
Virtual from TAttBBox; fill bounding-box information.
REveProjection * GetProjection()
REveProjection * fProjection
REveProjectionManager(const REveProjectionManager &)=delete
virtual REveElement * SubImportElements(REveElement *el, REveElement *proj_parent)
Recursively import elements and apply projection to the newly imported objects.
virtual void UpdateName()
Updates name to have consistent information with projection.
void RemoveDependent(REveElement *el)
Remove el as dependent element.
REveProjectionManager & operator=(const REveProjectionManager &)=delete
virtual void ProjectChildren()
Project all children recursively, update bounding-box and notify EveManger about the scenes that have...
virtual void ProjectChildrenRecurse(REveElement *el)
Project el (via REveProjected::UpdateProjection()) and recurse through el's children.
virtual ~REveProjectionManager()
Destructor.
void SetCenter(Float_t x, Float_t y, Float_t z)
Set projection center and rebuild projected scene.
virtual Bool_t ShouldImport(REveElement *el)
Returns true if element el should be imported.
void SetImportEmpty(Bool_t ie)
virtual Int_t SubImportChildren(REveElement *el, REveElement *proj_parent)
Recursively import children elements of el and apply projection to the newly imported objects.
REveProjection Base for specific classes that implement non-linear projections.
Helper for management of bounding-box information.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...