class TEveProjectionManager: public TEveElementList, public TAttBBox


 Manager class for steering of projections and managing projected
 objects.

 Recursively projects TEveElement's and draws axis in the projected
 scene.  It enables to interactivly set TEveProjection parameters
 and updates projected scene accordingly.

Function Members (Methods)

public:
TEveProjectionManager()
virtual~TEveProjectionManager()
voidTObject::AbstractMethod(const char* method) const
virtual Bool_tTEveElementList::AcceptElement(TEveElement* el)
voidAddDependent(TEveElement* el)
virtual voidTEveElement::AddElement(TEveElement* el)
virtual TGListTreeItem*TEveElement::AddIntoListTree(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual TGListTreeItem*TEveElement::AddIntoListTree(TGListTree* ltree, TEveElement* parent)
virtual TGListTreeItem*TEveElement::AddIntoListTrees(TEveElement* parent)
virtual voidTEveElement::AddParent(TEveElement* re)
virtual voidTEveElement::AddStamp(UChar_t bits)
virtual voidTObject::AppendPad(Option_t* option = "")
Bool_tTEveElement::ApplyVizTag(const TString& tag)
Float_t*TAttBBox::AssertBBox()
TEveElement::List_iTEveElement::BeginChildren()
TEveElement::List_iTEveElement::BeginParents()
virtual voidTObject::Browse(TBrowser* b)
virtual Bool_tTEveElement::CanEditElement() const
virtual Bool_tTEveElementList::CanEditMainColor() const
virtual Bool_tTEveElement::CanEditMainTrans() const
virtual Bool_tTEveElement::CanEditMainTransparency() const
virtual voidTEveElement::CheckReferenceCount(const TEveException& eh = "TEveElement::CheckReferenceCount ")
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTNamed::Clear(Option_t* option = "")
virtual voidTEveElement::ClearStamps()
virtual TObject*TNamed::Clone(const char* newname = "") const
virtual voidTEveElement::CollectSceneParents(TEveElement::List_t& scenes)
virtual voidTEveElement::CollectSceneParentsFromChildren(TEveElement::List_t& scenes, TEveElement* parent)
virtual Int_tTNamed::Compare(const TObject* obj) const
virtual voidComputeBBox()
virtual voidTNamed::Copy(TObject& named) const
virtual voidTEveElement::CopyVizParams(const TEveElement* el)
virtual voidTEveElement::CopyVizParamsFromDB()
voidTEveElement::DecDenyDestroy()
voidTEveElement::DecImpliedHighlighted()
voidTEveElement::DecImpliedSelected()
virtual voidTObject::Delete(Option_t* option = "")MENU
virtual voidTEveElement::Destroy()MENU
virtual voidTEveElement::DestroyElements()MENU
virtual voidTEveElement::DestroyListSubTree(TGListTree* ltree, TGListTreeItem* parent)
virtual voidTEveElement::DestroyMainTrans()
voidTEveElement::DisableListElements(Bool_t rnr_self = kFALSE, Bool_t rnr_children = kFALSE)MENU
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTEveElement::ElementChanged(Bool_t update_scenes = kTRUE, Bool_t redraw = kFALSE)
voidTEveElement::EnableListElements(Bool_t rnr_self = kTRUE, Bool_t rnr_children = kTRUE)MENU
TEveElement::List_iTEveElement::EndChildren()
TEveElement::List_iTEveElement::EndParents()
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTEveElement::ExpandIntoListTree(TGListTree* ltree, TGListTreeItem* parent)
virtual voidTEveElement::ExportToCINT(Text_t* var_name)MENU
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual voidTNamed::FillBuffer(char*& buffer)
virtual voidTEveElement::FillImpliedSelectedSet(TEveElement::Set_t& impSelSet)
TEveElement*TEveElement::FindChild(const TString& name, const TClass* cls = 0)
TEveElement*TEveElement::FindChild(TPRegexp& regexp, const TClass* cls = 0)
Int_tTEveElement::FindChildren(TEveElement::List_t& matches, const TString& name, const TClass* cls = 0)
Int_tTEveElement::FindChildren(TEveElement::List_t& matches, TPRegexp& regexp, const TClass* cls = 0)
virtual TEveElement::sLTI_iTEveElement::FindItem(TGListTree* ltree)
virtual TEveElement::sLTI_iTEveElement::FindItem(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual TGListTreeItem*TEveElement::FindListTreeItem(TGListTree* ltree)
virtual TGListTreeItem*TEveElement::FindListTreeItem(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
Bool_tTEveElement::FindVizModel()
Float_t*TAttBBox::GetBBox()
Bool_tTAttBBox::GetBBoxOK() const
TEveVector&GetCenter()
UChar_tTEveElement::GetChangeBits() const
TClass*TEveElementList::GetChildClass() const
TEveCompound*TEveElement::GetCompound()
Float_tGetCurrentDepth() const
Int_tTEveElement::GetDenyDestroy() const
Bool_tTEveElement::GetDestroyOnZeroRefCnt() const
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual TObject*TEveElement::GetEditorObject(const TEveException& eh = "TEveElement::GetEditorObject ") const
virtual const Text_t*TEveElementList::GetElementName() const
virtual const Text_t*TEveElementList::GetElementTitle() const
virtual const char*TObject::GetIconName() const
Bool_tGetImportEmpty() const
virtual const TGPicture*TEveElement::GetListTreeCheckBoxIcon()
virtual const TGPicture*TEveElement::GetListTreeIcon(Bool_t open = kFALSE)
virtual Color_tTEveElement::GetMainColor() const
Color_t*TEveElement::GetMainColorPtr()
virtual UChar_tTEveElement::GetMainTransparency() const
TEveElement*TEveElement::GetMaster()
virtual const char*TNamed::GetName() const
virtual Int_tTEveElement::GetNItems() const
virtual TObject*TEveElement::GetObject(const TEveException& eh = "TEveElement::GetObject ") const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
TEveProjection*GetProjection()
virtual TObject*TEveElement::GetRenderObject(const TEveException& eh = "TEveElement::GetRenderObject ") const
virtual Bool_tTEveElement::GetRnrChildren() const
virtual Bool_tTEveElement::GetRnrSelf() const
virtual Bool_tTEveElement::GetRnrState() const
virtual UChar_tTEveElement::GetSelectedLevel() const
TRef&TEveElement::GetSource()
TObject*TEveElement::GetSourceObject() const
virtual const char*TNamed::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
void*TEveElement::GetUserData() const
TEveElement*TEveElement::GetVizModel() const
const TString&TEveElement::GetVizTag() const
virtual Bool_tHandleElementPaste(TEveElement* el)
virtual Bool_tTObject::HandleTimer(TTimer* timer)
Bool_tTEveElement::HasChild(TEveElement* el)
Bool_tTEveElement::HasChildren() const
virtual ULong_tTNamed::Hash() const
virtual Bool_tTEveElement::HasMainColor() const
virtual Bool_tTEveElement::HasMainTrans() const
Bool_tTEveElement::HasParents() const
voidTEveElement::HighlightElement(Bool_t state)
virtual TEveElement*ImportElements(TEveElement* el, TEveElement* ext_list = 0)
virtual TEveElement*ImportElementsRecurse(TEveElement* el, TEveElement* parent)
voidTEveElement::IncDenyDestroy()
voidTEveElement::IncImpliedHighlighted()
voidTEveElement::IncImpliedSelected()
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTEveElement::InitMainTrans(Bool_t can_edit = kTRUE)
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
Bool_tTEveElement::IsPickable() const
virtual Bool_tTNamed::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTNamed::ls(Option_t* option = "") const
voidTObject::MayNotUse(const char* method) const
virtual Bool_tTObject::Notify()
Int_tTEveElement::NumChildren() const
Int_tTEveElement::NumParents() const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
virtual voidTEveElement::PadPaint(Option_t* option)
virtual voidTObject::Paint(Option_t* option = "")
virtual voidTObject::Pop()
virtual voidTNamed::Print(Option_t* option = "") const
virtual voidProjectChildren()
virtual voidProjectChildrenRecurse(TEveElement* el)
virtual voidTEveElement::PropagateMainColorToProjecteds(Color_t color, Color_t old_color)
virtual voidTEveElement::PropagateRnrStateToProjecteds()
virtual voidTEveElement::PropagateVizParamsToElements(TEveElement* el = 0)
virtual voidTEveElement::PropagateVizParamsToProjecteds()
virtual TEveTrans*TEveElement::PtrMainTrans()
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
virtual TEveTrans&TEveElement::RefMainTrans()
voidRemoveDependent(TEveElement* el)
virtual voidTEveElement::RemoveElement(TEveElement* el)
virtual voidTEveElement::RemoveElementLocal(TEveElement* el)
virtual voidTEveElement::RemoveElements()
virtual voidTEveElement::RemoveElementsLocal()
virtual Bool_tTEveElement::RemoveFromListTree(TGListTree* ltree, TGListTreeItem* parent_lti)
virtual Int_tTEveElement::RemoveFromListTrees(TEveElement* parent)
virtual voidTEveElement::RemoveParent(TEveElement* re)
voidTAttBBox::ResetBBox()
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTEveElement::SaveVizParams(ostream& out, const TString& tag, const TString& var)
voidTEveElement::SelectElement(Bool_t state)
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetCenter(Float_t x, Float_t y, Float_t z)
voidTEveElementList::SetChildClass(TClass* c)
voidTEveElement::SetCompound(TEveCompound* c)
voidSetCurrentDepth(Float_t d)
voidTEveElement::SetDestroyOnZeroRefCnt(Bool_t d)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
virtual voidTEveElementList::SetElementName(const Text_t* name)
virtual voidTEveElementList::SetElementNameTitle(const Text_t* name, const Text_t* title)
virtual voidTEveElementList::SetElementTitle(const Text_t* title)
voidSetImportEmpty(Bool_t ie)
virtual voidTEveElement::SetMainColor(Color_t color)
voidTEveElement::SetMainColorPixel(Pixel_t pixel)
voidTEveElement::SetMainColorPtr(Color_t* color)
voidTEveElement::SetMainColorRGB(UChar_t r, UChar_t g, UChar_t b)
voidTEveElement::SetMainColorRGB(Float_t r, Float_t g, Float_t b)
virtual voidTEveElement::SetMainTransparency(UChar_t)
virtual voidTNamed::SetName(const char* name)MENU
virtual voidTNamed::SetNameTitle(const char* name, const char* title)
static voidTObject::SetObjectStat(Bool_t stat)
voidTEveElement::SetPickable(Bool_t p)
voidSetProjection(TEveProjection::EPType_e type)
virtual Bool_tTEveElement::SetRnrChildren(Bool_t rnr)
virtual Bool_tTEveElement::SetRnrSelf(Bool_t rnr)
virtual Bool_tTEveElement::SetRnrSelfChildren(Bool_t rnr_self, Bool_t rnr_children)
virtual Bool_tTEveElement::SetRnrState(Bool_t rnr)
voidTEveElement::SetSourceObject(TObject* o)
virtual voidTNamed::SetTitle(const char* title = "")MENU
virtual voidTEveElement::SetTransMatrix(Double_t* carr)
virtual voidTEveElement::SetTransMatrix(const TGeoMatrix& mat)
virtual voidTObject::SetUniqueID(UInt_t uid)
voidTEveElement::SetUserData(void* ud)
voidTEveElement::SetVizModel(TEveElement* model)
voidTEveElement::SetVizTag(const TString& tag)
virtual voidShowMembers(TMemberInspector& insp, char* parent)
virtual Bool_tTEveElement::SingleRnrState() const
virtual Int_tTNamed::Sizeof() const
voidTEveElement::SpawnEditor()MENU
voidTEveElement::StampColorSelection()
voidTEveElement::StampObjProps()
voidTEveElement::StampTransBBox()
voidTEveElement::StampVisibility()
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidUpdateName()
virtual voidTObject::UseCurrentStyle()
voidTEveElement::VizDB_Apply(const char* tag)MENU
voidTEveElement::VizDB_Insert(const char* tag, Bool_t replace = kTRUE, Bool_t update = kTRUE)MENU
voidTEveElement::VizDB_Reapply()MENU
voidTEveElement::VizDB_UpdateModel(Bool_t update = kTRUE)MENU
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
virtual voidTEveElement::WriteVizParams(ostream& out, const TString& var)
protected:
voidTAttBBox::AssertBBoxExtents(Float_t epsilon = 0.005)
voidTAttBBox::BBoxCheckPoint(const Float_t* p)
voidTAttBBox::BBoxCheckPoint(Float_t x, Float_t y, Float_t z)
voidTAttBBox::BBoxClear()
voidTAttBBox::BBoxInit(Float_t infinity = 1e6)
voidTAttBBox::BBoxZero(Float_t epsilon = 0, Float_t x = 0, Float_t y = 0, Float_t z = 0)
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
virtual voidTEveElement::RemoveElementsInternal()
virtual Bool_tShouldImport(TEveElement* el)
virtual voidUpdateDependentElsAndScenes(TEveElement* root)
private:
TEveProjectionManager(const TEveProjectionManager&)
TEveProjectionManager&operator=(const TEveProjectionManager&)

Data Members

public:
enum TEveElement::EChangeBits { kCBColorSelection
kCBTransBBox
kCBObjProps
kCBVisibility
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
public:
static const TGPicture*TEveElement::fgListTreeIcons[8]
static const TGPicture*TEveElement::fgRnrIcons[4]
protected:
Float_t*TAttBBox::fBBox! Dynamic Float_t[6] X(min,max), Y(min,max), Z(min,max)
Bool_tTEveElement::fCanEditMainTransAllow editing of main transformation.
TEveVectorfCentercenter of distortion
UChar_tTEveElement::fChangeBits
TClass*TEveElementList::fChildClassClass of acceptable children, others are rejected.
list<TEveElement*,allocator<TEveElement*> >TEveElement::fChildrenList of children.
Color_tTEveElementList::fColorColor of the object.
TEveCompound*TEveElement::fCompoundCompound this object belongs to.
Float_tfCurrentDepthz depth of object being projected
Int_tTEveElement::fDenyDestroy! Deny-destroy count.
list<TEveElement*,allocator<TEveElement*> >fDependentElselements that depend on manager and need to be destroyed with it
Bool_tTEveElement::fDestroyOnZeroRefCntAuto-destruct when ref-count reaches zero.
Bool_tTEveElement::fDestructing
Bool_tTEveElementList::fDoColorShould serve fColor as the main color of the object.
Bool_tTEveElement::fHighlighted!
Short_tTEveElement::fImpliedHighlighted!
Short_tTEveElement::fImpliedSelected!
Bool_tfImportEmptyimport sub-trees with no projectable elements
set<TEveElement::TEveListTreeInfo,less<TEveElement::TEveListTreeInfo>,allocator<TEveElement::TEveListTreeInfo> >TEveElement::fItems! Set of list-tree-items.
Color_t*TEveElement::fMainColorPtrPointer to main-color variable.
TEveTrans*TEveElement::fMainTransPointer to main transformation matrix.
TStringTNamed::fNameobject identifier
Int_tTEveElement::fParentIgnoreCnt! Counter for parents that are ignored in ref-counting.
list<TEveElement*,allocator<TEveElement*> >TEveElement::fParentsList of parents.
Bool_tTEveElement::fPickable
TEveProjection*fProjectioncurrent projection
TEveProjection*fProjections[3]
Bool_tTEveElement::fRnrChildrenRender children of this element.
Bool_tTEveElement::fRnrSelfRender this element.
Bool_tTEveElement::fSelected!
TRefTEveElement::fSourceExternal object that is represented by this element.
TStringTNamed::fTitleobject title
Int_tTEveElement::fTopItemCnt! Counter for top-level list-tree items that prevent automatic destruction.
void*TEveElement::fUserData! Externally assigned and controlled user data.
TEveElement*TEveElement::fVizModel! Element used as model from VizDB.
TStringTEveElement::fVizTagTag used to query VizDB for model element.

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

TEveProjectionManager(const TEveProjectionManager& )
 Constructor.
~TEveProjectionManager()
 Destructor.
 Destroys also dependent elements.
void AddDependent(TEveElement* el)
 Add el as dependent element.
void RemoveDependent(TEveElement* el)
 Remove el as dependent element.
void UpdateName()
 Updates name to have consitent information with prjection.
void SetProjection(TEveProjection::EPType_e type)
 Set projection type and distortion.
void SetCenter(Float_t x, Float_t y, Float_t z)
 Set projection center and rebuild projected scene.
Bool_t HandleElementPaste(TEveElement* el)
 React to element being pasted or dnd-ed.
 Return true if redraw is needed (virtual method).
Bool_t ShouldImport(TEveElement* el)
 Returns true if element el should be imported.

 Behaviour depends on the value of the fImportEmpty member:
   false - el or any of its children must be projectable (default);
   true  - always import.
void UpdateDependentElsAndScenes(TEveElement* root)
 Update dependent elements' vounding box and mark scenes
 cointaining element root or its children as requiring a repaint.
TEveElement* ImportElementsRecurse(TEveElement* el, TEveElement* parent)
 If el is TEveProjectable add projected instance else add plain
 TEveElementList to parent. Call the same function on el's
 children.

 Returns the projected replica of el. Can be 0, if el and none of
 its children are projectable.
TEveElement* ImportElements(TEveElement* el, TEveElement* ext_list = 0)
 Recursively import elements and apply projection to the newly
 imported objects.

 If ext_list is not 0 the new element is also added to the list.
 This simplifies construction of complex views where projected
 elements are distributed into several scenes for optimization of
 updates and rendering.

 Returns the projected replica of el. Can be 0, if el and none of
 its children are projectable.
void ProjectChildrenRecurse(TEveElement* el)
 Project el (via TEveProjected::UpdateProjection()) and recurse
 through el's children.
 Bounding-box is updated along the recursion.
void ProjectChildren()
 Project all children recursively, update bounding-box and notify
 TEveManger about the scenes that have been changed.
void ComputeBBox()
 Virtual from TAttBBox; fill bounding-box information.

 The bounding-box information is kept coherent during addition of
 projected elements and projection parameter updates. This is
 called only in case the manager has not been populated at all.
TEveProjectionManager(const TEveProjectionManager& )
TEveProjectionManager& operator=(const TEveProjectionManager& )
TEveProjection* GetProjection()
{ return fProjection; }
TEveVector& GetCenter()
{ return fCenter; }
void SetCurrentDepth(Float_t d)
{ fCurrentDepth = d; }
Float_t GetCurrentDepth()
{ return fCurrentDepth; }
void SetImportEmpty(Bool_t ie)
{ fImportEmpty = ie; }
Bool_t GetImportEmpty()
{ return fImportEmpty; }

Last change: root/eve:$Id: TEveProjectionManager.h 24314 2008-06-17 18:19:53Z matevz $
Last generated: 2008-06-25 08:37
Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *

This page has been automatically generated. If you have any comments or suggestions about the page layout send a mail to ROOT support, or contact the developers with any questions or problems regarding ROOT.