Logo ROOT   master
Reference Guide
ROOT::Experimental::REveScene Class Reference

Definition at line 33 of file REveScene.hxx.

Classes

struct  SceneCommand
 

Public Member Functions

 REveScene (const std::string &n="REveScene", const std::string &t="")
 Constructor. More...
 
virtual ~REveScene ()
 Destructor. More...
 
void AddCommand (const std::string &name, const std::string &icon, const REveElement *element, const std::string &action)
 
void AddSubscriber (std::unique_ptr< REveClient > &&sub)
 
void BeginAcceptingChanges ()
 
void Changed ()
 
void EndAcceptingChanges ()
 
Bool_t GetHierarchical () const
 
Bool_t HasSubscribers () const
 
Bool_t IsAcceptingChanges () const
 
Bool_t IsChanged () const
 
void ProcessChanges ()
 
void RemoveSubscriber (unsigned int)
 
void SceneElementChanged (REveElement *element)
 
void SceneElementRemoved (ElementId_t id)
 
void SendChangesToSubscribers ()
 
void SetHierarchical (Bool_t h)
 
Bool_t SingleRnrState () const override
 
void StreamElements ()
 
void StreamJsonRecurse (REveElement *el, nlohmann::json &jobj)
 
void StreamRepresentationChanges ()
 Prepare data for sending element changes. More...
 
- Public Member Functions inherited from ROOT::Experimental::REveElement
 REveElement (const std::string &name="", const std::string &title="")
 Default constructor. More...
 
 REveElement (const REveElement &e)
 Copy constructor. More...
 
virtual ~REveElement ()
 Destructor. More...
 
virtual Bool_t AcceptElement (REveElement *el)
 Check if el can be added to this element. More...
 
virtual void AddAunt (REveAunt *au)
 Add el into the list aunts. More...
 
virtual void AddElement (REveElement *el)
 Add el to the list of children. More...
 
virtual void AddStamp (UChar_t bits)
 Add (bitwise or) given stamps to fChangeBits. More...
 
virtual void Annihilate ()
 Optimized destruction without check of reference-count. More...
 
virtual void AnnihilateElements ()
 Annihilate elements. More...
 
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. More...
 
virtual void BuildRenderData ()
 Write transformation Matrix to render data. More...
 
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. More...
 
virtual void ClearStamps ()
 
virtual void CloneChildrenRecurse (REveElement *dest, Int_t level=0) const
 Clone children and attach them to the dest element. More...
 
virtual REveElementCloneElement () const
 Clone the element via copy constructor. More...
 
virtual REveElementCloneElementRecurse (Int_t level=0) const
 Clone elements and recurse 'level' deep over children. More...
 
virtual void CopyVizParams (const REveElement *el)
 Copy visualization parameters from element el. More...
 
virtual void CopyVizParamsFromDB ()
 Copy visualization parameters from the model-element fVizModel. More...
 
void CSCApplyMainColorToAllChildren ()
 
void CSCApplyMainColorToMatchingChildren ()
 
void CSCApplyMainTransparencyToAllChildren ()
 
void CSCApplyMainTransparencyToMatchingChildren ()
 
void CSCImplySelectAllChildren ()
 
void CSCTakeMotherAsMaster ()
 
void DecDenyDestroy ()
 Decreases the deny-destroy count of the element. More...
 
void DecImpliedSelected ()
 
virtual void Destroy ()
 Destroy this element. More...
 
virtual void DestroyElements ()
 Destroy all children of this element. More...
 
virtual void DestroyMainTrans ()
 Destroy the main transformation matrix, it will always be taken as identity. More...
 
virtual void DestroyOrWarn ()
 Destroy this element. Prints a warning if deny-destroy is in force. More...
 
void DisableListElements (Bool_t rnr_self=kFALSE, Bool_t rnr_children=kFALSE)
 Disable rendering of children and their list contents. More...
 
void EnableListElements (Bool_t rnr_self=kTRUE, Bool_t rnr_children=kTRUE)
 Enable rendering of children and their list contents. More...
 
virtual void ExportToCINT (const char *var_name)
 Export render-element to CINT with variable name var_name. More...
 
virtual void FillImpliedSelectedSet (Set_t &impSelSet)
 Populate set impSelSet with derived / dependant elements. More...
 
REveElementFindChild (const TString &name, const TClass *cls=nullptr)
 Find the first child with given name. More...
 
REveElementFindChild (TPRegexp &regexp, const TClass *cls=nullptr)
 Find the first child whose name matches regexp. More...
 
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. More...
 
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. More...
 
REveElementFirstChild () const
 Returns the first child element or 0 if the list is empty. More...
 
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. More...
 
Bool_t GetDestroyOnZeroRefCnt () const
 Returns state of flag determining if the element will be destroyed when reference count reaches zero. More...
 
ElementId_t GetElementId () const
 
virtual std::string GetHighlightTooltip () 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 ()
 
REveElementGetSelectionMaster ()
 Returns the master element - that is: More...
 
const std::string & GetTitle () const
 
voidGetUserData () 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. More...
 
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. More...
 
void IncImpliedSelected ()
 
virtual void InitMainTrans (Bool_t can_edit=kTRUE)
 Initialize the main transformation to identity matrix. More...
 
TClassIsA () const
 Return class for this element. More...
 
Bool_t IsPickable () const
 
REveElementLastChild () const
 Returns the last child element or 0 if the list is empty. More...
 
virtual void NameTitleChanged ()
 Virtual function called when a name or title of the element has been changed. More...
 
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. More...
 
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. More...
 
virtual void PropagateMainColorToProjecteds (Color_t color, Color_t old_color)
 Propagate color to projected elements. More...
 
virtual void PropagateMainTransparencyToProjecteds (Char_t t, Char_t old_t)
 Propagate transparency to projected elements. More...
 
virtual void PropagateRnrStateToProjecteds ()
 Propagate render state to the projected replicas of this element. More...
 
virtual void PropagateVizParamsToChildren (REveElement *el=nullptr)
 Propagate visualization parameters from element el (defaulting to this) to all children. More...
 
virtual void PropagateVizParamsToProjecteds ()
 Propagate visualization parameters to dependent elements. More...
 
virtual REveTransPtrMainTrans (Bool_t create=kTRUE)
 Return pointer to main transformation. More...
 
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. More...
 
AuntList_tRefAunts ()
 
const AuntList_tRefAunts () const
 
List_tRefChildren ()
 
const List_tRefChildren () const
 
virtual REveTransRefMainTrans ()
 Return reference to main transformation. More...
 
virtual void RemoveAunt (REveAunt *au)
 Remove el from the list of aunts. More...
 
virtual void RemoveElement (REveElement *el)
 Remove el from the list of children. More...
 
virtual void RemoveElementLocal (REveElement *el)
 Perform additional local removal of el. More...
 
virtual void RemoveElements ()
 Remove all elements. More...
 
virtual void RemoveElementsLocal ()
 Perform additional local removal of all elements. More...
 
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. More...
 
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. More...
 
void SetEditMainColor (Bool_t x)
 
void SetEditMainTransparency (Bool_t x)
 
void SetMainAlpha (Float_t alpha)
 Set main-transparency via float alpha variable. More...
 
virtual void SetMainColor (Color_t color)
 Set main color of the element. More...
 
void SetMainColorPixel (Pixel_t pixel)
 Convert pixel to Color_t and call SetMainColor(). More...
 
void SetMainColorPtr (Color_t *colptr)
 
void SetMainColorRGB (UChar_t r, UChar_t g, UChar_t b)
 Convert RGB values to Color_t and call SetMainColor. More...
 
void SetMainColorRGB (Float_t r, Float_t g, Float_t b)
 Convert RGB values to Color_t and call SetMainColor. More...
 
virtual void SetMainTransparency (Char_t t)
 Set main-transparency. More...
 
void SetName (const std::string &name)
 Set name of an element. More...
 
void SetNameTitle (const std::string &name, const std::string &title)
 Set name and title of an element. More...
 
void SetPickable (Bool_t p)
 
void SetPickableRecursively (Bool_t p)
 Set pickable state on the element and all its children. More...
 
virtual Bool_t SetRnrChildren (Bool_t rnr)
 Set render state of this element's children, i.e. More...
 
virtual Bool_t SetRnrSelf (Bool_t rnr)
 Set render state of this element, i.e. More...
 
virtual Bool_t SetRnrSelfChildren (Bool_t rnr_self, Bool_t rnr_children)
 Set state for rendering of this element and its children. More...
 
virtual Bool_t SetRnrState (Bool_t rnr)
 Set render state of this element and of its children to the same value. More...
 
void SetSelectionMaster (REveElement *el)
 
void SetTitle (const std::string &title)
 Set title of an element. More...
 
virtual void SetTransMatrix (Double_t *carr)
 Set transformation matrix from column-major array. More...
 
virtual void SetTransMatrix (const TGeoMatrix &mat)
 Set transformation matrix from TGeo's matrix. More...
 
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. More...
 
void SetUserData (void *ud)
 
void SetVizModel (REveElement *model)
 Set visualization-parameter model element. More...
 
Bool_t SetVizModelByTag ()
 Find model element in VizDB that corresponds to previously assigned fVizTag and set fVizModel accordingly. More...
 
void SetVizTag (const TString &tag)
 
void StampColorSelection ()
 
void StampElementAdded ()
 
void StampObjProps ()
 
void StampObjPropsPreChk ()
 
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. More...
 
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. More...
 
void VizDB_Reapply ()
 Reset visual parameters for this object from VizDB. More...
 
void VizDB_UpdateModel (Bool_t update=kTRUE)
 Copy visual parameters from this element to viz-db model. More...
 
virtual Int_t WriteCoreJson (nlohmann::json &cj, Int_t rnr_offset)
 Write core json. More...
 
virtual void WriteVizParams (std::ostream &out, const TString &var)
 Write-out visual parameters for this object. More...
 

Protected Attributes

Bool_t fAcceptingChanges {kFALSE}
 ! More...
 
Bool_t fChanged {kFALSE}
 ! More...
 
List_t fChangedElements
 ! More...
 
std::vector< SceneCommandfCommands
 ! More...
 
List_t fElsWithBinaryData
 
Bool_t fHierarchical {kFALSE}
 ! More...
 
std::vector< char > fOutputBinary
 ! More...
 
std::string fOutputJson
 ! More...
 
std::vector< ElementId_tfRemovedElements
 ! More...
 
Bool_t fSmartRefresh {kTRUE}
 ! More...
 
std::vector< std::unique_ptr< REveClient > > fSubscribers
 ! More...
 
Int_t fTotalBinarySize
 ! More...
 
- 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. More...
 
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 {0}
 
std::unique_ptr< REveRenderDatafRenderData
 Externally assigned and controlled user data. More...
 
Bool_t fRnrChildren {kTRUE}
 
Bool_t fRnrSelf {kTRUE}
 
REveScenefScene {nullptr}
 
REveElementfSelectionMaster {nullptr}
 
std::string fTitle
 
voidfUserData {nullptr}
 
REveElementfVizModel {nullptr}
 
TString fVizTag
 Element used as model from VizDB. More...
 

Private Member Functions

 REveScene (const REveScene &)=delete
 
REveSceneoperator= (const REveScene &)=delete
 

Friends

class REveManager
 

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
 
- 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(). More...
 
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. More...
 
virtual void RemoveElementsInternal ()
 Remove all elements. More...
 
- 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. More...
 

#include <ROOT/REveScene.hxx>

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

Constructor & Destructor Documentation

◆ REveScene() [1/2]

ROOT::Experimental::REveScene::REveScene ( const REveScene )
privatedelete

◆ REveScene() [2/2]

REveScene::REveScene ( const std::string &  n = "REveScene",
const std::string &  t = "" 
)

Constructor.

Definition at line 42 of file REveScene.cxx.

◆ ~REveScene()

REveScene::~REveScene ( )
virtual

Destructor.

Definition at line 51 of file REveScene.cxx.

Member Function Documentation

◆ AddCommand()

void ROOT::Experimental::REveScene::AddCommand ( const std::string &  name,
const std::string &  icon,
const REveElement element,
const std::string &  action 
)
inline

Definition at line 121 of file REveScene.hxx.

◆ AddSubscriber()

void REveScene::AddSubscriber ( std::unique_ptr< REveClient > &&  sub)

Definition at line 61 of file REveScene.cxx.

◆ BeginAcceptingChanges()

void REveScene::BeginAcceptingChanges ( )

Definition at line 83 of file REveScene.cxx.

◆ Changed()

void ROOT::Experimental::REveScene::Changed ( )
inline

Definition at line 94 of file REveScene.hxx.

◆ EndAcceptingChanges()

void REveScene::EndAcceptingChanges ( )

Definition at line 102 of file REveScene.cxx.

◆ GetHierarchical()

Bool_t ROOT::Experimental::REveScene::GetHierarchical ( ) const
inline

Definition at line 92 of file REveScene.hxx.

◆ HasSubscribers()

Bool_t ROOT::Experimental::REveScene::HasSubscribers ( ) const
inline

Definition at line 117 of file REveScene.hxx.

◆ IsAcceptingChanges()

Bool_t ROOT::Experimental::REveScene::IsAcceptingChanges ( ) const
inline

Definition at line 97 of file REveScene.hxx.

◆ IsChanged()

Bool_t REveScene::IsChanged ( ) const

Definition at line 323 of file REveScene.cxx.

◆ operator=()

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

◆ ProcessChanges()

void REveScene::ProcessChanges ( )

Definition at line 109 of file REveScene.cxx.

◆ RemoveSubscriber()

void REveScene::RemoveSubscriber ( unsigned  int)

Definition at line 72 of file REveScene.cxx.

◆ SceneElementChanged()

void REveScene::SceneElementChanged ( REveElement element)

Definition at line 90 of file REveScene.cxx.

◆ SceneElementRemoved()

void REveScene::SceneElementRemoved ( ElementId_t  id)

Definition at line 97 of file REveScene.cxx.

◆ SendChangesToSubscribers()

void REveScene::SendChangesToSubscribers ( )

Definition at line 309 of file REveScene.cxx.

◆ SetHierarchical()

void ROOT::Experimental::REveScene::SetHierarchical ( Bool_t  h)
inline

Definition at line 91 of file REveScene.hxx.

◆ SingleRnrState()

Bool_t ROOT::Experimental::REveScene::SingleRnrState ( ) const
inlineoverridevirtual

Reimplemented from ROOT::Experimental::REveElement.

Definition at line 89 of file REveScene.hxx.

◆ StreamElements()

void REveScene::StreamElements ( )

Definition at line 118 of file REveScene.cxx.

◆ StreamJsonRecurse()

void REveScene::StreamJsonRecurse ( REveElement el,
nlohmann::json jobj 
)

Definition at line 168 of file REveScene.cxx.

◆ StreamRepresentationChanges()

void REveScene::StreamRepresentationChanges ( )

Prepare data for sending element changes.

Definition at line 218 of file REveScene.cxx.

Friends And Related Function Documentation

◆ REveManager

friend class REveManager
friend

Definition at line 35 of file REveScene.hxx.

Member Data Documentation

◆ fAcceptingChanges

Bool_t ROOT::Experimental::REveScene::fAcceptingChanges {kFALSE}
protected

!

Definition at line 63 of file REveScene.hxx.

◆ fChanged

Bool_t ROOT::Experimental::REveScene::fChanged {kFALSE}
protected

!

Definition at line 64 of file REveScene.hxx.

◆ fChangedElements

List_t ROOT::Experimental::REveScene::fChangedElements
protected

!

Definition at line 67 of file REveScene.hxx.

◆ fCommands

std::vector<SceneCommand> ROOT::Experimental::REveScene::fCommands
protected

!

Definition at line 81 of file REveScene.hxx.

◆ fElsWithBinaryData

List_t ROOT::Experimental::REveScene::fElsWithBinaryData
protected

Definition at line 76 of file REveScene.hxx.

◆ fHierarchical

Bool_t ROOT::Experimental::REveScene::fHierarchical {kFALSE}
protected

!

Definition at line 61 of file REveScene.hxx.

◆ fOutputBinary

std::vector<char> ROOT::Experimental::REveScene::fOutputBinary
protected

!

Definition at line 78 of file REveScene.hxx.

◆ fOutputJson

std::string ROOT::Experimental::REveScene::fOutputJson
protected

!

Definition at line 77 of file REveScene.hxx.

◆ fRemovedElements

std::vector<ElementId_t> ROOT::Experimental::REveScene::fRemovedElements
protected

!

Definition at line 72 of file REveScene.hxx.

◆ fSmartRefresh

Bool_t ROOT::Experimental::REveScene::fSmartRefresh {kTRUE}
protected

!

Definition at line 60 of file REveScene.hxx.

◆ fSubscribers

std::vector<std::unique_ptr<REveClient> > ROOT::Experimental::REveScene::fSubscribers
protected

!

Definition at line 74 of file REveScene.hxx.

◆ fTotalBinarySize

Int_t ROOT::Experimental::REveScene::fTotalBinarySize
protected

!

Definition at line 79 of file REveScene.hxx.


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