Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
REveSecondarySelectable.hxx
Go to the documentation of this file.
1 // @(#)root/eve7:$Id$
2 // Author: Matevz Tadel 2007
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2019, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 #ifndef ROOT7_REveSecondarySelectable
13 #define ROOT7_REveSecondarySelectable
14 
15 #include "Rtypes.h"
16 
17 #include <set>
18 
19 // XXXX class TGLSelectRecord;
20 
21 namespace ROOT {
22 namespace Experimental {
23 
24 class REveSecondarySelectable
25 {
26 private:
27  REveSecondarySelectable(const REveSecondarySelectable &); // Not implemented
28  REveSecondarySelectable &operator=(const REveSecondarySelectable &); // Not implemented
29 
30 public:
31  typedef std::set<Int_t> SelectionSet_t;
32 
33 protected:
34  Bool_t fAlwaysSecSelect{kFALSE}; // Always do secondary-selection in GL.
35 
36  SelectionSet_t fSelectedSet; // Selected indices.
37  SelectionSet_t fHighlightedSet; // Highlighted indices.
38 
39  // XXXX
40  // void ProcessGLSelectionInternal(TGLSelectRecord& rec, SelectionSet_t& sset);
41 
42 public:
43  REveSecondarySelectable() = default;
44  virtual ~REveSecondarySelectable() {}
45 
46  Bool_t GetAlwaysSecSelect() const { return fAlwaysSecSelect; }
47  void SetAlwaysSecSelect(Bool_t f) { fAlwaysSecSelect = f; }
48 
49  const SelectionSet_t &RefSelectedSet() const { return fSelectedSet; }
50  const SelectionSet_t &RefHighlightedSet() const { return fHighlightedSet; }
51 
52  // XXXX
53  // void ProcessGLSelection(TGLSelectRecord& rec);
54 };
55 
56 } // namespace Experimental
57 } // namespace ROOT
58 
59 #endif