ROOT  6.07/01
Reference Guide
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
List of all members | 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...
 
 ClassDef (TEveProjectable, 0)
 

Protected Attributes

ProjList_t fProjectedList
 

Private Member Functions

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

#include <TEveProjectionBases.h>

Inheritance diagram for TEveProjectable:
[legend]

Member Typedef Documentation

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

Definition at line 42 of file TEveProjectionBases.h.

Definition at line 41 of file TEveProjectionBases.h.

Constructor & Destructor Documentation

TEveProjectable::TEveProjectable ( const TEveProjectable )
private
TEveProjectable::TEveProjectable ( )

Constructor.

Definition at line 37 of file TEveProjectionBases.cxx.

TEveProjectable::~TEveProjectable ( )
virtual

Destructor.

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

Definition at line 45 of file TEveProjectionBases.cxx.

Member Function Documentation

virtual void TEveProjectable::AddProjected ( TEveProjected p)
inlinevirtual

Definition at line 58 of file TEveProjectionBases.h.

Referenced by TEveProjected::SetProjection().

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().

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().

ProjList_i TEveProjectable::BeginProjecteds ( )
inline
TEveProjectable::ClassDef ( TEveProjectable  ,
 
)
void TEveProjectable::ClearProjectedList ( )
virtual

Definition at line 77 of file TEveProjectionBases.cxx.

Referenced by TEveElement::AnnihilateRecursively().

ProjList_i TEveProjectable::EndProjecteds ( )
inline
virtual Bool_t TEveProjectable::HasProjecteds ( ) const
inlinevirtual
TEveProjectable& TEveProjectable::operator= ( const TEveProjectable )
private
virtual TClass* TEveProjectable::ProjectedClass ( const TEveProjection p) const
pure virtual
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().

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().

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().

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().

virtual void TEveProjectable::RemoveProjected ( TEveProjected p)
inlinevirtual

Member Data Documentation

ProjList_t TEveProjectable::fProjectedList
protected
Collaboration diagram for TEveProjectable:
[legend]

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