Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Port Fireworks changes from 72x to 73x #6124

Merged
merged 2 commits into from Oct 31, 2014
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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");
}