Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::REveCompound Class Reference

Definition at line 26 of file REveCompound.hxx.

Public Member Functions

 REveCompound (const std::string &n="REveCompound", const std::string &t="", Bool_t doColor=kTRUE, Bool_t doTransparency=kFALSE)
 Constructor.
 
 ~REveCompound () override
 
void AddElement (REveElement *el) override
 Call base-class implementation.
 
void CloseCompound ()
 
void FillImpliedSelectedSet (Set_t &impSelSet, const std::set< int > &) override
 Recurse on all children that are in this compound and call the base-class version.
 
Bool_t IsCompoundOpen () const
 
void OpenCompound ()
 
TClassProjectedClass (const REveProjection *p) const override
 Virtual from REveProjectable, returns REveCompoundProjected class.
 
void RemoveElementLocal (REveElement *el) override
 Decompoundofy el, call base-class version.
 
void RemoveElementsLocal () override
 Decompoundofy children, call base-class version.
 
void SetMainColor (Color_t color) override
 SetMainColor for the compound.
 
void SetMainTransparency (Char_t t) override
 SetMainTransparency for the compound.
 
- Public Member Functions inherited from ROOT::Experimental::REveElement
 REveElement (const REveElement &e)
 Copy constructor.
 
 REveElement (const std::string &name="", const std::string &title="")
 Default constructor.
 
virtual ~REveElement ()
 Destructor.
 
virtual Bool_t AcceptElement (REveElement *el)
 Check if el can be added to this element.
 
virtual void AddAunt (REveAunt *au)
 Add el into the list aunts.
 
virtual void AddStamp (UChar_t bits)
 Add (bitwise or) given stamps to fChangeBits.
 
virtual void Annihilate ()
 Optimized destruction without check of reference-count.
 
virtual void AnnihilateElements ()
 Annihilate elements.
 
Bool_t ApplyVizTag (const TString &tag, const TString &fallback_tag="")
 Set the VizTag, find model-element from the VizDB and copy visualization-parameters from it.
 
virtual void BuildRenderData ()
 Write transformation Matrix to render data.
 
virtual Bool_t CanEditElement () const
 
virtual Bool_t CanEditMainColor () const
 
virtual Bool_t CanEditMainTrans () const
 
virtual Bool_t CanEditMainTransparency () const
 
virtual void CheckReferenceCount (const std::string &from="<unknown>")
 Check external references to this and eventually auto-destruct the render-element.
 
virtual void ClearStamps ()
 
virtual void CloneChildrenRecurse (REveElement *dest, Int_t level=0) const
 Clone children and attach them to the dest element.
 
virtual REveElementCloneElement () const
 Clone the element via copy constructor.
 
virtual REveElementCloneElementRecurse (Int_t level=0) const
 Clone elements and recurse 'level' deep over children.
 
virtual void CopyVizParams (const REveElement *el)
 Copy visualization parameters from element el.
 
virtual void CopyVizParamsFromDB ()
 Copy visualization parameters from the model-element fVizModel.
 
void CSCApplyMainColorToAllChildren ()
 
void CSCApplyMainColorToMatchingChildren ()
 
void CSCApplyMainTransparencyToAllChildren ()
 
void CSCApplyMainTransparencyToMatchingChildren ()
 
void CSCImplySelectAllChildren ()
 
void CSCTakeMotherAsMaster ()
 
void DecDenyDestroy ()
 Decreases the deny-destroy count of the element.
 
void DecImpliedSelected ()
 
virtual void Destroy ()
 Destroy this element.
 
virtual void DestroyElements ()
 Destroy all children of this element.
 
virtual void DestroyMainTrans ()
 Destroy the main transformation matrix, it will always be taken as identity.
 
virtual void DestroyOrWarn ()
 Destroy this element. Prints a warning if deny-destroy is in force.
 
void DisableListElements (Bool_t rnr_self=kFALSE, Bool_t rnr_children=kFALSE)
 Disable rendering of children and their list contents.
 
void EnableListElements (Bool_t rnr_self=kTRUE, Bool_t rnr_children=kTRUE)
 Enable rendering of children and their list contents.
 
virtual void ExportToInterpreter (const char *var_name)
 Export render-element to CINT with variable name var_name.
 
virtual void FillExtraSelectionData (nlohmann::json &, const std::set< int > &) const
 
REveElementFindChild (const TString &name, const TClass *cls=nullptr)
 Find the first child with given name.
 
REveElementFindChild (TPRegexp &regexp, const TClass *cls=nullptr)
 Find the first child whose name matches regexp.
 
Int_t FindChildren (List_t &matches, const TString &name, const TClass *cls=nullptr)
 Find all children with given name and append them to matches list.
 
Int_t FindChildren (List_t &matches, TPRegexp &regexp, const TClass *cls=nullptr)
 Find all children whose name matches regexp and append them to matches list.
 
REveElementFirstChild () const
 Returns the first child element or 0 if the list is empty.
 
UChar_t GetChangeBits () const
 
TClassGetChildClass () const
 
const char * GetCName () const
 
REveCompoundGetCompound ()
 
const char * GetCTitle () const
 
Int_t GetDenyDestroy () const
 Returns the number of times deny-destroy has been requested on the element.
 
Bool_t GetDestroyOnZeroRefCnt () const
 Returns state of flag determining if the element will be destroyed when reference count reaches zero.
 
ElementId_t GetElementId () const
 
virtual std::string GetHighlightTooltip (const std::set< int > &) const
 
int GetImpliedSelected ()
 
virtual Color_t GetMainColor () const
 
Color_tGetMainColorPtr () const
 
virtual Char_t GetMainTransparency () const
 
REveElementGetMother ()
 
const std::string & GetName () const
 
REveRenderDataGetRenderData () const
 
virtual Bool_t GetRnrAnything () const
 
virtual Bool_t GetRnrChildren () const
 
virtual Bool_t GetRnrSelf () const
 
virtual Bool_t GetRnrState () const
 
REveSceneGetScene ()
 
virtual REveElementGetSelectionMaster ()
 Returns the master element - that is:
 
const std::string & GetTitle () const
 
void * GetUserData () const
 
REveElementGetVizModel () const
 
const TStringGetVizTag () const
 
Bool_t HasAunts () const
 
Bool_t HasChild (REveElement *el)
 Check if element el is a child of this element.
 
Bool_t HasChildren () const
 
virtual Bool_t HasMainColor () const
 
virtual Bool_t HasMainTrans () const
 
bool HasMother ()
 
bool HasScene ()
 
void IncDenyDestroy ()
 Increases the deny-destroy count of the element.
 
void IncImpliedSelected ()
 
virtual void InitMainTrans (Bool_t can_edit=kTRUE)
 Initialize the main transformation to identity matrix.
 
TClassIsA () const
 Return class for this element Return REveElement class in case dicitonary is not exisiting.
 
Bool_t IsPickable () const
 
REveElementLastChild () const
 Returns the last child element or 0 if the list is empty.
 
virtual void NameTitleChanged ()
 Virtual function called when a name or title of the element has been changed.
 
Int_t NumAunts () const
 
Int_t NumChildren () const
 
virtual void ProjectAllChildren (Bool_t same_depth=kTRUE)
 If this is a projectable, loop over all projected replicas and add the projected image of all children there.
 
virtual void ProjectChild (REveElement *el, Bool_t same_depth=kTRUE)
 If this is a projectable, loop over all projected replicas and add the projected image of child 'el' there.
 
virtual void PropagateMainColorToProjecteds (Color_t color, Color_t old_color)
 Propagate color to projected elements.
 
virtual void PropagateMainTransparencyToProjecteds (Char_t t, Char_t old_t)
 Propagate transparency to projected elements.
 
virtual void PropagateRnrStateToProjecteds ()
 Propagate render state to the projected replicas of this element.
 
virtual void PropagateVizParamsToChildren (REveElement *el=nullptr)
 Propagate visualization parameters from element el (defaulting to this) to all children.
 
virtual void PropagateVizParamsToProjecteds ()
 Propagate visualization parameters to dependent elements.
 
virtual REveTransPtrMainTrans (Bool_t create=kTRUE)
 Return pointer to main transformation.
 
void RecheckImpliedSelections ()
 Call this if it is possible that implied-selection or highlight has changed for this element or for implied-selection this element is member of and you want to maintain consistent selection state.
 
AuntList_tRefAunts ()
 
const AuntList_tRefAunts () const
 
List_tRefChildren ()
 
const List_tRefChildren () const
 
virtual REveTransRefMainTrans ()
 Return reference to main transformation.
 
virtual void RemoveAunt (REveAunt *au)
 Remove el from the list of aunts.
 
virtual void RemoveElement (REveElement *el)
 Remove el from the list of children.
 
virtual void RemoveElements ()
 Remove all elements.
 
virtual bool RequiresExtraSelectionData () const
 
void ResetAllCSCBits ()
 
void ResetCSCBits (UChar_t f)
 
void SaveVizParams (std::ostream &out, const TString &tag, const TString &var)
 Save visualization parameters for this element with given tag.
 
void SetChildClass (TClass *c)
 
void SetCompound (REveCompound *c)
 
void SetCSCBits (UChar_t f)
 
void SetDestroyOnZeroRefCnt (Bool_t d)
 Sets the state of flag determining if the element will be destroyed when reference count reaches zero.
 
void SetEditMainColor (Bool_t x)
 
void SetEditMainTransparency (Bool_t x)
 
void SetMainAlpha (Float_t alpha)
 Set main-transparency via float alpha variable.
 
void SetMainColorPixel (Pixel_t pixel)
 Convert pixel to Color_t and call SetMainColor().
 
void SetMainColorPtr (Color_t *colptr)
 
void SetMainColorRGB (Float_t r, Float_t g, Float_t b)
 Convert RGB values to Color_t and call SetMainColor.
 
void SetMainColorRGB (UChar_t r, UChar_t g, UChar_t b)
 Convert RGB values to Color_t and call SetMainColor.
 
void SetName (const std::string &name)
 Set name of an element.
 
void SetNameTitle (const std::string &name, const std::string &title)
 Set name and title of an element.
 
void SetPickable (Bool_t p)
 
void SetPickableRecursively (Bool_t p)
 Set pickable state on the element and all its children.
 
virtual Bool_t SetRnrChildren (Bool_t rnr)
 Set render state of this element's children, i.e.
 
virtual Bool_t SetRnrSelf (Bool_t rnr)
 Set render state of this element, i.e.
 
virtual Bool_t SetRnrSelfChildren (Bool_t rnr_self, Bool_t rnr_children)
 Set state for rendering of this element and its children.
 
virtual Bool_t SetRnrState (Bool_t rnr)
 Set render state of this element and of its children to the same value.
 
void SetSelectionMaster (REveElement *el)
 
void SetTitle (const std::string &title)
 Set title of an element.
 
virtual void SetTransMatrix (const TGeoMatrix &mat)
 Set transformation matrix from TGeo's matrix.
 
virtual void SetTransMatrix (Double_t *carr)
 Set transformation matrix from column-major array.
 
void SetupDefaultColorAndTransparency (Color_t col, Bool_t can_edit_color, Bool_t can_edit_transparency)
 Set up element to use built-in main color and set flags allowing editing of main color and transparency.
 
void SetUserData (void *ud)
 
void SetVizModel (REveElement *model)
 Set visualization-parameter model element.
 
Bool_t SetVizModelByTag ()
 Find model element in VizDB that corresponds to previously assigned fVizTag and set fVizModel accordingly.
 
void SetVizTag (const TString &tag)
 
virtual Bool_t SingleRnrState () const
 
void Stamp ()
 
void StampColorSelection ()
 
void StampElementAdded ()
 
void StampObjProps ()
 
void StampTransBBox ()
 
void StampVisibility ()
 
Bool_t TestCSCBits (UChar_t f) const
 
void VizDB_Apply (const std::string &tag)
 Set visual parameters for this object for given tag.
 
void VizDB_Insert (const std::string &tag, Bool_t replace=kTRUE, Bool_t update=kTRUE)
 Create a replica of element and insert it into VizDB with given tag.
 
void VizDB_Reapply ()
 Reset visual parameters for this object from VizDB.
 
void VizDB_UpdateModel (Bool_t update=kTRUE)
 Copy visual parameters from this element to viz-db model.
 
virtual Int_t WriteCoreJson (nlohmann::json &cj, Int_t rnr_offset)
 Write core json.
 
virtual void WriteVizParams (std::ostream &out, const TString &var)
 Write-out visual parameters for this object.
 
- Public Member Functions inherited from ROOT::Experimental::REveProjectable
 REveProjectable ()
 Constructor.
 
 REveProjectable (const REveProjectable &)
 Copy constructor. Does shallow copy.
 
virtual ~REveProjectable ()
 Destructor.
 
virtual void AddProjected (REveProjected *p)
 
virtual void AddProjectedsToSet (std::set< REveElement * > &set)
 Add the projected elements to the set, dyn-casting them to REveElement.
 
virtual void AnnihilateProjecteds ()
 Optimized destroy of projected elements with condition there is only one parent for projected element.
 
virtual void ClearProjectedList ()
 
virtual Bool_t HasProjecteds () const
 
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 (REveElement *el=nullptr)
 Set visualization parameters of projecteds.
 
ProjList_tRefProjecteds ()
 
virtual void RemoveProjected (REveProjected *p)
 

Protected Attributes

Short_t fCompoundOpen {0}
 
Bool_t fDoColor {kFALSE}
 
Bool_t fDoTransparency {kFALSE}
 
- Protected Attributes inherited from ROOT::Experimental::REveElement
AuntList_t fAunts
 
Bool_t fCanEditMainColor {kFALSE}
 
Bool_t fCanEditMainTrans {kFALSE}
 
Bool_t fCanEditMainTransparency {kFALSE}
 
UChar_t fChangeBits {0}
 
TClassfChildClass {nullptr}
 
List_t fChildren
 
REveCompoundfCompound {nullptr}
 
UChar_t fCSCBits {0}
 
Color_t fDefaultColor {kPink}
 
Int_t fDenyDestroy {0}
 
Bool_t fDestroyOnZeroRefCnt {kTRUE}
 Deny-destroy count.
 
Char_t fDestructing {kNone}
 
Short_t fImpliedSelected {0}
 
Color_tfMainColorPtr {nullptr}
 
std::unique_ptr< REveTransfMainTrans
 
Char_t fMainTransparency {0}
 
REveElementfMother {nullptr}
 
std::string fName
 
Bool_t fPickable {false}
 
std::unique_ptr< REveRenderDatafRenderData
 Externally assigned and controlled user data.
 
Bool_t fRnrChildren {kTRUE}
 
Bool_t fRnrSelf {kTRUE}
 
REveScenefScene {nullptr}
 
REveElementfSelectionMaster {nullptr}
 
std::string fTitle
 
void * fUserData {nullptr}
 
REveElementfVizModel {nullptr}
 
TString fVizTag
 Element used as model from VizDB.
 
- Protected Attributes inherited from ROOT::Experimental::REveProjectable
ProjList_t fProjectedList
 

Private Member Functions

 REveCompound (const REveCompound &)=delete
 
REveCompoundoperator= (const REveCompound &)=delete
 

Additional Inherited Members

- Public Types inherited from ROOT::Experimental::REveElement
typedef std::list< REveAunt * > AuntList_t
 
enum  EChangeBits {
  kCBColorSelection = BIT(0) , kCBTransBBox = BIT(1) , kCBObjProps = BIT(2) , kCBVisibility = BIT(3) ,
  kCBElementAdded = BIT(4)
}
 
typedef std::list< REveElement * > List_t
 
typedef std::set< REveElement * > Set_t
 
- Public Types inherited from ROOT::Experimental::REveProjectable
typedef std::list< REveProjected * > ProjList_t
 
- Protected Types inherited from ROOT::Experimental::REveElement
enum  ECompoundSelectionColorBits {
  kCSCBImplySelectAllChildren = BIT(0) , kCSCBTakeMotherAsMaster = BIT(1) , kCSCBApplyMainColorToAllChildren = BIT(2) , kCSCBApplyMainColorToMatchingChildren = BIT(3) ,
  kCSCBApplyMainTransparencyToAllChildren = BIT(4) , kCSCBApplyMainTransparencyToMatchingChildren = BIT(5)
}
 
enum  EDestruct { kNone , kStandard , kAnnihilate }
 
- Protected Member Functions inherited from ROOT::Experimental::REveElement
virtual void AnnihilateRecursively ()
 Protected member function called from REveElement::Annihilate().
 
void assign_element_id_recurisvely ()
 
void assign_scene_recursively (REveScene *s)
 
ElementId_t get_mother_id () const
 
ElementId_t get_scene_id () const
 
virtual void PreDeleteElement ()
 Vertex / normal / triangle index information for rendering.
 
virtual void RemoveElementsInternal ()
 Remove all elements.
 
- Static Protected Member Functions inherited from ROOT::Experimental::REveElement
static const std::string & ToString (Bool_t b)
 Convert Bool_t to string - kTRUE or kFALSE.
 

#include <ROOT/REveCompound.hxx>

Inheritance diagram for ROOT::Experimental::REveCompound:
[legend]

Constructor & Destructor Documentation

◆ REveCompound() [1/2]

ROOT::Experimental::REveCompound::REveCompound ( const REveCompound )
privatedelete

◆ REveCompound() [2/2]

REveCompound::REveCompound ( const std::string &  n = "REveCompound",
const std::string &  t = "",
Bool_t  doColor = kTRUE,
Bool_t  doTransparency = kFALSE 
)

Constructor.

Definition at line 26 of file REveCompound.cxx.

◆ ~REveCompound()

ROOT::Experimental::REveCompound::~REveCompound ( )
inlineoverride

Definition at line 41 of file REveCompound.hxx.

Member Function Documentation

◆ AddElement()

void REveCompound::AddElement ( REveElement el)
overridevirtual

Call base-class implementation.

If compound is open and compound of the new element is not set, the el's compound is set to this. You might also want to call RecheckImpliedSelections().

Reimplemented from ROOT::Experimental::REveElement.

Definition at line 106 of file REveCompound.cxx.

◆ CloseCompound()

void ROOT::Experimental::REveCompound::CloseCompound ( )
inline

Definition at line 44 of file REveCompound.hxx.

◆ FillImpliedSelectedSet()

void REveCompound::FillImpliedSelectedSet ( Set_t impSelSet,
const std::set< int > &  sec_idcs 
)
overridevirtual

Recurse on all children that are in this compound and call the base-class version.

If SelectionColorBit kSCBImplySelectAllChildren is set, then all children are added to the set.

Note that projected replicas of the compound will be added to the set in base-class function that handles projectable.

Reimplemented from ROOT::Experimental::REveElement.

Definition at line 146 of file REveCompound.cxx.

◆ IsCompoundOpen()

Bool_t ROOT::Experimental::REveCompound::IsCompoundOpen ( ) const
inline

Definition at line 45 of file REveCompound.hxx.

◆ OpenCompound()

void ROOT::Experimental::REveCompound::OpenCompound ( )
inline

Definition at line 43 of file REveCompound.hxx.

◆ operator=()

REveCompound & ROOT::Experimental::REveCompound::operator= ( const REveCompound )
privatedelete

◆ ProjectedClass()

TClass * REveCompound::ProjectedClass ( const REveProjection p) const
overridevirtual

Virtual from REveProjectable, returns REveCompoundProjected class.

Implements ROOT::Experimental::REveProjectable.

Definition at line 164 of file REveCompound.cxx.

◆ RemoveElementLocal()

void REveCompound::RemoveElementLocal ( REveElement el)
overridevirtual

Decompoundofy el, call base-class version.

Reimplemented from ROOT::Experimental::REveElement.

Definition at line 116 of file REveCompound.cxx.

◆ RemoveElementsLocal()

void REveCompound::RemoveElementsLocal ( )
overridevirtual

Decompoundofy children, call base-class version.

Reimplemented from ROOT::Experimental::REveElement.

Definition at line 127 of file REveCompound.cxx.

◆ SetMainColor()

void REveCompound::SetMainColor ( Color_t  color)
overridevirtual

SetMainColor for the compound.

The color is also propagated to children with compound set to this whose current color is the same as the old color.

The following CompoundSelectionColorBits have further influence:

  • kCSCBApplyMainColorToAllChildren - apply color to all children;
  • kCSCBApplyMainColorToMatchingChildren - apply color to children who have matching old color.

Reimplemented from ROOT::Experimental::REveElement.

Reimplemented in ROOT::Experimental::REveCompoundProjected.

Definition at line 49 of file REveCompound.cxx.

◆ SetMainTransparency()

void REveCompound::SetMainTransparency ( Char_t  t)
overridevirtual

SetMainTransparency for the compound.

The transparency is also propagated to children with compound set to this whose current transparency is the same as the old transparency.

The following CompoundSelectionColorBits have further influence:

  • kCSCBApplyMainTransparencyToAllChildren - apply transparency to all children;
  • kCSCBApplyMainTransparencyToMatchingChildren - apply transparency to children who have matching transparency.

Reimplemented from ROOT::Experimental::REveElement.

Definition at line 80 of file REveCompound.cxx.

Member Data Documentation

◆ fCompoundOpen

Short_t ROOT::Experimental::REveCompound::fCompoundOpen {0}
protected

Definition at line 34 of file REveCompound.hxx.

◆ fDoColor

Bool_t ROOT::Experimental::REveCompound::fDoColor {kFALSE}
protected

Definition at line 35 of file REveCompound.hxx.

◆ fDoTransparency

Bool_t ROOT::Experimental::REveCompound::fDoTransparency {kFALSE}
protected

Definition at line 36 of file REveCompound.hxx.

Libraries for ROOT::Experimental::REveCompound:

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