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 TClass * | IsA () const |
virtual TClass * | ProjectedClass (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 TClass * | Class () |
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 &) | |
TEveProjectable & | operator= (const TEveProjectable &) |
#include <TEveProjectionBases.h>
typedef std::list<TEveProjected*>::iterator TEveProjectable::ProjList_i |
Definition at line 42 of file TEveProjectionBases.h.
typedef std::list<TEveProjected*> TEveProjectable::ProjList_t |
Definition at line 41 of file TEveProjectionBases.h.
|
private |
TEveProjectable::TEveProjectable | ( | ) |
Constructor.
Definition at line 36 of file TEveProjectionBases.cxx.
|
virtual |
Destructor.
Force projected replicas to unreference *this, then destroy them.
Definition at line 44 of file TEveProjectionBases.cxx.
|
inlinevirtual |
Definition at line 58 of file TEveProjectionBases.h.
|
virtual |
Add the projected elements to the set, dyn-casting them to TEveElement.
Definition at line 85 of file TEveProjectionBases.cxx.
|
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.
|
inline |
Definition at line 55 of file TEveProjectionBases.h.
Definition at line 71 of file TEveProjectionBases.h.
|
virtual |
Definition at line 76 of file TEveProjectionBases.cxx.
Definition at line 71 of file TEveProjectionBases.h.
|
inline |
Definition at line 56 of file TEveProjectionBases.h.
Definition at line 53 of file TEveProjectionBases.h.
Reimplemented in TEveBox, TEveBoxProjected, TEveCaloViz, TEveCalo3D, TEveCalo2D, TEveCaloLego, TEveCompound, TEveCompoundProjected, TEveElementList, TEveElementListProjected, TEveEventManager, TEveGeoShape, TEveGeoShapeProjected, TEveJetCone, TEveJetConeProjected, TEveLine, TEveLineProjected, TEvePlot3D, TEvePointSet, TEvePointSetProjected, TEvePolygonSetProjected, TEveProjectionManager, TEveScalableStraightLineSet, TEveScene, TEveSceneList, TEveSelection, TEveShape, TEveStraightLineSet, TEveStraightLineSetProjected, TEveTrack, TEveTrackList, TEveTrackProjected, TEveTrackListProjected, TEveTrackPropagator, TEveTriangleSet, TEveViewer, TEveViewerList, TEveWindow, TEveWindowSlot, TEveWindowFrame, TEveWindowPack, TEveWindowTab, and TEveWindowManager.
Definition at line 71 of file TEveProjectionBases.h.
|
private |
|
pure virtual |
Implemented in TEveBox, TEveCaloViz, TEveCompound, TEveElementList, TEveGeoShape, TEveJetCone, TEveLine, TEvePointSet, TEveStraightLineSet, TEveTrack, and TEveTrackList.
Set main color of projecteds if their color is the same as old_color.
Definition at line 124 of file TEveProjectionBases.cxx.
Set main transparency of projecteds if their transparency is the same as the old one.
Definition at line 137 of file TEveProjectionBases.cxx.
Set render state of projecteds.
Definition at line 112 of file TEveProjectionBases.cxx.
|
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.
|
inlinevirtual |
Definition at line 59 of file TEveProjectionBases.h.
Reimplemented in TEveBox, TEveBoxProjected, TEveCaloViz, TEveCalo3D, TEveCalo2D, TEveCaloLego, TEveCompound, TEveCompoundProjected, TEveElementList, TEveElementListProjected, TEveEventManager, TEveGeoShape, TEveGeoShapeProjected, TEveJetCone, TEveJetConeProjected, TEveLine, TEveLineProjected, TEvePlot3D, TEvePointSet, TEvePointSetProjected, TEvePolygonSetProjected, TEveProjectionManager, TEveScalableStraightLineSet, TEveScene, TEveSceneList, TEveSelection, TEveShape, TEveStraightLineSet, TEveStraightLineSetProjected, TEveTrack, TEveTrackList, TEveTrackProjected, TEveTrackListProjected, TEveTrackPropagator, TEveTriangleSet, TEveViewer, TEveViewerList, TEveWindow, TEveWindowSlot, TEveWindowFrame, TEveWindowPack, TEveWindowTab, and TEveWindowManager.
|
inline |
Definition at line 71 of file TEveProjectionBases.h.
|
protected |
Definition at line 45 of file TEveProjectionBases.h.