16 #include "TEveDigitSet.h" 17 #include "TEveBoxSet.h" 18 #include "TEveManager.h" 19 #include "TEveSelection.h" 47 const TEveSecondarySelectable::SelectionSet_t&
m_selected;
53 for (
size_t i = 0;
i <
size; ++
i)
56 TEveSecondarySelectable::SelectionSet_ci si = m_selected.find(
i);
57 if ((si != m_selected.end()) != modelInfo.
isSelected() )
59 if (si != m_selected.end())
83 TEveElement* el =
static_cast<TEveElement*
>(
set);
90 assert(!product->HasChildren());
94 m_boxSet->Reset(TEveBoxSet::kBT_FreeBox,
true, 256);
96 m_boxSet->SetUserData(sel);
97 m_boxSet->SetPickable(
true);
98 m_boxSet->SetAlwaysSecSelect(
true);
100 product->AddElement(m_boxSet);
107 assert(product->NumChildren() == 1);
108 return static_cast<TEveDigitSet*
>(*product->BeginChildren());
113 boxSet->AddBox(pnts);
128 TEveSecondarySelectable::SelectionSet_t& selected = (TEveSecondarySelectable::SelectionSet_t&)(digits->RefSelectedSet());
130 for (std::set<FWModelId>::const_iterator it = iIds.begin(); it != iIds.end(); ++it)
136 digits->SetCurrentDigit(it->index());
142 TEveSecondarySelectable::SelectionSet_ci si = selected.find(it->index());
145 if (si == selected.end())
146 selected.insert(it->index());
150 if ( si != selected.end())
155 if(!selected.empty()) {
156 if(0==digits->GetSelectedLevel()) {
157 gEve->GetSelection()->AddElement(digits);
160 if(1==digits->GetSelectedLevel()||2==digits->GetSelectedLevel()) {
161 gEve->GetSelection()->RemoveElement(digits);
165 digits->StampObjProps();
const FWDisplayProperties & displayProperties() const
FWSecondarySelectableSelector(const TEveSecondarySelectable::SelectionSet_t &s, const FWEventItem *i)
const std::string & name() const
void doUnselect() override
void unselect(int iIndex) const
const FWEventItem * item() const
~FWDigitSetProxyBuilder() override
static TString getTooltip(TEveDigitSet *set, int idx)
TEveElementList * m_elements
Char_t transparency() const
void modelChanges(const FWModelIds &, Product *) override
std::set< FWModelId > FWModelIds
~FWSecondarySelectableSelector() override
const std::string & modelInterestingValueAsString(int iIndex) const
const FWEventItem * item() const
const TEveSecondarySelectable::SelectionSet_t & m_selected
const FWEventItem * m_item
TEveBoxSet * addBoxSetToProduct(TEveElementList *product)
void select(int iIndex) const
ModelInfo modelInfo(int iIndex) const
void addBox(TEveBoxSet *set, const float *pnts, const FWDisplayProperties &dp)
TEveDigitSet * digitSet(TEveElement *product)