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:
TEveCaloViz TEveElementList TEvePointSet TEveStraightLineSet TEveCalo2D TEveCalo3D TEveCaloLego TEveCompound TEveElementListProjected TEveEventManager TEvePlot3D TEveProjectionManager TEveScene TEveSceneList TEveSelection TEveShape TEveTrackList TEveTrackPropagator TEveTriangleSet TEveViewerList TEveWindow TEveWindowManager TEveLine TEvePointSetProjected TEveScalableStraightLineSet TEveStraightLineSetProjected

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 36 of file TEveProjectionBases.cxx.

◆ ~TEveProjectable()

TEveProjectable::~TEveProjectable ( )
virtual

Destructor.

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

Definition at line 44 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 85 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 64 of file TEveProjectionBases.cxx.

◆ BeginProjecteds()

ProjList_i TEveProjectable::BeginProjecteds ( )
inline

Definition at line 55 of file TEveProjectionBases.h.

◆ Class()

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

◆ Class_Name()

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

◆ Class_Version()

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 76 of file TEveProjectionBases.cxx.

◆ DeclFileName()

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 124 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 137 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 112 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 98 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.


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