Skip to content

Commit

Permalink
Merge pull request #6124 from alja/73_port_core
Browse files Browse the repository at this point in the history
Port Fireworks changes from 72x to 73x
  • Loading branch information
cmsbuild committed Oct 31, 2014
2 parents 71f1750 + f505ab0 commit 104baa3
Show file tree
Hide file tree
Showing 12 changed files with 108 additions and 43 deletions.
6 changes: 6 additions & 0 deletions Fireworks/Core/interface/CmsShowCommon.h
Expand Up @@ -22,6 +22,7 @@
#include <sigc++/sigc++.h>

#include "Rtypes.h"
#include "TGLUtil.h"

#include "Fireworks/Core/interface/FWConfigurableParameterizable.h"
#include "Fireworks/Core/interface/FWBoolParameter.h"
Expand Down Expand Up @@ -65,6 +66,9 @@ class CmsShowCommon : public FWConfigurableParameterizable

FWViewEnergyScale* getEnergyScale() const { return m_energyScale.get(); }

const TGLColorSet& getLightColorSet() const { return m_lightColorSet; }
const TGLColorSet& getDarkColorSet() const { return m_darkColorSet; }


UChar_t getProjTrackBreaking() const { return m_trackBreak.value(); }
bool getRnrPTBMarkers() const { return m_drawBreakPoints.value(); }
Expand All @@ -89,6 +93,8 @@ class CmsShowCommon : public FWConfigurableParameterizable
FWLongParameter m_geomTransparency3D;
FWLongParameter* m_geomColors[kFWGeomColorSize];

TGLColorSet m_lightColorSet;
TGLColorSet m_darkColorSet;

std::auto_ptr<FWViewEnergyScale> m_energyScale;

Expand Down
2 changes: 2 additions & 0 deletions Fireworks/Core/interface/FWGeoTopNode.h
Expand Up @@ -50,6 +50,8 @@ class FWGeoTopNode : public TEveElementList,
kVisSelfOff,
kVisChldOn,
kVisChldOff,
kApplyChldCol,
kApplyChldColRec,
kCamera,
kPrintMaterial,
kPrintPath,
Expand Down
4 changes: 4 additions & 0 deletions Fireworks/Core/interface/FWGeometryTableManagerBase.h
Expand Up @@ -78,6 +78,8 @@ class FWGeometryTableManagerBase : public FWTableManagerBase
bool testBitAny(UChar_t f) const { return (m_flags & f) != 0; }

void switchBit(UChar_t f) { testBit(f) ? resetBit(f) : setBit(f); }

void copyColorTransparency(const NodeInfo& x) { m_color = x.m_color; m_transparency = x.m_transparency; }
};


Expand Down Expand Up @@ -161,6 +163,8 @@ class FWGeometryTableManagerBase : public FWTableManagerBase
virtual bool getVisibilityChld(const NodeInfo& nodeInfo) const;
virtual bool getVisibility (const NodeInfo& nodeInfo) const;

virtual void applyColorTranspToDaughters(int selectedIdx, bool recurse);

bool isNodeRendered(int idx, int top_node_idx) const;

static void getNNodesTotal(TGeoNode* geoNode, int& off);
Expand Down
23 changes: 12 additions & 11 deletions Fireworks/Core/src/CmsShowCommon.cc
Expand Up @@ -55,6 +55,9 @@ CmsShowCommon::CmsShowCommon(fireworks::Context* c):
m_trackBreak.changed_.connect(boost::bind(&CmsShowCommon::setTrackBreakMode, this));
m_drawBreakPoints.changed_.connect(boost::bind(&CmsShowCommon::setDrawBreakMarkers, this));
m_gamma.changed_.connect(boost::bind(&CmsShowCommon::setGamma, this));

m_lightColorSet.StdLightBackground();
m_darkColorSet .StdDarkBackground();
}

CmsShowCommon::~CmsShowCommon()
Expand Down Expand Up @@ -131,7 +134,7 @@ CmsShowCommon::setGeomTransparency(int iTransp, bool projected)

namespace
{
void addGLColorToConfig(const char* cname, TGLColor& c, FWConfiguration& oTo)
void addGLColorToConfig(const char* cname, const TGLColor& c, FWConfiguration& oTo)
{
FWConfiguration pc;

Expand Down Expand Up @@ -170,11 +173,10 @@ CmsShowCommon::addTo(FWConfiguration& oTo) const

if (gEve)
{
TGLViewer* v = gEve->GetDefaultGLViewer();
addGLColorToConfig("SelectionColorLight", v->RefLightColorSet().Selection(1), oTo);
addGLColorToConfig("HighlightColorLight", v->RefLightColorSet().Selection(3), oTo);
addGLColorToConfig("SelectionColorDark", v->RefDarkColorSet().Selection(1), oTo);
addGLColorToConfig("HighlightColorDark", v->RefDarkColorSet().Selection(3), oTo);
addGLColorToConfig("SelectionColorLight", m_lightColorSet.Selection(1), oTo);
addGLColorToConfig("HighlightColorLight", m_lightColorSet.Selection(3), oTo);
addGLColorToConfig("SelectionColorDark", m_darkColorSet .Selection(1), oTo);
addGLColorToConfig("HighlightColorDark", m_darkColorSet .Selection(3), oTo);
}
}

Expand Down Expand Up @@ -221,10 +223,9 @@ CmsShowCommon::setFrom(const FWConfiguration& iFrom)

if (gEve)
{
TGLViewer* v = gEve->GetDefaultGLViewer();
setGLColorFromConfig(v->RefLightColorSet().Selection(1), iFrom.valueForKey("SelectionColorLight"));
setGLColorFromConfig(v->RefLightColorSet().Selection(3), iFrom.valueForKey("HighlightColorLight"));
setGLColorFromConfig(v->RefDarkColorSet().Selection(1), iFrom.valueForKey("SelectionColorDark"));
setGLColorFromConfig(v->RefDarkColorSet().Selection(3), iFrom.valueForKey("HighlightColorDark"));
setGLColorFromConfig(m_lightColorSet.Selection(1), iFrom.valueForKey("SelectionColorLight"));
setGLColorFromConfig(m_lightColorSet.Selection(3), iFrom.valueForKey("HighlightColorLight"));
setGLColorFromConfig(m_darkColorSet .Selection(1), iFrom.valueForKey("SelectionColorDark"));
setGLColorFromConfig(m_darkColorSet .Selection(3), iFrom.valueForKey("HighlightColorDark"));
}
}
11 changes: 6 additions & 5 deletions Fireworks/Core/src/CmsShowCommonPopup.cc
Expand Up @@ -288,16 +288,17 @@ CmsShowCommonPopup::colorSetChanged()

void CmsShowCommonPopup::getColorSetColors (int& hci, int& sci)
{
TGLColorSet& colorset = m_common->colorManager()->isColorSetDark() ? gEve->GetDefaultGLViewer()->RefDarkColorSet():
gEve->GetDefaultGLViewer()->RefLightColorSet();
TGLColorSet& colorset = m_common->colorManager()->isColorSetDark() ?
m_common->m_darkColorSet : m_common->m_lightColorSet;
{
TGLColor& glc = colorset.Selection(3);
hci = TColor::GetColor(glc.GetRed(), glc.GetGreen(), glc.GetBlue());
// printf("getSHcolors HIGH %d %d %d , [%d]\n", glc.GetRed(), glc.GetGreen(), glc.GetBlue(), hci);
}{
// printf("getSHcolors HIGH %d %d %d , [%d]\n", glc.GetRed(), glc.GetGreen(), glc.GetBlue(), hci);
}
{
TGLColor& glc = colorset.Selection(1);
sci = TColor::GetColor(glc.GetRed(), glc.GetGreen(), glc.GetBlue());
// printf("getSHcolors SEL %d %d %d , [%d]\n", glc.GetRed(), glc.GetGreen(), glc.GetBlue(), sci);
// printf("getSHcolors SEL %d %d %d , [%d]\n", glc.GetRed(), glc.GetGreen(), glc.GetBlue(), sci);
}
}

Expand Down
2 changes: 1 addition & 1 deletion Fireworks/Core/src/CmsShowMain.cc
Expand Up @@ -284,7 +284,7 @@ CmsShowMain::CmsShowMain(int argc, char *argv[])
// open any graphics or build dictionaries
AutoLibraryLoader::enable();

TEveManager::Create(kFALSE, "FIV");
TEveManager::Create(kFALSE, eveMode ? "FIV" : "FI");

setup(m_navigator.get(), m_context.get(), m_metadataManager.get());

Expand Down
23 changes: 14 additions & 9 deletions Fireworks/Core/src/FWEveView.cc
Expand Up @@ -386,15 +386,20 @@ FWEveView::setFrom(const FWConfiguration& iFrom)


// selection clors
UChar_t* ca = 0;
ca = gEve->GetDefaultGLViewer()->RefLightColorSet().Selection(1).Arr();
viewerGL()->RefLightColorSet().Selection(1).SetColor(ca[0], ca[1], ca[2]);
ca = gEve->GetDefaultGLViewer()->RefLightColorSet().Selection(3).Arr();
viewerGL()->RefLightColorSet().Selection(3).SetColor(ca[0], ca[1], ca[2]);
ca = gEve->GetDefaultGLViewer()->RefDarkColorSet().Selection(1).Arr();
viewerGL()->RefDarkColorSet().Selection(1).SetColor(ca[0], ca[1], ca[2]);
ca = gEve->GetDefaultGLViewer()->RefDarkColorSet().Selection(3).Arr();
viewerGL()->RefDarkColorSet().Selection(3).SetColor(ca[0], ca[1], ca[2]);
{
const TGLColorSet& lcs = context().commonPrefs()->getLightColorSet();
const TGLColorSet& dcs = context().commonPrefs()->getDarkColorSet();
const UChar_t* ca = 0;

ca = lcs.Selection(1).CArr();
viewerGL()->RefLightColorSet().Selection(1).SetColor(ca[0], ca[1], ca[2]);
ca = lcs.Selection(3).CArr();
viewerGL()->RefLightColorSet().Selection(3).SetColor(ca[0], ca[1], ca[2]);
ca = dcs.Selection(1).CArr();
viewerGL()->RefDarkColorSet().Selection(1).SetColor(ca[0], ca[1], ca[2]);
ca = dcs.Selection(3).CArr();
viewerGL()->RefDarkColorSet().Selection(3).SetColor(ca[0], ca[1], ca[2]);
}
}

//______________________________________________________________________________
Expand Down
26 changes: 16 additions & 10 deletions Fireworks/Core/src/FWFileEntry.cc
Expand Up @@ -76,17 +76,23 @@ void FWFileEntry::openFile(bool checkVersion)
}
}
}


fwLog(fwlog::kInfo) << "Checking process history. " << m_name.c_str() << " latest process \"" << dd->processName() << "\", version " << dd->releaseVersion() << std::endl;

b->SetAddress(0);
TString v = dd->releaseVersion();
if (!fireworks::acceptDataFormatsVersion(v))
{
int* di = (fireworks::supportedDataFormatsVersion());
TString msg = Form("incompatible data: Process version does not mactch major data formats version. File produced with %s. Data formats version \"CMSSW_%d_%d_%d\".\n",
dd->releaseVersion().c_str(), di[0], di[1], di[2]);
if (latestVersion) {
fwLog(fwlog::kInfo) << "Checking process history. " << m_name.c_str() << " latest process \"" << dd->processName() << "\", version " << dd->releaseVersion() << std::endl;

b->SetAddress(0);
TString v = dd->releaseVersion();
if (!fireworks::acceptDataFormatsVersion(v))
{
int* di = (fireworks::supportedDataFormatsVersion());
TString msg = Form("incompatible data: Process version does not mactch major data formats version. File produced with %s. Data formats version \"CMSSW_%d_%d_%d\".\n",
dd->releaseVersion().c_str(), di[0], di[1], di[2]);
msg += "Use --no-version-check option if you still want to view the file.\n";
throw std::runtime_error(msg.Data());
}
}
else {
TString msg = "No process history available\n";
msg += "Use --no-version-check option if you still want to view the file.\n";
throw std::runtime_error(msg.Data());
}
Expand Down
8 changes: 5 additions & 3 deletions Fireworks/Core/src/FWGeoTopNode.cc
Expand Up @@ -378,13 +378,15 @@ FWPopupMenu* FWGeoTopNode::setPopupMenu(int iX, int iY, TGLViewer* v, bool overl
FWPopupMenu* nodePopup = new FWPopupMenu();

nodePopup->AddEntry("Set As Top Node", kSetTopNode);
nodePopup->AddEntry("Set As Top Node And Reset Camera", kSetTopNodeCam);
nodePopup->AddEntry("Set As Top Node and Reset Camera", kSetTopNodeCam);
nodePopup->AddSeparator();
if (v) {
nodePopup->AddEntry("Rnr Off", kVisSelfOff);
}
nodePopup->AddEntry("Rnr Off For All Children", kVisChldOff);
nodePopup->AddEntry("Rnr On For All Children", kVisChldOn);
nodePopup->AddEntry("Turn Render On For Children", kVisChldOn);
nodePopup->AddEntry("Turn Render Off For Children", kVisChldOff);
nodePopup->AddEntry("Apply Color To Children", kApplyChldCol);
nodePopup->AddEntry("Apply Color Recursively", kApplyChldColRec);
nodePopup->AddSeparator();

if (overlap)
Expand Down
30 changes: 29 additions & 1 deletion Fireworks/Core/src/FWGeometryTableManagerBase.cc
Expand Up @@ -323,7 +323,8 @@ void FWGeometryTableManagerBase::setVisibilityChld(NodeInfo& data, bool x)
{
data.setBitVal(kVisNodeChld, x);
}
//______________________________________________________________________________

//------------------------------------------------------------------------------

void FWGeometryTableManagerBase::setDaughtersSelfVisibility(int selectedIdx, bool v)
{
Expand All @@ -349,11 +350,38 @@ bool FWGeometryTableManagerBase::getVisibility(const NodeInfo& data) const
return data.testBit(kVisNodeSelf);
}

//------------------------------------------------------------------------------

bool FWGeometryTableManagerBase::getVisibilityChld(const NodeInfo& data) const
{
return data.testBit(kVisNodeChld);
}

//------------------------------------------------------------------------------

void FWGeometryTableManagerBase::applyColorTranspToDaughters(int selectedIdx, bool recurse)
{
NodeInfo &nInfo = m_entries[selectedIdx];
TGeoNode *parentNode = nInfo.m_node;
int nD = parentNode->GetNdaughters();
int dOff = 0;
for (int n = 0; n != nD; ++n)
{
int idx = selectedIdx + 1 + n + dOff;
NodeInfo& data = m_entries[idx];

data.copyColorTransparency(nInfo);

if (recurse)
{
applyColorTranspToDaughters(idx, recurse);
}

getNNodesTotal(parentNode->GetDaughter(n), dOff);
}
}

//------------------------------------------------------------------------------

bool FWGeometryTableManagerBase::isNodeRendered(int idx, int topNodeIdx) const
{
Expand Down
14 changes: 12 additions & 2 deletions Fireworks/Core/src/FWGeometryTableViewBase.cc
Expand Up @@ -522,10 +522,20 @@ void FWGeometryTableViewBase::chosenItem(int menuIdx)
break;

case FWGeoTopNode::kVisChldOn:
getTableManager()->setDaughtersSelfVisibility(selectedIdx, true);
getTableManager()->setDaughtersSelfVisibility(selectedIdx, true);
refreshTable3D();
break;


case FWGeoTopNode::kApplyChldCol:
getTableManager()->applyColorTranspToDaughters(selectedIdx, false);
refreshTable3D();
break;

case FWGeoTopNode::kApplyChldColRec:
getTableManager()->applyColorTranspToDaughters(selectedIdx, true);
refreshTable3D();
break;

case FWGeoTopNode::kPrintMaterial:
gv->InspectMaterial();
break;
Expand Down
2 changes: 1 addition & 1 deletion Fireworks/FWInterface/src/FWFFHelper.cc
Expand Up @@ -76,5 +76,5 @@ FWFFHelper::FWFFHelper(const edm::ParameterSet &ps, const edm::ActivityRegistry
}
#endif

TEveManager::Create(kFALSE, "FIV");
TEveManager::Create(kFALSE, "FI");
}

0 comments on commit 104baa3

Please sign in to comment.