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 37 of file TEveProjectionBases.cxx.
|
virtual |
Destructor.
Force projected replicas to unreference *this, then destroy them.
Definition at line 45 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 86 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 65 of file TEveProjectionBases.cxx.
|
inline |
Definition at line 55 of file TEveProjectionBases.h.
|
static |
|
inlinestaticconstexpr |
Definition at line 71 of file TEveProjectionBases.h.
|
virtual |
Definition at line 77 of file TEveProjectionBases.cxx.
|
inlinestatic |
Definition at line 71 of file TEveProjectionBases.h.
|
inline |
Definition at line 56 of file TEveProjectionBases.h.
|
inlinevirtual |
Definition at line 53 of file TEveProjectionBases.h.
|
inlinevirtual |
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 125 of file TEveProjectionBases.cxx.
Set main transparency of projecteds if their transparency is the same as the old one.
Definition at line 138 of file TEveProjectionBases.cxx.
Set render state of projecteds.
Definition at line 113 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 99 of file TEveProjectionBases.cxx.
|
inlinevirtual |
Definition at line 59 of file TEveProjectionBases.h.
|
virtual |
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.