Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
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 * >::iterator ProjList_i
 
typedef std::list< TEveProjected * > ProjList_t
 

Public Member Functions

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

Static Public Member Functions

static TClassClass ()
 
static const char * Class_Name ()
 
static constexpr Version_t Class_Version ()
 
static const char * DeclFileName ()
 

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

◆ 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.

◆ 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.

◆ 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.

◆ BeginProjecteds()

ProjList_i TEveProjectable::BeginProjecteds ( )
inline

Definition at line 55 of file TEveProjectionBases.h.

◆ Class()

static TClass * TEveProjectable::Class ( )
static
Returns
TClass describing this class

◆ Class_Name()

static const char * TEveProjectable::Class_Name ( )
static
Returns
Name of this class

◆ Class_Version()

static constexpr Version_t TEveProjectable::Class_Version ( )
inlinestaticconstexpr
Returns
Version of this class

Definition at line 71 of file TEveProjectionBases.h.

◆ ClearProjectedList()

void TEveProjectable::ClearProjectedList ( )
virtual

Definition at line 77 of file TEveProjectionBases.cxx.

◆ DeclFileName()

static const char * TEveProjectable::DeclFileName ( )
inlinestatic
Returns
Name of the file containing the class declaration

Definition at line 71 of file TEveProjectionBases.h.

◆ EndProjecteds()

ProjList_i TEveProjectable::EndProjecteds ( )
inline

Definition at line 56 of file TEveProjectionBases.h.

◆ HasProjecteds()

virtual Bool_t TEveProjectable::HasProjecteds ( ) const
inlinevirtual

Definition at line 53 of file TEveProjectionBases.h.

◆ IsA()

◆ 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.

◆ 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.

◆ 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.

◆ PropagateVizParams()

void TEveProjectable::PropagateVizParams ( TEveElement el = nullptr)
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.

◆ RemoveProjected()

virtual void TEveProjectable::RemoveProjected ( TEveProjected p)
inlinevirtual

Definition at line 59 of file TEveProjectionBases.h.

◆ Streamer()

◆ StreamerNVirtual()

void TEveProjectable::StreamerNVirtual ( TBuffer ClassDef_StreamerNVirtual_b)
inline

Definition at line 71 of file TEveProjectionBases.h.

Member Data Documentation

◆ fProjectedList

ProjList_t TEveProjectable::fProjectedList
protected

Definition at line 45 of file TEveProjectionBases.h.

Libraries for TEveProjectable:

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