Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-01-18 10:10:40

0001 // @(#)root/eve7:$Id$
0002 // Author: Matevz Tadel 2007
0003 
0004 /*************************************************************************
0005  * Copyright (C) 1995-2019, Rene Brun and Fons Rademakers.               *
0006  * All rights reserved.                                                  *
0007  *                                                                       *
0008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0010  *************************************************************************/
0011 
0012 #ifndef ROOT7_REveSecondarySelectable
0013 #define ROOT7_REveSecondarySelectable
0014 
0015 #include "Rtypes.h"
0016 
0017 #include <set>
0018 
0019 // XXXX class TGLSelectRecord;
0020 
0021 namespace ROOT {
0022 namespace Experimental {
0023 
0024 class REveSecondarySelectable
0025 {
0026 private:
0027    REveSecondarySelectable(const REveSecondarySelectable &) = delete;
0028    REveSecondarySelectable &operator=(const REveSecondarySelectable &) = delete;
0029 
0030 public:
0031    typedef std::set<Int_t>                SelectionSet_t;
0032 
0033 protected:
0034    Bool_t fAlwaysSecSelect{kFALSE}; // Always do secondary-selection in GL.
0035 
0036    SelectionSet_t fSelectedSet;    // Selected indices.
0037    SelectionSet_t fHighlightedSet; // Highlighted indices.
0038 
0039    // XXXX
0040    // void ProcessGLSelectionInternal(TGLSelectRecord& rec, SelectionSet_t& sset);
0041 
0042 public:
0043    REveSecondarySelectable() = default;
0044    virtual ~REveSecondarySelectable() {}
0045 
0046    Bool_t GetAlwaysSecSelect()   const { return fAlwaysSecSelect; }
0047    void   SetAlwaysSecSelect(Bool_t f) { fAlwaysSecSelect = f; }
0048 
0049    SelectionSet_t &RefSelectedSet()    { return fSelectedSet; }
0050    SelectionSet_t &RefHighlightedSet() { return fHighlightedSet; }
0051 
0052    // XXXX
0053    // void   ProcessGLSelection(TGLSelectRecord& rec);
0054 };
0055 
0056 } // namespace Experimental
0057 } // namespace ROOT
0058 
0059 #endif