ROOT  6.06/08
Reference Guide
Public Types | Public Member Functions | Protected Attributes | Private Member Functions | List of all members
TEveProjectable Class Referenceabstract

Abstract base-class for non-linear projectable objects.

Via ProjectedClass(const TEveProjection* p) method it returns a TClass instance for the projected class and keeps references to the projected objects.

It is assumed that all classes deriving from TEveProjectable are also derived from TEveElement.

See also TEveProjectionManager::ImportElements().

Definition at line 34 of file TEveProjectionBases.h.

Public Types

typedef std::list< TEveProjected * > ProjList_t
 
typedef std::list< TEveProjected * >::iterator ProjList_i
 

Public Member Functions

 TEveProjectable ()
 Constructor. More...
 
virtual ~TEveProjectable ()
 Destructor. More...
 
virtual TClassProjectedClass (const TEveProjection *p) const =0
 
virtual Bool_t HasProjecteds () const
 
ProjList_i BeginProjecteds ()
 
ProjList_i EndProjecteds ()
 
virtual void AddProjected (TEveProjected *p)
 
virtual void RemoveProjected (TEveProjected *p)
 
virtual void AnnihilateProjecteds ()
 Optimized destroy of projected elements with condition there is only one parent for projected element. More...
 
virtual void ClearProjectedList ()
 
virtual void AddProjectedsToSet (std::set< TEveElement *> &set)
 Add the projected elements to the set, dyn-casting them to TEveElement. More...
 
virtual void PropagateVizParams (TEveElement *el=0)
 Set visualization parameters of projecteds. More...
 
virtual void PropagateRenderState (Bool_t rnr_self, Bool_t rnr_children)
 Set render state of projecteds. More...
 
virtual void PropagateMainColor (Color_t color, Color_t old_color)
 Set main color of projecteds if their color is the same as old_color. More...
 
virtual void PropagateMainTransparency (Char_t t, Char_t old_t)
 Set main transparency of projecteds if their transparency is the same as the old one. More...
 

Protected Attributes

ProjList_t fProjectedList
 

Private Member Functions

 TEveProjectable (const TEveProjectable &)
 
TEveProjectableoperator= (const TEveProjectable &)
 

#include <TEveProjectionBases.h>

+ Inheritance diagram for TEveProjectable:
+ Collaboration diagram for TEveProjectable:

Member Typedef Documentation

§ ProjList_i

typedef std::list<TEveProjected*>::iterator TEveProjectable::ProjList_i

Definition at line 42 of file TEveProjectionBases.h.

§ ProjList_t

Definition at line 41 of file TEveProjectionBases.h.

Constructor & Destructor Documentation

§ TEveProjectable() [1/2]

TEveProjectable::TEveProjectable ( const TEveProjectable )
private

§ TEveProjectable() [2/2]

TEveProjectable::TEveProjectable ( )

Constructor.

Definition at line 37 of file TEveProjectionBases.cxx.

§ ~TEveProjectable()

TEveProjectable::~TEveProjectable ( )
virtual

Destructor.

Force projected replicas to unreference *this, then destroy them.

Definition at line 45 of file TEveProjectionBases.cxx.

Member Function Documentation

§ AddProjected()

virtual void TEveProjectable::AddProjected ( TEveProjected p)
inlinevirtual

Definition at line 58 of file TEveProjectionBases.h.

Referenced by TEveProjected::SetProjection().

§ AddProjectedsToSet()

void TEveProjectable::AddProjectedsToSet ( std::set< TEveElement *> &  set)
virtual

Add the projected elements to the set, dyn-casting them to TEveElement.

Definition at line 86 of file TEveProjectionBases.cxx.

Referenced by TEveElement::FillImpliedSelectedSet(), and RemoveProjected().

§ AnnihilateProjecteds()

void TEveProjectable::AnnihilateProjecteds ( )
virtual

Optimized destroy of projected elements with condition there is only one parent for projected element.

Method is called from TEveElement::Annihilate().

Definition at line 65 of file TEveProjectionBases.cxx.

Referenced by TEveElement::Annihilate(), and RemoveProjected().

§ BeginProjecteds()

ProjList_i TEveProjectable::BeginProjecteds ( )
inline

§ ClearProjectedList()

void TEveProjectable::ClearProjectedList ( )
virtual

Definition at line 77 of file TEveProjectionBases.cxx.

Referenced by TEveElement::AnnihilateRecursively(), and RemoveProjected().

§ EndProjecteds()

ProjList_i TEveProjectable::EndProjecteds ( )
inline

§ HasProjecteds()

virtual Bool_t TEveProjectable::HasProjecteds ( ) const
inlinevirtual

§ operator=()

TEveProjectable& TEveProjectable::operator= ( const TEveProjectable )
private

§ ProjectedClass()

virtual TClass* TEveProjectable::ProjectedClass ( const TEveProjection p) const
pure virtual

§ PropagateMainColor()

void TEveProjectable::PropagateMainColor ( Color_t  color,
Color_t  old_color 
)
virtual

Set main color of projecteds if their color is the same as old_color.

Definition at line 125 of file TEveProjectionBases.cxx.

Referenced by TEveElement::PropagateMainColorToProjecteds(), and RemoveProjected().

§ PropagateMainTransparency()

void TEveProjectable::PropagateMainTransparency ( Char_t  t,
Char_t  old_t 
)
virtual

Set main transparency of projecteds if their transparency is the same as the old one.

Definition at line 138 of file TEveProjectionBases.cxx.

Referenced by TEveElement::PropagateMainTransparencyToProjecteds(), and RemoveProjected().

§ PropagateRenderState()

void TEveProjectable::PropagateRenderState ( Bool_t  rnr_self,
Bool_t  rnr_children 
)
virtual

Set render state of projecteds.

Definition at line 113 of file TEveProjectionBases.cxx.

Referenced by TEveElement::PropagateRnrStateToProjecteds(), and RemoveProjected().

§ PropagateVizParams()

void TEveProjectable::PropagateVizParams ( TEveElement el = 0)
virtual

Set visualization parameters of projecteds.

Use element el as model. If el == 0 (default), this casted to TEveElement is used.

Definition at line 99 of file TEveProjectionBases.cxx.

Referenced by TEveElement::PropagateVizParamsToProjecteds(), and RemoveProjected().

§ RemoveProjected()

virtual void TEveProjectable::RemoveProjected ( TEveProjected p)
inlinevirtual

Member Data Documentation

§ fProjectedList

ProjList_t TEveProjectable::fProjectedList
protected

The documentation for this class was generated from the following files: