ROOT logo
ROOT » GRAF3D » EVE » TEveProjectable

class TEveProjectable


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

Function Members (Methods)

 
    This is an abstract class, constructors will not be documented.
    Look at the header to check for available constructors.

public:
virtual~TEveProjectable()
virtual voidAddProjected(TEveProjected* p)
virtual voidAddProjectedsToSet(set<TEveElement*>& set)
virtual voidAnnihilateProjecteds()
TEveProjectable::ProjList_iBeginProjecteds()
static TClass*Class()
virtual voidClearProjectedList()
TEveProjectable::ProjList_iEndProjecteds()
virtual Bool_tHasProjecteds() const
virtual TClass*IsA() const
virtual TClass*ProjectedClass(const TEveProjection* p) const
virtual voidPropagateMainColor(Color_t color, Color_t old_color)
virtual voidPropagateMainTransparency(Char_t t, Char_t old_t)
virtual voidPropagateRenderState(Bool_t rnr_self, Bool_t rnr_children)
virtual voidPropagateVizParams(TEveElement* el = 0)
virtual voidRemoveProjected(TEveProjected* p)
virtual voidShowMembers(TMemberInspector& insp)
virtual voidStreamer(TBuffer& b)
voidStreamerNVirtual(TBuffer& b)

Data Members

protected:
list<TEveProjected*>fProjectedListreferences to projected instances.

Class Charts

Inheritance Inherited Members Includes Libraries
Class Charts

Function documentation

~TEveProjectable()
 Destructor.
 Force projected replicas to unreference *this, then destroy them.
void AnnihilateProjecteds()
 Optimized destroy of projected elements with condition
 there is only one parent for projected element. Method is
 called from TEveElement::Annihilate().
void ClearProjectedList()
void AddProjectedsToSet(set<TEveElement*>& set)
 Add the projected elements to the set, dyn-casting them to
 TEveElement.
void PropagateVizParams(TEveElement* el = 0)
 Set visualization parameters of projecteds.
 Use element el as model. If el == 0 (default), this casted to
 TEveElement is used.
void PropagateRenderState(Bool_t rnr_self, Bool_t rnr_children)
 Set render state of projecteds.
void PropagateMainColor(Color_t color, Color_t old_color)
 Set main color of projecteds if their color is the same as old_color.
void PropagateMainTransparency(Char_t t, Char_t old_t)
 Set main transparency of projecteds if their transparecy is the
 same as the old one.
TEveProjectable& operator=(const TEveProjectable& )
TClass* ProjectedClass(const TEveProjection* p) const
Bool_t HasProjecteds() const
{ return ! fProjectedList.empty(); }
ProjList_i BeginProjecteds()
{ return fProjectedList.begin(); }
ProjList_i EndProjecteds()
{ return fProjectedList.end(); }
void AddProjected(TEveProjected* p)
{ fProjectedList.push_back(p); }
void RemoveProjected(TEveProjected* p)
{ fProjectedList.remove(p); }