/usr/include/root/TEveSelection.h is in libroot-graf3d-eve-dev 5.34.19+dfsg-1.2.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 | // @(#)root/eve:$Id$
// Author: Matevz Tadel 2007
/*************************************************************************
* Copyright (C) 1995-2007, Rene Brun and Fons Rademakers. *
* All rights reserved. *
* *
* For the licensing terms see $ROOTSYS/LICENSE. *
* For the list of contributors see $ROOTSYS/README/CREDITS. *
*************************************************************************/
#ifndef ROOT_TEveSelection
#define ROOT_TEveSelection
#include "TEveElement.h"
#include "TQObject.h"
#include <map>
class TEveSelection : public TEveElementList,
public TQObject
{
public:
enum EPickToSelect // How to convert picking events to top selected element:
{
kPS_Ignore, // ignore picking
kPS_Element, // select element (default for selection)
kPS_Projectable, // select projectable
kPS_Compound, // select compound
kPS_PableCompound, // select projectable and compound
kPS_Master // select master element (top-level compound)
};
private:
TEveSelection(const TEveSelection&); // Not implemented
TEveSelection& operator=(const TEveSelection&); // Not implemented
protected:
typedef std::map<TEveElement*, Set_t> SelMap_t;
typedef std::map<TEveElement*, Set_t>::iterator SelMap_i;
Int_t fPickToSelect;
Bool_t fActive;
Bool_t fIsMaster;
SelMap_t fImpliedSelected;
Select_foo fSelElement;
ImplySelect_foo fIncImpSelElement;
ImplySelect_foo fDecImpSelElement;
void DoElementSelect (SelMap_i entry);
void DoElementUnselect(SelMap_i entry);
void RecheckImpliedSet(SelMap_i smi);
public:
TEveSelection(const char* n="TEveSelection", const char* t="");
virtual ~TEveSelection() {}
void SetHighlightMode();
Int_t GetPickToSelect() const { return fPickToSelect; }
void SetPickToSelect(Int_t ps) { fPickToSelect = ps; }
Bool_t GetIsMaster() const { return fIsMaster; }
void SetIsMaster(Bool_t m) { fIsMaster = m; }
virtual Bool_t AcceptElement(TEveElement* el);
virtual void AddElement(TEveElement* el);
virtual void RemoveElement(TEveElement* el);
virtual void RemoveElementLocal(TEveElement* el);
virtual void RemoveElements();
virtual void RemoveElementsLocal();
virtual void RemoveImpliedSelected(TEveElement* el);
void RecheckImpliedSetForElement(TEveElement* el);
void SelectionAdded(TEveElement* el); // *SIGNAL*
void SelectionRemoved(TEveElement* el); // *SIGNAL*
void SelectionCleared(); // *SIGNAL*
void SelectionRepeated(TEveElement* el); // *SIGNAL*
// ----------------------------------------------------------------
// Interface to make selection active/non-active.
virtual void ActivateSelection();
virtual void DeactivateSelection();
// ----------------------------------------------------------------
// User input processing.
TEveElement* MapPickedToSelected(TEveElement* el);
virtual void UserPickedElement(TEveElement* el, Bool_t multi=kFALSE);
virtual void UserRePickedElement(TEveElement* el);
virtual void UserUnPickedElement(TEveElement* el);
// ----------------------------------------------------------------
ClassDef(TEveSelection, 0); // Container for selected and highlighted elements.
};
#endif
|