REveProjectionManager Manager class for steering of projections and managing projected objects.
Definition at line 27 of file REveProjectionManager.hxx.
Public Member Functions | |
REveProjectionManager (REveProjection::EPType_e type=REveProjection::kPT_Unknown) | |
Constructor. | |
~REveProjectionManager () override | |
Destructor. | |
void | AddDependent (REveElement *el) |
Add el as dependent element. | |
void | ComputeBBox () override |
Virtual from TAttBBox; fill bounding-box information. | |
REveVector & | GetCenter () |
Float_t | GetCurrentDepth () const |
Bool_t | GetImportEmpty () const |
REveProjection * | GetProjection () |
virtual REveElement * | ImportElements (REveElement *el, REveElement *ext_list=nullptr) |
Recursively import elements and apply projection to the newly imported objects. | |
virtual REveElement * | ImportElementsRecurse (REveElement *el, REveElement *parent) |
If el is REveProjectable add projected instance else add plain REveElementList to parent. | |
virtual void | ProjectChildren () |
Project all children recursively, update bounding-box and notify EveManger about the scenes that have been changed. | |
virtual void | ProjectChildrenRecurse (REveElement *el) |
Project el (via REveProjected::UpdateProjection()) and recurse through el's children. | |
void | RemoveDependent (REveElement *el) |
Remove el as dependent element. | |
void | SetCenter (Float_t x, Float_t y, Float_t z) |
Set projection center and rebuild projected scene. | |
void | SetCurrentDepth (Float_t d) |
void | SetImportEmpty (Bool_t ie) |
void | SetProjection (REveProjection::EPType_e type) |
Set projection type and distortion. | |
virtual Int_t | SubImportChildren (REveElement *el, REveElement *proj_parent) |
Recursively import children elements of el and apply projection to the newly imported objects. | |
virtual REveElement * | SubImportElements (REveElement *el, REveElement *proj_parent) |
Recursively import elements and apply projection to the newly imported objects. | |
virtual void | UpdateName () |
Updates name to have consistent information with projection. | |
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 | AddElement (REveElement *el) |
Add el to the list of children. | |
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 REveElement * | CloneElement () const |
Clone the element via copy constructor. | |
virtual REveElement * | CloneElementRecurse (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 |
virtual void | FillImpliedSelectedSet (Set_t &impSelSet, const std::set< int > &) |
Populate set impSelSet with derived / dependant elements. | |
REveElement * | FindChild (const TString &name, const TClass *cls=nullptr) |
Find the first child with given name. | |
REveElement * | FindChild (TPRegexp ®exp, 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 ®exp, const TClass *cls=nullptr) |
Find all children whose name matches regexp and append them to matches list. | |
REveElement * | FirstChild () const |
Returns the first child element or 0 if the list is empty. | |
UChar_t | GetChangeBits () const |
TClass * | GetChildClass () const |
const char * | GetCName () const |
REveCompound * | GetCompound () |
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_t * | GetMainColorPtr () const |
virtual Char_t | GetMainTransparency () const |
REveElement * | GetMother () |
const std::string & | GetName () const |
REveRenderData * | GetRenderData () const |
virtual Bool_t | GetRnrAnything () const |
virtual Bool_t | GetRnrChildren () const |
virtual Bool_t | GetRnrSelf () const |
virtual Bool_t | GetRnrState () const |
REveScene * | GetScene () |
virtual REveElement * | GetSelectionMaster () |
Returns the master element - that is: | |
const std::string & | GetTitle () const |
void * | GetUserData () const |
REveElement * | GetVizModel () const |
const TString & | GetVizTag () 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. | |
TClass * | IsA () const |
Return class for this element Return REveElement class in case dicitonary is not exisiting. | |
Bool_t | IsPickable () const |
REveElement * | LastChild () 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 REveTrans * | PtrMainTrans (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_t & | RefAunts () |
const AuntList_t & | RefAunts () const |
List_t & | RefChildren () |
const List_t & | RefChildren () const |
virtual REveTrans & | RefMainTrans () |
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 | RemoveElementLocal (REveElement *el) |
Perform additional local removal of el. | |
virtual void | RemoveElements () |
Remove all elements. | |
virtual void | RemoveElementsLocal () |
Perform additional local removal of 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. | |
virtual void | SetMainColor (Color_t color) |
Set main color of the element. | |
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. | |
virtual void | SetMainTransparency (Char_t t) |
Set main-transparency. | |
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::REveAuntAsList | |
~REveAuntAsList () override | |
void | AddNieceInternal (REveElement *el) override |
bool | HasNiece (REveElement *el) const override |
bool | HasNieces () const override |
void | RemoveNieceInternal (REveElement *el) override |
void | RemoveNieces () override |
Public Member Functions inherited from ROOT::Experimental::REveAunt | |
virtual | ~REveAunt () |
virtual bool | AcceptNiece (REveElement *) |
virtual void | AddNiece (REveElement *el) |
virtual void | RemoveNiece (REveElement *el) |
Public Member Functions inherited from TAttBBox | |
TAttBBox () | |
virtual | ~TAttBBox () |
Float_t * | AssertBBox () |
Float_t * | GetBBox () |
Bool_t | GetBBoxOK () const |
virtual TClass * | IsA () const |
TAttBBox & | operator= (const TAttBBox &tab) |
void | ResetBBox () |
void | SetupBBoxCube (Float_t extent, Float_t x, Float_t y, Float_t z) |
Setup bounding box as cube with given extent and center position. | |
virtual void | Streamer (TBuffer &) |
void | StreamerNVirtual (TBuffer &ClassDef_StreamerNVirtual_b) |
Protected Member Functions | |
virtual Bool_t | ShouldImport (REveElement *el) |
Returns true if element el should be imported. | |
virtual void | UpdateDependentElements (REveElement *root) |
Update dependent elements' bounding boxes. | |
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. | |
Protected Member Functions inherited from TAttBBox | |
TAttBBox (const TAttBBox &tab) | |
void | AssertBBoxExtents (Float_t epsilon=0.005) |
Assert extents of all sides of the bounding-box are at least epsilon. | |
void | BBoxCheckPoint (const Float_t *p) |
void | BBoxCheckPoint (Float_t x, Float_t y, Float_t z) |
void | BBoxClear () |
Remove BBox information. | |
void | BBoxInit (Float_t infinity=1e6) |
Dynamic Float_t[6] X(min,max), Y(min,max), Z(min,max) | |
void | BBoxZero (Float_t epsilon=0, Float_t x=0, Float_t y=0, Float_t z=0) |
Create cube of volume (2*epsilon)^3 at (x,y,z). | |
Private Member Functions | |
REveProjectionManager (const REveProjectionManager &)=delete | |
REveProjectionManager & | operator= (const REveProjectionManager &)=delete |
Additional Inherited Members | |
Public Types inherited from ROOT::Experimental::REveElement | |
typedef std::list< REveAunt * > | AuntList_t |
enum | EChangeBits { kCBColorSelection = (1ULL << ( 0 )) , kCBTransBBox = (1ULL << ( 1 )) , kCBObjProps = (1ULL << ( 2 )) , kCBVisibility = (1ULL << ( 3 )) , kCBElementAdded = (1ULL << ( 4 )) } |
typedef std::list< REveElement * > | List_t |
typedef std::set< REveElement * > | Set_t |
Static Public Member Functions inherited from TAttBBox | |
static TClass * | Class () |
static const char * | Class_Name () |
static constexpr Version_t | Class_Version () |
static const char * | DeclFileName () |
Protected Types inherited from ROOT::Experimental::REveElement | |
enum | ECompoundSelectionColorBits { kCSCBImplySelectAllChildren = (1ULL << ( 0 )) , kCSCBTakeMotherAsMaster = (1ULL << ( 1 )) , kCSCBApplyMainColorToAllChildren = (1ULL << ( 2 )) , kCSCBApplyMainColorToMatchingChildren = (1ULL << ( 3 )) , kCSCBApplyMainTransparencyToAllChildren = (1ULL << ( 4 )) , kCSCBApplyMainTransparencyToMatchingChildren = (1ULL << ( 5 )) } |
enum | EDestruct { kNone , kStandard , kAnnihilate } |
Static Protected Member Functions inherited from ROOT::Experimental::REveElement | |
static void | AppendMirErrorString (std::string_view err_str) |
static void | ClearMirContext () |
static void | SetMirContext (REveElement *el) |
static void | SetMirError (int error, std::string_view err_str="") |
static const std::string & | ToString (Bool_t b) |
Convert Bool_t to string - kTRUE or kFALSE. | |
Static Protected Attributes inherited from ROOT::Experimental::REveElement | |
static thread_local REveElement * | stlMirAlpha = nullptr |
static thread_local int | stlMirError = 0 |
static thread_local std::string | stlMirErrorString |
#include <ROOT/REveProjectionManager.hxx>
|
privatedelete |
REveProjectionManager::REveProjectionManager | ( | REveProjection::EPType_e | type = REveProjection::kPT_Unknown | ) |
Constructor.
Definition at line 39 of file REveProjectionManager.cxx.
|
override |
Destructor.
Destroys also dependent elements.
Definition at line 53 of file REveProjectionManager.cxx.
void REveProjectionManager::AddDependent | ( | REveElement * | el | ) |
Add el as dependent element.
Definition at line 66 of file REveProjectionManager.cxx.
|
overridevirtual |
Virtual from TAttBBox; fill bounding-box information.
The bounding-box information is kept coherent during addition of projected elements and projection parameter updates. This is called only in case the manager has not been populated at all.
Implements TAttBBox.
Definition at line 388 of file REveProjectionManager.cxx.
|
inline |
Definition at line 62 of file REveProjectionManager.hxx.
|
inline |
Definition at line 65 of file REveProjectionManager.hxx.
|
inline |
Definition at line 68 of file REveProjectionManager.hxx.
|
inline |
Definition at line 57 of file REveProjectionManager.hxx.
|
virtual |
Recursively import elements and apply projection to the newly imported objects.
If ext_list is not 0 the new element is also added to the list. This simplifies construction of complex views where projected elements are distributed into several scenes for optimization of updates and rendering.
Returns the projected replica of el. Can be 0, if el and none of its children are projectable.
Definition at line 256 of file REveProjectionManager.cxx.
|
virtual |
If el is REveProjectable add projected instance else add plain REveElementList to parent.
Call the same function on el's children.
Returns the projected replica of el. Can be 0, if el and none of its children are projectable.
Definition at line 202 of file REveProjectionManager.cxx.
|
privatedelete |
|
virtual |
Project all children recursively, update bounding-box and notify EveManger about the scenes that have been changed.
Definition at line 367 of file REveProjectionManager.cxx.
|
virtual |
Project el (via REveProjected::UpdateProjection()) and recurse through el's children.
Bounding-box is updated along the recursion.
Definition at line 344 of file REveProjectionManager.cxx.
void REveProjectionManager::RemoveDependent | ( | REveElement * | el | ) |
Remove el as dependent element.
Definition at line 74 of file REveProjectionManager.cxx.
Set projection center and rebuild projected scene.
Definition at line 155 of file REveProjectionManager.cxx.
|
inline |
Definition at line 64 of file REveProjectionManager.hxx.
|
inline |
Definition at line 67 of file REveProjectionManager.hxx.
void REveProjectionManager::SetProjection | ( | REveProjection::EPType_e | type | ) |
Set projection type and distortion.
Definition at line 93 of file REveProjectionManager.cxx.
|
protectedvirtual |
Returns true if element el should be imported.
Behaviour depends on the value of the fImportEmpty member: false - el or any of its children must be projectable (default); true - always import.
Definition at line 169 of file REveProjectionManager.cxx.
|
virtual |
Recursively import children elements of el and apply projection to the newly imported objects.
The proj_parent argument should be a projected replica of element 'el'. This allows to insert projected children of a given element when they are added after the projection has been already performed on the parent. This is called from REveElement::ProjectChild().
Returns the projected replica of el. Can be 0, if el and none of its children are projectable.
Definition at line 317 of file REveProjectionManager.cxx.
|
virtual |
Recursively import elements and apply projection to the newly imported objects.
The proj_parent argument should be a projected replica of parent of element 'el'. This allows to insert projected children of a given element when they are added after the projection has been already performed on the parent. This is called from REveElement::ProjectChild().
Returns the projected replica of el. Can be 0, if el and none of its children are projectable.
Definition at line 288 of file REveProjectionManager.cxx.
|
protectedvirtual |
Update dependent elements' bounding boxes.
Definition at line 185 of file REveProjectionManager.cxx.
|
virtual |
Updates name to have consistent information with projection.
Definition at line 82 of file REveProjectionManager.cxx.
|
protected |
Definition at line 39 of file REveProjectionManager.hxx.
|
protected |
Definition at line 40 of file REveProjectionManager.hxx.
|
protected |
Definition at line 42 of file REveProjectionManager.hxx.
Definition at line 44 of file REveProjectionManager.hxx.
|
protected |
Definition at line 38 of file REveProjectionManager.hxx.
|
protected |
Definition at line 36 of file REveProjectionManager.hxx.