#include <string>
#include <map>
#include "TGDoubleSlider.h"
#include "TGColorSelect.h"
#include "TGNumberEntry.h"
#include "TVirtualPad.h"
#include "TGListBox.h"
#include "TGSlider.h"
#include "TGButton.h"
#include "TGLabel.h"
#include "TString.h"
#include "TColor.h"
#include "TAxis.h"
#include "TGL5DDataSetEditor.h"
#include "TGL5DPainter.h"
#include "TGLUtil.h"
#include "TGL5D.h"
namespace {
typedef TGL5DPainter::SurfIter_t SurfIter_t;
typedef std::map<Int_t, SurfIter_t> IterMap_t;
typedef IterMap_t::iterator IterMapIter_t;
}
class TGL5DDataSetEditor::TGL5DEditorPrivate {
public:
IterMap_t fIterators;
Bool_t IsValid(Int_t index)const
{
return fIterators.find(index) != fIterators.end();
}
};
ClassImp(TGL5DDataSetEditor);
TGL5DDataSetEditor::TGL5DDataSetEditor(const TGWindow *p, Int_t width, Int_t height,
UInt_t options, Pixel_t back) :
TGedFrame(p, width, height, options | kVerticalFrame, back),
fNCellsXEntry(0),
fNCellsYEntry(0),
fNCellsZEntry(0),
fXRangeSlider(0),
fXRangeSliderMin(0),
fXRangeSliderMax(0),
fYRangeSlider(0),
fYRangeSliderMin(0),
fYRangeSliderMax(0),
fZRangeSlider(0),
fZRangeSliderMin(0),
fZRangeSliderMax(0),
fCancelGridBtn(0),
fOkGridBtn(0),
fV4MinEntry(0),
fV4MaxEntry(0),
fHighlightCheck(0),
fIsoList(0),
fVisibleCheck(0),
fShowCloud(0),
fSurfColorSelect(0),
fSurfAlphaSlider(0),
fSurfRemoveBtn(0),
fNewIsoEntry(0),
fAddNewIsoBtn(0),
fShowBoxCut(),
fNumberOfPlanes(0),
fAlpha(0),
fLogScale(0),
fSlideRange(0),
fApplyAlpha(0),
fApplyPlanes(0),
fDataSet(0),
fPainter(0),
fHidden(0),
fSelectedSurface(-1)
{
CreateStyleTab();
CreateGridTab();
CreateIsoTab();
fHidden = new TGL5DEditorPrivate;
}
TGL5DDataSetEditor::~TGL5DDataSetEditor()
{
delete fHidden;
}
void TGL5DDataSetEditor::ConnectSignals2Slots()
{
fShowBoxCut->Connect("Toggled(Bool_t)", "TGL5DDataSetEditor", this, "BoxCutToggled()");
fAlpha->Connect("ValueChanged(Long_t)", "TGL5DDataSetEditor", this, "AlphaChanged()");
fAlpha->Connect("ValueSet(Long_t)", "TGL5DDataSetEditor", this, "AlphaChanged()");
fNumberOfPlanes->Connect("ValueChanged(Long_t)", "TGL5DDataSetEditor", this, "NContoursChanged()");
fNumberOfPlanes->Connect("ValueSet(Long_t)", "TGL5DDataSetEditor", this, "NContoursChanged()");
fApplyPlanes->Connect("Clicked()", "TGL5DDataSetEditor", this, "ApplyPlanes()");
fApplyAlpha->Connect("Clicked()", "TGL5DDataSetEditor", this, "ApplyAlpha()");
fNCellsXEntry->Connect("ValueSet(Long_t)", "TGL5DDataSetEditor", this, "GridParametersChanged()");
fNCellsXEntry->Connect("ValueChanged(Long_t)", "TGL5DDataSetEditor", this, "GridParametersChanged()");
fNCellsYEntry->Connect("ValueSet(Long_t)", "TGL5DDataSetEditor", this, "GridParametersChanged()");
fNCellsZEntry->Connect("ValueSet(Long_t)", "TGL5DDataSetEditor", this, "GridParametersChanged()");
fXRangeSlider->Connect("PositionChanged()", "TGL5DDataSetEditor", this, "XSliderChanged()");
fXRangeSliderMin->Connect("ReturnPressed()", "TGL5DDataSetEditor", this, "XSliderSetMin()");
fXRangeSliderMax->Connect("ReturnPressed()", "TGL5DDataSetEditor", this, "XSliderSetMax()");
fYRangeSlider->Connect("PositionChanged()", "TGL5DDataSetEditor", this, "YSliderChanged()");
fYRangeSliderMin->Connect("ReturnPressed()", "TGL5DDataSetEditor", this, "YSliderSetMin()");
fYRangeSliderMax->Connect("ReturnPressed()", "TGL5DDataSetEditor", this, "YSliderSetMax()");
fZRangeSlider->Connect("PositionChanged()", "TGL5DDataSetEditor", this, "ZSliderChanged()");
fZRangeSliderMin->Connect("ReturnPressed()", "TGL5DDataSetEditor", this, "ZSliderSetMin()");
fZRangeSliderMax->Connect("ReturnPressed()", "TGL5DDataSetEditor", this, "ZSliderSetMax()");
fCancelGridBtn->Connect("Pressed()", "TGL5DDataSetEditor", this, "RollbackGridParameters()");
fOkGridBtn->Connect("Pressed()", "TGL5DDataSetEditor", this, "ApplyGridParameters()");
fIsoList->Connect("Selected(Int_t)", "TGL5DDataSetEditor", this, "SurfaceSelected(Int_t)");
fIsoList->GetContainer()->RemoveInput(kKeyPressMask);
fHighlightCheck->Connect("Clicked()", "TGL5DDataSetEditor", this, "HighlightClicked()");
fVisibleCheck->Connect("Clicked()", "TGL5DDataSetEditor", this, "VisibleClicked()");
fSurfColorSelect->Connect("ColorSelected(Pixel_t)", "TGL5DDataSetEditor", this, "ColorChanged(Pixel_t)");
fSurfAlphaSlider->Connect("PositionChanged(Int_t)", "TGL5DDataSetEditor", this, "AlphaChanged(Int_t)");
fSurfRemoveBtn->Connect("Pressed()", "TGL5DDataSetEditor", this, "RemoveSurface()");
fAddNewIsoBtn->Connect("Pressed()", "TGL5DDataSetEditor", this, "AddNewSurface()");
fInit = kFALSE;
}
namespace
{
void make_slider_range_entries(TGCompositeFrame *parent, TGNumberEntryField *&minEntry,
const TString &minToolTip, TGNumberEntryField *&maxEntry,
const TString &maxToolTip)
{
TGCompositeFrame *frame = new TGCompositeFrame(parent, 80, 20, kHorizontalFrame);
minEntry = new TGNumberEntryField(frame, -1, 0., TGNumberFormat::kNESRealThree,
TGNumberFormat::kNEAAnyNumber);
minEntry->SetToolTipText(minToolTip.Data());
minEntry->Resize(57, 20);
frame->AddFrame(minEntry, new TGLayoutHints(kLHintsLeft, 0, 0, 0, 0));
maxEntry = new TGNumberEntryField(frame, -1, 0., TGNumberFormat::kNESRealThree,
TGNumberFormat::kNEAAnyNumber);
maxEntry->SetToolTipText(maxToolTip.Data());
maxEntry->Resize(57, 20);
frame->AddFrame(maxEntry, new TGLayoutHints(kLHintsLeft, 0, 0, 0, 0));
parent->AddFrame(frame, new TGLayoutHints(kLHintsTop, 5, 0, 0, 0));
}
TGHorizontalFrame *make_labeled_hframe(TGCompositeFrame *p, const char *text)
{
TGHorizontalFrame *frame = new TGHorizontalFrame(p);
TGLabel *label = new TGLabel(frame, text);
frame->AddFrame(label, new TGLayoutHints(kLHintsLeft | kLHintsBottom, 0, 0, 0));
p->AddFrame(frame, new TGLayoutHints(kLHintsLeft, 0, 0, 1, 0));
return frame;
}
TGDoubleHSlider *make_double_hslider(TGCompositeFrame *parent, const char *labelName)
{
TGCompositeFrame *sliderFrame = new TGCompositeFrame(parent, 80, 20, kHorizontalFrame);
TGLabel *sliderLabel = new TGLabel(sliderFrame, labelName);
sliderFrame->AddFrame(sliderLabel,
new TGLayoutHints(kLHintsCenterY | kLHintsLeft, 2, 2, 2, 2));
TGDoubleHSlider *slider = new TGDoubleHSlider(sliderFrame, 1, 2);
slider->Resize(110, 20);
sliderFrame->AddFrame(slider, new TGLayoutHints(kLHintsLeft));
parent->AddFrame(sliderFrame, new TGLayoutHints(kLHintsTop, 2, 2, 2, 2));
return slider;
}
}
void TGL5DDataSetEditor::CreateStyleTab()
{
TGHorizontalFrame *f;
fShowBoxCut = new TGCheckButton(this, "Show Box Cut");
fShowBoxCut->SetToolTipText("Box cut. When attached to a plot, cuts away a part of it");
AddFrame(fShowBoxCut, new TGLayoutHints(kLHintsLeft, 5, 2, 2, 2));
MakeTitle("isosurfaces");
f = new TGHorizontalFrame(this, 200, 50);
f->AddFrame(new TGLabel(f, "Number:"), new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 5, 2, 2, 2));
fNumberOfPlanes = new TGNumberEntry(f, 0, 3, -1, TGNumberFormat::kNESInteger, TGNumberFormat::kNEANonNegative,
TGNumberFormat::kNELLimitMinMax, 1, 200);
fNumberOfPlanes->GetNumberEntry()->SetToolTipText("Set number of isosurfaces");
f->AddFrame(fNumberOfPlanes, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 2, 2, 2, 2));
fApplyPlanes = new TGTextButton(f, " Apply ");
f->AddFrame(fApplyPlanes, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 2, 2, 2));
AddFrame(f, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 0, 0, 0, 0));
MakeTitle("Alpha");
f = new TGHorizontalFrame(this, 200, 50);
f->AddFrame(new TGLabel(f, "Value:"), new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 5, 2, 2, 2));
fAlpha = new TGNumberEntry(f, 0, 1, -1, TGNumberFormat::kNESRealThree, TGNumberFormat::kNEANonNegative,
TGNumberFormat::kNELLimitMinMax, 0.1, 0.5);
fAlpha->GetNumberEntry()->SetToolTipText("Value of alpha parameter");
f->AddFrame(fAlpha, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 2, 2, 2, 2));
fApplyAlpha = new TGTextButton(f, " Apply ");
f->AddFrame(fApplyAlpha, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 2, 2, 2));
AddFrame(f, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 0, 0, 0, 0));
fApplyAlpha->SetState(kButtonDisabled);
fLogScale = new TGCheckButton(this, "Log Scale");
AddFrame(fLogScale, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 2, 2, 2));
AddFrame(new TGLabel(this, "Slide Range:"), new TGLayoutHints(kLHintsLeft, 5, 2, 2, 2));
fSlideRange = new TGDoubleHSlider(this, 200, kDoubleScaleDownRight);
AddFrame(fSlideRange, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 5, 2, 2, 2));
}
void TGL5DDataSetEditor::CreateGridTab()
{
TGCompositeFrame *tabFrame = CreateEditorTabSubFrame("Grid");
TGGroupFrame *gridGroup = new TGGroupFrame(tabFrame, "Grid parameters", kVerticalFrame);
const UInt_t min = 10, max = 300;
const UInt_t nDigits = 4;
TGHorizontalFrame *frame = make_labeled_hframe(gridGroup, "Cells along X:");
fNCellsXEntry = new TGNumberEntry(frame, 0., nDigits, -1, TGNumberFormat::kNESInteger,
TGNumberFormat::kNEAPositive, TGNumberFormat::kNELLimitMinMax,
min, max);
frame->AddFrame(fNCellsXEntry,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX | kLHintsBottom, 2, 0, 0));
frame = make_labeled_hframe(gridGroup, "Cells along Y:");
fNCellsYEntry = new TGNumberEntry(frame, 0., nDigits, -1, TGNumberFormat::kNESInteger,
TGNumberFormat::kNEAPositive, TGNumberFormat::kNELLimitMinMax,
min, max);
frame->AddFrame(fNCellsYEntry,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX | kLHintsBottom, 2, 0, 0));
frame = make_labeled_hframe(gridGroup, "Cells along Z:");
fNCellsZEntry = new TGNumberEntry(frame, 0., nDigits, -1, TGNumberFormat::kNESInteger,
TGNumberFormat::kNEAPositive, TGNumberFormat::kNELLimitMinMax,
min, max);
frame->AddFrame(fNCellsZEntry,
new TGLayoutHints(kLHintsLeft | kLHintsExpandX | kLHintsBottom, 2, 0, 0));
tabFrame->AddFrame(gridGroup, new TGLayoutHints(kLHintsTop | kLHintsLeft | kLHintsExpandX, 2, 3, 3, 0));
TGGroupFrame *rangeGroup = new TGGroupFrame(tabFrame, "Ranges", kVerticalFrame);
fXRangeSlider = make_double_hslider(rangeGroup, "X:");
make_slider_range_entries(rangeGroup, fXRangeSliderMin, "Set the minimum value of the x-axis",
fXRangeSliderMax, "Set the maximum value of the x-axis");
fYRangeSlider = make_double_hslider(rangeGroup, "Y:");
make_slider_range_entries(rangeGroup, fYRangeSliderMin, "Set the minimum value of the y-axis",
fYRangeSliderMax, "Set the maximum value of the y-axis");
fZRangeSlider = make_double_hslider(rangeGroup, "Z:");
make_slider_range_entries(rangeGroup, fZRangeSliderMin, "Set the minimum value of the z-axis",
fZRangeSliderMax, "Set the maximum value of the z-axis");
tabFrame->AddFrame(rangeGroup, new TGLayoutHints(kLHintsTop | kLHintsCenterX | kLHintsExpandX, 2, 3, 0, 0));
TGHorizontalFrame *horizontalFrame = new TGHorizontalFrame(tabFrame, 200, 50);
fCancelGridBtn = new TGTextButton(horizontalFrame, " Cancel ");
horizontalFrame->AddFrame(fCancelGridBtn, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 2, 2, 2));
fOkGridBtn = new TGTextButton(horizontalFrame, " Apply ");
horizontalFrame->AddFrame(fOkGridBtn, new TGLayoutHints(kLHintsLeft | kLHintsCenterY, 2, 2, 2, 2));
tabFrame->AddFrame(horizontalFrame, new TGLayoutHints(kLHintsTop | kLHintsCenterX, 2, 3, 0, 0));
}
void TGL5DDataSetEditor::CreateIsoTab()
{
TGCompositeFrame *tabFrame = CreateEditorTabSubFrame("Surfaces");
TGGroupFrame *v4Group = new TGGroupFrame(tabFrame, "V4 Range", kVerticalFrame);
make_slider_range_entries(v4Group, fV4MinEntry, "Minimum value of V4",
fV4MaxEntry, "Maximum value of V4");
tabFrame->AddFrame(v4Group, new TGLayoutHints(kLHintsTop | kLHintsCenterX | kLHintsExpandX, 2, 3, 0, 0));
fV4MinEntry->SetState(kFALSE);
fV4MaxEntry->SetState(kFALSE);
TGGroupFrame *isoGroup = new TGGroupFrame(tabFrame, "Iso-surfaces", kVerticalFrame);
fHighlightCheck = new TGCheckButton(isoGroup, "Highlight selected");
fHighlightCheck->SetToolTipText("Highlight selected surface");
fHighlightCheck->SetState(kButtonDown);
isoGroup->AddFrame(fHighlightCheck, new TGLayoutHints(kLHintsLeft, 4, 1, 1, 1));
TGHorizontalFrame *hf = new TGHorizontalFrame(isoGroup);
fIsoList = new TGListBox(hf);
fIsoList->Resize(120, 120);
hf->AddFrame(fIsoList, new TGLayoutHints(kLHintsTop | kLHintsLeft, 5, 5, 5, 5));
isoGroup->AddFrame(hf, new TGLayoutHints(kLHintsLeft, 2, 1, 1, 1));
fVisibleCheck = new TGCheckButton(isoGroup, "Visible");
fVisibleCheck->SetToolTipText("Show/hide surface");
isoGroup->AddFrame(fVisibleCheck, new TGLayoutHints(kLHintsLeft, 4, 1, 1, 1));
fShowCloud = new TGCheckButton(isoGroup, "Show cloud");
fShowCloud->SetToolTipText("Show/hide cloud for surface");
isoGroup->AddFrame(fShowCloud, new TGLayoutHints(kLHintsLeft, 4, 1, 1, 1));
hf = new TGHorizontalFrame(isoGroup);
TGLabel* lab = new TGLabel(hf, "Color");
hf->AddFrame(lab, new TGLayoutHints(kLHintsLeft|kLHintsBottom, 1, 4, 8, 3));
fSurfColorSelect = new TGColorSelect(hf, 0, -1);
hf->AddFrame(fSurfColorSelect, new TGLayoutHints(kLHintsLeft, 1, 1, 8, 1));
isoGroup->AddFrame(hf, new TGLayoutHints(kLHintsLeft, 2, 1, 1, 1));
TGHorizontalFrame *frame = make_labeled_hframe(isoGroup, "Opacity: ");
fSurfAlphaSlider = new TGHSlider(frame, 80);
fSurfAlphaSlider->SetRange(0, 100);
frame->AddFrame(fSurfAlphaSlider, new TGLayoutHints(kLHintsLeft));
fSurfRemoveBtn = new TGTextButton(isoGroup, " Remove surface ");
isoGroup->AddFrame(fSurfRemoveBtn, new TGLayoutHints(kLHintsLeft, 2, 2, 2, 2));
tabFrame->AddFrame(isoGroup, new TGLayoutHints(kLHintsTop | kLHintsCenterX | kLHintsExpandX, 2, 3, 0, 0));
TGGroupFrame *newGroup = new TGGroupFrame(tabFrame, "New iso-surface", kVerticalFrame);
hf = new TGHorizontalFrame(newGroup);
fNewIsoEntry = new TGNumberEntry(hf, 0., 12, -1, TGNumberFormat::kNESReal);
hf->AddFrame(fNewIsoEntry, new TGLayoutHints(kLHintsLeft | kLHintsExpandX, 2, 2, 2, 2));
fNewIsoEntry->Resize(60, 20);
fAddNewIsoBtn = new TGTextButton(hf, " Add ");
hf->AddFrame(fAddNewIsoBtn, new TGLayoutHints(kLHintsLeft | kLHintsCenterY | kLHintsExpandX, 2, 2, 2, 2));
newGroup->AddFrame(hf, new TGLayoutHints(kLHintsLeft, 0, 0, 0, 0));
tabFrame->AddFrame(newGroup, new TGLayoutHints(kLHintsTop | kLHintsExpandX, 2, 3, 0, 0));
}
void TGL5DDataSetEditor::SetModel(TObject* obj)
{
fPainter = 0;
Bool_t needUpdate = fSelectedSurface != -1;
if ((fDataSet = dynamic_cast<TGL5DDataSet *>(obj))) {
fPainter = fDataSet->GetRealPainter();
SetStyleTabWidgets();
SetGridTabWidgets();
SetIsoTabWidgets();
DisableGridTabButtons();
DisableSurfaceControls();
if (fInit)
ConnectSignals2Slots();
}
if (needUpdate && gPad)
gPad->Update();
}
namespace {
void set_grid_range_widgets(const TAxis *a, const Rgl::Range_t r, TGDoubleHSlider *slider,
TGNumberEntryField *eMin, TGNumberEntryField *eMax)
{
slider->SetRange(r.first, r.second);
slider->SetPosition(a->GetBinLowEdge(1), a->GetBinUpEdge(a->GetLast()));
eMin->SetNumber(a->GetBinLowEdge(1));
eMin->SetLimits(TGNumberFormat::kNELLimitMinMax, r.first, r.second);
eMax->SetNumber(a->GetBinUpEdge(a->GetLast()));
eMax->SetLimits(TGNumberFormat::kNELLimitMinMax, r.first, r.second);
}
}
void TGL5DDataSetEditor::SetStyleTabWidgets()
{
fShowBoxCut->SetState(fPainter->IsBoxCutShown() ? kButtonDown : kButtonUp);
fNumberOfPlanes->SetNumber(fPainter->GetNContours());
fAlpha->SetNumber(fPainter->GetAlpha());
}
void TGL5DDataSetEditor::SetGridTabWidgets()
{
const TAxis *xA = fDataSet->GetXAxis();
const TAxis *yA = fDataSet->GetYAxis();
const TAxis *zA = fDataSet->GetZAxis();
const Rgl::Range_t &xR = fDataSet->GetXRange();
const Rgl::Range_t &yR = fDataSet->GetYRange();
const Rgl::Range_t &zR = fDataSet->GetZRange();
fNCellsXEntry->SetIntNumber(xA->GetNbins());
fNCellsYEntry->SetIntNumber(yA->GetNbins());
fNCellsZEntry->SetIntNumber(zA->GetNbins());
set_grid_range_widgets(xA, xR, fXRangeSlider, fXRangeSliderMin, fXRangeSliderMax);
set_grid_range_widgets(yA, yR, fYRangeSlider, fYRangeSliderMin, fYRangeSliderMax);
set_grid_range_widgets(zA, zR, fZRangeSlider, fZRangeSliderMin, fZRangeSliderMax);
}
void TGL5DDataSetEditor::SetIsoTabWidgets()
{
const Rgl::Range_t &v4R = fDataSet->GetV4Range();
fV4MinEntry->SetNumber(v4R.first);
fV4MaxEntry->SetNumber(v4R.second);
fIsoList->RemoveAll();
fHidden->fIterators.clear();
SurfIter_t curr = fPainter->SurfacesBegin();
for (Int_t ind = 0; curr != fPainter->SurfacesEnd(); ++curr, ++ind) {
TString entry(TString::Format("Level: %f", curr->f4D));
fIsoList->AddEntry(entry.Data(), ind);
fIsoList->Layout();
curr->fHighlight = kFALSE;
fHidden->fIterators[ind] = curr;
}
fNewIsoEntry->SetLimits(TGNumberFormat::kNELLimitMinMax, v4R.first, v4R.second);
fNewIsoEntry->SetNumber(v4R.first);
fSelectedSurface = -1;
}
void TGL5DDataSetEditor::GridParametersChanged()
{
EnableGridTabButtons();
}
void TGL5DDataSetEditor::EnableGridTabButtons()
{
fCancelGridBtn->SetState(kButtonUp);
fOkGridBtn->SetState(kButtonUp);
}
void TGL5DDataSetEditor::DisableGridTabButtons()
{
fCancelGridBtn->SetState(kButtonDisabled);
fOkGridBtn->SetState(kButtonDisabled);
}
void TGL5DDataSetEditor::EnableSurfaceControls()
{
fVisibleCheck->SetState(kButtonUp);
fSurfRemoveBtn->SetState(kButtonUp);
}
void TGL5DDataSetEditor::DisableSurfaceControls()
{
fVisibleCheck->SetState(kButtonDisabled);
fShowCloud->SetState(kButtonDisabled);
fSurfRemoveBtn->SetState(kButtonDisabled);
}
void TGL5DDataSetEditor::XSliderChanged()
{
fXRangeSliderMin->SetNumber(fXRangeSlider->GetMinPosition());
fXRangeSliderMax->SetNumber(fXRangeSlider->GetMaxPosition());
EnableGridTabButtons();
}
void TGL5DDataSetEditor::YSliderChanged()
{
fYRangeSliderMin->SetNumber(fYRangeSlider->GetMinPosition());
fYRangeSliderMax->SetNumber(fYRangeSlider->GetMaxPosition());
EnableGridTabButtons();
}
void TGL5DDataSetEditor::ZSliderChanged()
{
fZRangeSliderMin->SetNumber(fZRangeSlider->GetMinPosition());
fZRangeSliderMax->SetNumber(fZRangeSlider->GetMaxPosition());
EnableGridTabButtons();
}
void TGL5DDataSetEditor::XSliderSetMin()
{
if (fXRangeSliderMin->GetNumber() < fXRangeSliderMax->GetNumber()) {
fXRangeSlider->SetPosition(fXRangeSliderMin->GetNumber(),
fXRangeSliderMax->GetNumber());
EnableGridTabButtons();
} else
fXRangeSliderMin->SetNumber(fXRangeSlider->GetMinPosition());
}
void TGL5DDataSetEditor::XSliderSetMax()
{
if (fXRangeSliderMin->GetNumber() < fXRangeSliderMax->GetNumber()) {
fXRangeSlider->SetPosition(fXRangeSliderMin->GetNumber(),
fXRangeSliderMax->GetNumber());
EnableGridTabButtons();
} else
fXRangeSliderMax->SetNumber(fXRangeSlider->GetMaxPosition());
}
void TGL5DDataSetEditor::YSliderSetMin()
{
if (fYRangeSliderMin->GetNumber() < fYRangeSliderMax->GetNumber()) {
fYRangeSlider->SetPosition(fYRangeSliderMin->GetNumber(),
fYRangeSliderMax->GetNumber());
EnableGridTabButtons();
} else
fYRangeSliderMin->SetNumber(fYRangeSlider->GetMinPosition());
}
void TGL5DDataSetEditor::YSliderSetMax()
{
if (fYRangeSliderMin->GetNumber() < fYRangeSliderMax->GetNumber()) {
fYRangeSlider->SetPosition(fYRangeSliderMin->GetNumber(),
fYRangeSliderMax->GetNumber());
EnableGridTabButtons();
} else
fYRangeSliderMax->SetNumber(fYRangeSlider->GetMaxPosition());
}
void TGL5DDataSetEditor::ZSliderSetMin()
{
if (fZRangeSliderMin->GetNumber() < fZRangeSliderMax->GetNumber()) {
fZRangeSlider->SetPosition(fZRangeSliderMin->GetNumber(),
fZRangeSliderMax->GetNumber());
EnableGridTabButtons();
} else
fZRangeSliderMin->SetNumber(fZRangeSlider->GetMinPosition());
}
void TGL5DDataSetEditor::ZSliderSetMax()
{
if (fZRangeSliderMin->GetNumber() < fZRangeSliderMax->GetNumber()) {
fZRangeSlider->SetPosition(fZRangeSliderMin->GetNumber(),
fZRangeSliderMax->GetNumber());
EnableGridTabButtons();
} else
fYRangeSliderMax->SetNumber(fZRangeSlider->GetMaxPosition());
}
void TGL5DDataSetEditor::RollbackGridParameters()
{
SetGridTabWidgets();
DisableGridTabButtons();
}
void TGL5DDataSetEditor::ApplyGridParameters()
{
DisableGridTabButtons();
fDataSet->GetXAxis()->Set(fNCellsXEntry->GetIntNumber(),
fXRangeSlider->GetMinPosition(),
fXRangeSlider->GetMaxPosition());
fDataSet->GetYAxis()->Set(fNCellsYEntry->GetIntNumber(),
fYRangeSlider->GetMinPosition(),
fYRangeSlider->GetMaxPosition());
fDataSet->GetZAxis()->Set(fNCellsZEntry->GetIntNumber(),
fZRangeSlider->GetMinPosition(),
fZRangeSlider->GetMaxPosition());
fPainter->ResetGeometryRanges();
if (gPad)
gPad->Update();
}
void TGL5DDataSetEditor::HighlightClicked()
{
if (fSelectedSurface == -1)
return;
fHidden->fIterators[fSelectedSurface]->fHighlight = fHighlightCheck->IsOn();
if (gPad)
gPad->Update();
}
void TGL5DDataSetEditor::SurfaceSelected(Int_t id)
{
if (id >= 0) {
if (!fHidden->IsValid(id)) {
Error("SurfaceSelected", "Got wrong index %d", id);
return;
}
if (fSelectedSurface != -1) {
fHidden->fIterators[fSelectedSurface]->fHighlight = kFALSE;
}
EnableSurfaceControls();
SurfIter_t surf = fHidden->fIterators[fSelectedSurface = id];
surf->fHighlight = fHighlightCheck->IsOn();
fVisibleCheck->SetOn(!surf->fHide);
fSurfColorSelect->SetColor(TColor::Number2Pixel(surf->fColor), kFALSE);
fSurfAlphaSlider->SetPosition(surf->fAlpha);
if (gPad)
gPad->Update();
} else if (fSelectedSurface != -1) {
fHidden->fIterators[fSelectedSurface]->fHighlight = kFALSE;
fSelectedSurface = -1;
DisableSurfaceControls();
if (gPad)
gPad->Update();
}
}
void TGL5DDataSetEditor::VisibleClicked()
{
if (fSelectedSurface != -1) {
fHidden->fIterators[fSelectedSurface]->fHide = !(fVisibleCheck->IsOn());
if (gPad)
gPad->Update();
}
}
void TGL5DDataSetEditor::ColorChanged(Pixel_t pixel)
{
if (fSelectedSurface != -1) {
fHidden->fIterators[fSelectedSurface]->fColor = Color_t(TColor::GetColor(pixel));
if (gPad)
gPad->Update();
}
}
void TGL5DDataSetEditor::AlphaChanged(Int_t alpha)
{
if (fSelectedSurface != -1) {
fHidden->fIterators[fSelectedSurface]->fAlpha = alpha;
if (gPad)
gPad->Update();
}
}
void TGL5DDataSetEditor::RemoveSurface()
{
if (fSelectedSurface != -1) {
SurfIter_t it = fHidden->fIterators[fSelectedSurface];
fHidden->fIterators.erase(fSelectedSurface);
fIsoList->RemoveEntry(fSelectedSurface);
fIsoList->Layout();
fPainter->RemoveSurface(it);
DisableSurfaceControls();
fSelectedSurface = -1;
if (gPad)
gPad->Update();
}
}
void TGL5DDataSetEditor::AddNewSurface()
{
fPainter->AddSurface(fNewIsoEntry->GetNumber());
SetModel(fDataSet);
if (gPad)
gPad->Update();
}
void TGL5DDataSetEditor::ApplyAlpha()
{
if (fPainter) {
fApplyAlpha->SetState(kButtonDisabled);
fPainter->SetAlpha(fAlpha->GetNumber());
fAlpha->SetNumber(fPainter->GetAlpha());
SetModel(fDataSet);
}
if (gPad)
gPad->Update();
}
void TGL5DDataSetEditor::ApplyPlanes()
{
if (fPainter) {
fPainter->SetNContours((Int_t)fNumberOfPlanes->GetIntNumber());
fNumberOfPlanes->SetIntNumber(fPainter->GetNContours());
SetModel(fDataSet);
}
if (gPad)
gPad->Update();
}
void TGL5DDataSetEditor::BoxCutToggled()
{
if (fPainter)
fPainter->ShowBoxCut(fShowBoxCut->IsOn());
if (gPad)
gPad->Update();
}
void TGL5DDataSetEditor::AlphaChanged()
{
fApplyAlpha->SetState(kButtonUp);
}
void TGL5DDataSetEditor::NContoursChanged()
{
}
TGL5DDataSetEditor.cxx:10 TGL5DDataSetEditor.cxx:11 TGL5DDataSetEditor.cxx:12 TGL5DDataSetEditor.cxx:13 TGL5DDataSetEditor.cxx:14 TGL5DDataSetEditor.cxx:15 TGL5DDataSetEditor.cxx:16 TGL5DDataSetEditor.cxx:17 TGL5DDataSetEditor.cxx:18 TGL5DDataSetEditor.cxx:19 TGL5DDataSetEditor.cxx:20 TGL5DDataSetEditor.cxx:21 TGL5DDataSetEditor.cxx:22 TGL5DDataSetEditor.cxx:23 TGL5DDataSetEditor.cxx:24 TGL5DDataSetEditor.cxx:25 TGL5DDataSetEditor.cxx:26 TGL5DDataSetEditor.cxx:27 TGL5DDataSetEditor.cxx:28 TGL5DDataSetEditor.cxx:29 TGL5DDataSetEditor.cxx:30 TGL5DDataSetEditor.cxx:31 TGL5DDataSetEditor.cxx:32 TGL5DDataSetEditor.cxx:33 TGL5DDataSetEditor.cxx:34 TGL5DDataSetEditor.cxx:35 TGL5DDataSetEditor.cxx:36 TGL5DDataSetEditor.cxx:37 TGL5DDataSetEditor.cxx:38 TGL5DDataSetEditor.cxx:39 TGL5DDataSetEditor.cxx:40 TGL5DDataSetEditor.cxx:41 TGL5DDataSetEditor.cxx:42 TGL5DDataSetEditor.cxx:43 TGL5DDataSetEditor.cxx:44 TGL5DDataSetEditor.cxx:45 TGL5DDataSetEditor.cxx:46 TGL5DDataSetEditor.cxx:47 TGL5DDataSetEditor.cxx:48 TGL5DDataSetEditor.cxx:49 TGL5DDataSetEditor.cxx:50 TGL5DDataSetEditor.cxx:51 TGL5DDataSetEditor.cxx:52 TGL5DDataSetEditor.cxx:53 TGL5DDataSetEditor.cxx:54 TGL5DDataSetEditor.cxx:55 TGL5DDataSetEditor.cxx:56 TGL5DDataSetEditor.cxx:57 TGL5DDataSetEditor.cxx:58 TGL5DDataSetEditor.cxx:59 TGL5DDataSetEditor.cxx:60 TGL5DDataSetEditor.cxx:61 TGL5DDataSetEditor.cxx:62 TGL5DDataSetEditor.cxx:63 TGL5DDataSetEditor.cxx:64 TGL5DDataSetEditor.cxx:65 TGL5DDataSetEditor.cxx:66 TGL5DDataSetEditor.cxx:67 TGL5DDataSetEditor.cxx:68 TGL5DDataSetEditor.cxx:69 TGL5DDataSetEditor.cxx:70 TGL5DDataSetEditor.cxx:71 TGL5DDataSetEditor.cxx:72 TGL5DDataSetEditor.cxx:73 TGL5DDataSetEditor.cxx:74 TGL5DDataSetEditor.cxx:75 TGL5DDataSetEditor.cxx:76 TGL5DDataSetEditor.cxx:77 TGL5DDataSetEditor.cxx:78 TGL5DDataSetEditor.cxx:79 TGL5DDataSetEditor.cxx:80 TGL5DDataSetEditor.cxx:81 TGL5DDataSetEditor.cxx:82 TGL5DDataSetEditor.cxx:83 TGL5DDataSetEditor.cxx:84 TGL5DDataSetEditor.cxx:85 TGL5DDataSetEditor.cxx:86 TGL5DDataSetEditor.cxx:87 TGL5DDataSetEditor.cxx:88 TGL5DDataSetEditor.cxx:89 TGL5DDataSetEditor.cxx:90 TGL5DDataSetEditor.cxx:91 TGL5DDataSetEditor.cxx:92 TGL5DDataSetEditor.cxx:93 TGL5DDataSetEditor.cxx:94 TGL5DDataSetEditor.cxx:95 TGL5DDataSetEditor.cxx:96 TGL5DDataSetEditor.cxx:97 TGL5DDataSetEditor.cxx:98 TGL5DDataSetEditor.cxx:99 TGL5DDataSetEditor.cxx:100 TGL5DDataSetEditor.cxx:101 TGL5DDataSetEditor.cxx:102 TGL5DDataSetEditor.cxx:103 TGL5DDataSetEditor.cxx:104 TGL5DDataSetEditor.cxx:105 TGL5DDataSetEditor.cxx:106 TGL5DDataSetEditor.cxx:107 TGL5DDataSetEditor.cxx:108 TGL5DDataSetEditor.cxx:109 TGL5DDataSetEditor.cxx:110 TGL5DDataSetEditor.cxx:111 TGL5DDataSetEditor.cxx:112 TGL5DDataSetEditor.cxx:113 TGL5DDataSetEditor.cxx:114 TGL5DDataSetEditor.cxx:115 TGL5DDataSetEditor.cxx:116 TGL5DDataSetEditor.cxx:117 TGL5DDataSetEditor.cxx:118 TGL5DDataSetEditor.cxx:119 TGL5DDataSetEditor.cxx:120 TGL5DDataSetEditor.cxx:121 TGL5DDataSetEditor.cxx:122 TGL5DDataSetEditor.cxx:123 TGL5DDataSetEditor.cxx:124 TGL5DDataSetEditor.cxx:125 TGL5DDataSetEditor.cxx:126 TGL5DDataSetEditor.cxx:127 TGL5DDataSetEditor.cxx:128 TGL5DDataSetEditor.cxx:129 TGL5DDataSetEditor.cxx:130 TGL5DDataSetEditor.cxx:131 TGL5DDataSetEditor.cxx:132 TGL5DDataSetEditor.cxx:133 TGL5DDataSetEditor.cxx:134 TGL5DDataSetEditor.cxx:135 TGL5DDataSetEditor.cxx:136 TGL5DDataSetEditor.cxx:137 TGL5DDataSetEditor.cxx:138 TGL5DDataSetEditor.cxx:139 TGL5DDataSetEditor.cxx:140 TGL5DDataSetEditor.cxx:141 TGL5DDataSetEditor.cxx:142 TGL5DDataSetEditor.cxx:143 TGL5DDataSetEditor.cxx:144 TGL5DDataSetEditor.cxx:145 TGL5DDataSetEditor.cxx:146 TGL5DDataSetEditor.cxx:147 TGL5DDataSetEditor.cxx:148 TGL5DDataSetEditor.cxx:149 TGL5DDataSetEditor.cxx:150 TGL5DDataSetEditor.cxx:151 TGL5DDataSetEditor.cxx:152 TGL5DDataSetEditor.cxx:153 TGL5DDataSetEditor.cxx:154 TGL5DDataSetEditor.cxx:155 TGL5DDataSetEditor.cxx:156 TGL5DDataSetEditor.cxx:157 TGL5DDataSetEditor.cxx:158 TGL5DDataSetEditor.cxx:159 TGL5DDataSetEditor.cxx:160 TGL5DDataSetEditor.cxx:161 TGL5DDataSetEditor.cxx:162 TGL5DDataSetEditor.cxx:163 TGL5DDataSetEditor.cxx:164 TGL5DDataSetEditor.cxx:165 TGL5DDataSetEditor.cxx:166 TGL5DDataSetEditor.cxx:167 TGL5DDataSetEditor.cxx:168 TGL5DDataSetEditor.cxx:169 TGL5DDataSetEditor.cxx:170 TGL5DDataSetEditor.cxx:171 TGL5DDataSetEditor.cxx:172 TGL5DDataSetEditor.cxx:173 TGL5DDataSetEditor.cxx:174 TGL5DDataSetEditor.cxx:175 TGL5DDataSetEditor.cxx:176 TGL5DDataSetEditor.cxx:177 TGL5DDataSetEditor.cxx:178 TGL5DDataSetEditor.cxx:179 TGL5DDataSetEditor.cxx:180 TGL5DDataSetEditor.cxx:181 TGL5DDataSetEditor.cxx:182 TGL5DDataSetEditor.cxx:183 TGL5DDataSetEditor.cxx:184 TGL5DDataSetEditor.cxx:185 TGL5DDataSetEditor.cxx:186 TGL5DDataSetEditor.cxx:187 TGL5DDataSetEditor.cxx:188 TGL5DDataSetEditor.cxx:189 TGL5DDataSetEditor.cxx:190 TGL5DDataSetEditor.cxx:191 TGL5DDataSetEditor.cxx:192 TGL5DDataSetEditor.cxx:193 TGL5DDataSetEditor.cxx:194 TGL5DDataSetEditor.cxx:195 TGL5DDataSetEditor.cxx:196 TGL5DDataSetEditor.cxx:197 TGL5DDataSetEditor.cxx:198 TGL5DDataSetEditor.cxx:199 TGL5DDataSetEditor.cxx:200 TGL5DDataSetEditor.cxx:201 TGL5DDataSetEditor.cxx:202 TGL5DDataSetEditor.cxx:203 TGL5DDataSetEditor.cxx:204 TGL5DDataSetEditor.cxx:205 TGL5DDataSetEditor.cxx:206 TGL5DDataSetEditor.cxx:207 TGL5DDataSetEditor.cxx:208 TGL5DDataSetEditor.cxx:209 TGL5DDataSetEditor.cxx:210 TGL5DDataSetEditor.cxx:211 TGL5DDataSetEditor.cxx:212 TGL5DDataSetEditor.cxx:213 TGL5DDataSetEditor.cxx:214 TGL5DDataSetEditor.cxx:215 TGL5DDataSetEditor.cxx:216 TGL5DDataSetEditor.cxx:217 TGL5DDataSetEditor.cxx:218 TGL5DDataSetEditor.cxx:219 TGL5DDataSetEditor.cxx:220 TGL5DDataSetEditor.cxx:221 TGL5DDataSetEditor.cxx:222 TGL5DDataSetEditor.cxx:223 TGL5DDataSetEditor.cxx:224 TGL5DDataSetEditor.cxx:225 TGL5DDataSetEditor.cxx:226 TGL5DDataSetEditor.cxx:227 TGL5DDataSetEditor.cxx:228 TGL5DDataSetEditor.cxx:229 TGL5DDataSetEditor.cxx:230 TGL5DDataSetEditor.cxx:231 TGL5DDataSetEditor.cxx:232 TGL5DDataSetEditor.cxx:233 TGL5DDataSetEditor.cxx:234 TGL5DDataSetEditor.cxx:235 TGL5DDataSetEditor.cxx:236 TGL5DDataSetEditor.cxx:237 TGL5DDataSetEditor.cxx:238 TGL5DDataSetEditor.cxx:239 TGL5DDataSetEditor.cxx:240 TGL5DDataSetEditor.cxx:241 TGL5DDataSetEditor.cxx:242 TGL5DDataSetEditor.cxx:243 TGL5DDataSetEditor.cxx:244 TGL5DDataSetEditor.cxx:245 TGL5DDataSetEditor.cxx:246 TGL5DDataSetEditor.cxx:247 TGL5DDataSetEditor.cxx:248 TGL5DDataSetEditor.cxx:249 TGL5DDataSetEditor.cxx:250 TGL5DDataSetEditor.cxx:251 TGL5DDataSetEditor.cxx:252 TGL5DDataSetEditor.cxx:253 TGL5DDataSetEditor.cxx:254 TGL5DDataSetEditor.cxx:255 TGL5DDataSetEditor.cxx:256 TGL5DDataSetEditor.cxx:257 TGL5DDataSetEditor.cxx:258 TGL5DDataSetEditor.cxx:259 TGL5DDataSetEditor.cxx:260 TGL5DDataSetEditor.cxx:261 TGL5DDataSetEditor.cxx:262 TGL5DDataSetEditor.cxx:263 TGL5DDataSetEditor.cxx:264 TGL5DDataSetEditor.cxx:265 TGL5DDataSetEditor.cxx:266 TGL5DDataSetEditor.cxx:267 TGL5DDataSetEditor.cxx:268 TGL5DDataSetEditor.cxx:269 TGL5DDataSetEditor.cxx:270 TGL5DDataSetEditor.cxx:271 TGL5DDataSetEditor.cxx:272 TGL5DDataSetEditor.cxx:273 TGL5DDataSetEditor.cxx:274 TGL5DDataSetEditor.cxx:275 TGL5DDataSetEditor.cxx:276 TGL5DDataSetEditor.cxx:277 TGL5DDataSetEditor.cxx:278 TGL5DDataSetEditor.cxx:279 TGL5DDataSetEditor.cxx:280 TGL5DDataSetEditor.cxx:281 TGL5DDataSetEditor.cxx:282 TGL5DDataSetEditor.cxx:283 TGL5DDataSetEditor.cxx:284 TGL5DDataSetEditor.cxx:285 TGL5DDataSetEditor.cxx:286 TGL5DDataSetEditor.cxx:287 TGL5DDataSetEditor.cxx:288 TGL5DDataSetEditor.cxx:289 TGL5DDataSetEditor.cxx:290 TGL5DDataSetEditor.cxx:291 TGL5DDataSetEditor.cxx:292 TGL5DDataSetEditor.cxx:293 TGL5DDataSetEditor.cxx:294 TGL5DDataSetEditor.cxx:295 TGL5DDataSetEditor.cxx:296 TGL5DDataSetEditor.cxx:297 TGL5DDataSetEditor.cxx:298 TGL5DDataSetEditor.cxx:299 TGL5DDataSetEditor.cxx:300 TGL5DDataSetEditor.cxx:301 TGL5DDataSetEditor.cxx:302 TGL5DDataSetEditor.cxx:303 TGL5DDataSetEditor.cxx:304 TGL5DDataSetEditor.cxx:305 TGL5DDataSetEditor.cxx:306 TGL5DDataSetEditor.cxx:307 TGL5DDataSetEditor.cxx:308 TGL5DDataSetEditor.cxx:309 TGL5DDataSetEditor.cxx:310 TGL5DDataSetEditor.cxx:311 TGL5DDataSetEditor.cxx:312 TGL5DDataSetEditor.cxx:313 TGL5DDataSetEditor.cxx:314 TGL5DDataSetEditor.cxx:315 TGL5DDataSetEditor.cxx:316 TGL5DDataSetEditor.cxx:317 TGL5DDataSetEditor.cxx:318 TGL5DDataSetEditor.cxx:319 TGL5DDataSetEditor.cxx:320 TGL5DDataSetEditor.cxx:321 TGL5DDataSetEditor.cxx:322 TGL5DDataSetEditor.cxx:323 TGL5DDataSetEditor.cxx:324 TGL5DDataSetEditor.cxx:325 TGL5DDataSetEditor.cxx:326 TGL5DDataSetEditor.cxx:327 TGL5DDataSetEditor.cxx:328 TGL5DDataSetEditor.cxx:329 TGL5DDataSetEditor.cxx:330 TGL5DDataSetEditor.cxx:331 TGL5DDataSetEditor.cxx:332 TGL5DDataSetEditor.cxx:333 TGL5DDataSetEditor.cxx:334 TGL5DDataSetEditor.cxx:335 TGL5DDataSetEditor.cxx:336 TGL5DDataSetEditor.cxx:337 TGL5DDataSetEditor.cxx:338 TGL5DDataSetEditor.cxx:339 TGL5DDataSetEditor.cxx:340 TGL5DDataSetEditor.cxx:341 TGL5DDataSetEditor.cxx:342 TGL5DDataSetEditor.cxx:343 TGL5DDataSetEditor.cxx:344 TGL5DDataSetEditor.cxx:345 TGL5DDataSetEditor.cxx:346 TGL5DDataSetEditor.cxx:347 TGL5DDataSetEditor.cxx:348 TGL5DDataSetEditor.cxx:349 TGL5DDataSetEditor.cxx:350 TGL5DDataSetEditor.cxx:351 TGL5DDataSetEditor.cxx:352 TGL5DDataSetEditor.cxx:353 TGL5DDataSetEditor.cxx:354 TGL5DDataSetEditor.cxx:355 TGL5DDataSetEditor.cxx:356 TGL5DDataSetEditor.cxx:357 TGL5DDataSetEditor.cxx:358 TGL5DDataSetEditor.cxx:359 TGL5DDataSetEditor.cxx:360 TGL5DDataSetEditor.cxx:361 TGL5DDataSetEditor.cxx:362 TGL5DDataSetEditor.cxx:363 TGL5DDataSetEditor.cxx:364 TGL5DDataSetEditor.cxx:365 TGL5DDataSetEditor.cxx:366 TGL5DDataSetEditor.cxx:367 TGL5DDataSetEditor.cxx:368 TGL5DDataSetEditor.cxx:369 TGL5DDataSetEditor.cxx:370 TGL5DDataSetEditor.cxx:371 TGL5DDataSetEditor.cxx:372 TGL5DDataSetEditor.cxx:373 TGL5DDataSetEditor.cxx:374 TGL5DDataSetEditor.cxx:375 TGL5DDataSetEditor.cxx:376 TGL5DDataSetEditor.cxx:377 TGL5DDataSetEditor.cxx:378 TGL5DDataSetEditor.cxx:379 TGL5DDataSetEditor.cxx:380 TGL5DDataSetEditor.cxx:381 TGL5DDataSetEditor.cxx:382 TGL5DDataSetEditor.cxx:383 TGL5DDataSetEditor.cxx:384 TGL5DDataSetEditor.cxx:385 TGL5DDataSetEditor.cxx:386 TGL5DDataSetEditor.cxx:387 TGL5DDataSetEditor.cxx:388 TGL5DDataSetEditor.cxx:389 TGL5DDataSetEditor.cxx:390 TGL5DDataSetEditor.cxx:391 TGL5DDataSetEditor.cxx:392 TGL5DDataSetEditor.cxx:393 TGL5DDataSetEditor.cxx:394 TGL5DDataSetEditor.cxx:395 TGL5DDataSetEditor.cxx:396 TGL5DDataSetEditor.cxx:397 TGL5DDataSetEditor.cxx:398 TGL5DDataSetEditor.cxx:399 TGL5DDataSetEditor.cxx:400 TGL5DDataSetEditor.cxx:401 TGL5DDataSetEditor.cxx:402 TGL5DDataSetEditor.cxx:403 TGL5DDataSetEditor.cxx:404 TGL5DDataSetEditor.cxx:405 TGL5DDataSetEditor.cxx:406 TGL5DDataSetEditor.cxx:407 TGL5DDataSetEditor.cxx:408 TGL5DDataSetEditor.cxx:409 TGL5DDataSetEditor.cxx:410 TGL5DDataSetEditor.cxx:411 TGL5DDataSetEditor.cxx:412 TGL5DDataSetEditor.cxx:413 TGL5DDataSetEditor.cxx:414 TGL5DDataSetEditor.cxx:415 TGL5DDataSetEditor.cxx:416 TGL5DDataSetEditor.cxx:417 TGL5DDataSetEditor.cxx:418 TGL5DDataSetEditor.cxx:419 TGL5DDataSetEditor.cxx:420 TGL5DDataSetEditor.cxx:421 TGL5DDataSetEditor.cxx:422 TGL5DDataSetEditor.cxx:423 TGL5DDataSetEditor.cxx:424 TGL5DDataSetEditor.cxx:425 TGL5DDataSetEditor.cxx:426 TGL5DDataSetEditor.cxx:427 TGL5DDataSetEditor.cxx:428 TGL5DDataSetEditor.cxx:429 TGL5DDataSetEditor.cxx:430 TGL5DDataSetEditor.cxx:431 TGL5DDataSetEditor.cxx:432 TGL5DDataSetEditor.cxx:433 TGL5DDataSetEditor.cxx:434 TGL5DDataSetEditor.cxx:435 TGL5DDataSetEditor.cxx:436 TGL5DDataSetEditor.cxx:437 TGL5DDataSetEditor.cxx:438 TGL5DDataSetEditor.cxx:439 TGL5DDataSetEditor.cxx:440 TGL5DDataSetEditor.cxx:441 TGL5DDataSetEditor.cxx:442 TGL5DDataSetEditor.cxx:443 TGL5DDataSetEditor.cxx:444 TGL5DDataSetEditor.cxx:445 TGL5DDataSetEditor.cxx:446 TGL5DDataSetEditor.cxx:447 TGL5DDataSetEditor.cxx:448 TGL5DDataSetEditor.cxx:449 TGL5DDataSetEditor.cxx:450 TGL5DDataSetEditor.cxx:451 TGL5DDataSetEditor.cxx:452 TGL5DDataSetEditor.cxx:453 TGL5DDataSetEditor.cxx:454 TGL5DDataSetEditor.cxx:455 TGL5DDataSetEditor.cxx:456 TGL5DDataSetEditor.cxx:457 TGL5DDataSetEditor.cxx:458 TGL5DDataSetEditor.cxx:459 TGL5DDataSetEditor.cxx:460 TGL5DDataSetEditor.cxx:461 TGL5DDataSetEditor.cxx:462 TGL5DDataSetEditor.cxx:463 TGL5DDataSetEditor.cxx:464 TGL5DDataSetEditor.cxx:465 TGL5DDataSetEditor.cxx:466 TGL5DDataSetEditor.cxx:467 TGL5DDataSetEditor.cxx:468 TGL5DDataSetEditor.cxx:469 TGL5DDataSetEditor.cxx:470 TGL5DDataSetEditor.cxx:471 TGL5DDataSetEditor.cxx:472 TGL5DDataSetEditor.cxx:473 TGL5DDataSetEditor.cxx:474 TGL5DDataSetEditor.cxx:475 TGL5DDataSetEditor.cxx:476 TGL5DDataSetEditor.cxx:477 TGL5DDataSetEditor.cxx:478 TGL5DDataSetEditor.cxx:479 TGL5DDataSetEditor.cxx:480 TGL5DDataSetEditor.cxx:481 TGL5DDataSetEditor.cxx:482 TGL5DDataSetEditor.cxx:483 TGL5DDataSetEditor.cxx:484 TGL5DDataSetEditor.cxx:485 TGL5DDataSetEditor.cxx:486 TGL5DDataSetEditor.cxx:487 TGL5DDataSetEditor.cxx:488 TGL5DDataSetEditor.cxx:489 TGL5DDataSetEditor.cxx:490 TGL5DDataSetEditor.cxx:491 TGL5DDataSetEditor.cxx:492 TGL5DDataSetEditor.cxx:493 TGL5DDataSetEditor.cxx:494 TGL5DDataSetEditor.cxx:495 TGL5DDataSetEditor.cxx:496 TGL5DDataSetEditor.cxx:497 TGL5DDataSetEditor.cxx:498 TGL5DDataSetEditor.cxx:499 TGL5DDataSetEditor.cxx:500 TGL5DDataSetEditor.cxx:501 TGL5DDataSetEditor.cxx:502 TGL5DDataSetEditor.cxx:503 TGL5DDataSetEditor.cxx:504 TGL5DDataSetEditor.cxx:505 TGL5DDataSetEditor.cxx:506 TGL5DDataSetEditor.cxx:507 TGL5DDataSetEditor.cxx:508 TGL5DDataSetEditor.cxx:509 TGL5DDataSetEditor.cxx:510 TGL5DDataSetEditor.cxx:511 TGL5DDataSetEditor.cxx:512 TGL5DDataSetEditor.cxx:513 TGL5DDataSetEditor.cxx:514 TGL5DDataSetEditor.cxx:515 TGL5DDataSetEditor.cxx:516 TGL5DDataSetEditor.cxx:517 TGL5DDataSetEditor.cxx:518 TGL5DDataSetEditor.cxx:519 TGL5DDataSetEditor.cxx:520 TGL5DDataSetEditor.cxx:521 TGL5DDataSetEditor.cxx:522 TGL5DDataSetEditor.cxx:523 TGL5DDataSetEditor.cxx:524 TGL5DDataSetEditor.cxx:525 TGL5DDataSetEditor.cxx:526 TGL5DDataSetEditor.cxx:527 TGL5DDataSetEditor.cxx:528 TGL5DDataSetEditor.cxx:529 TGL5DDataSetEditor.cxx:530 TGL5DDataSetEditor.cxx:531 TGL5DDataSetEditor.cxx:532 TGL5DDataSetEditor.cxx:533 TGL5DDataSetEditor.cxx:534 TGL5DDataSetEditor.cxx:535 TGL5DDataSetEditor.cxx:536 TGL5DDataSetEditor.cxx:537 TGL5DDataSetEditor.cxx:538 TGL5DDataSetEditor.cxx:539 TGL5DDataSetEditor.cxx:540 TGL5DDataSetEditor.cxx:541 TGL5DDataSetEditor.cxx:542 TGL5DDataSetEditor.cxx:543 TGL5DDataSetEditor.cxx:544 TGL5DDataSetEditor.cxx:545 TGL5DDataSetEditor.cxx:546 TGL5DDataSetEditor.cxx:547 TGL5DDataSetEditor.cxx:548 TGL5DDataSetEditor.cxx:549 TGL5DDataSetEditor.cxx:550 TGL5DDataSetEditor.cxx:551 TGL5DDataSetEditor.cxx:552 TGL5DDataSetEditor.cxx:553 TGL5DDataSetEditor.cxx:554 TGL5DDataSetEditor.cxx:555 TGL5DDataSetEditor.cxx:556 TGL5DDataSetEditor.cxx:557 TGL5DDataSetEditor.cxx:558 TGL5DDataSetEditor.cxx:559 TGL5DDataSetEditor.cxx:560 TGL5DDataSetEditor.cxx:561 TGL5DDataSetEditor.cxx:562 TGL5DDataSetEditor.cxx:563 TGL5DDataSetEditor.cxx:564 TGL5DDataSetEditor.cxx:565 TGL5DDataSetEditor.cxx:566 TGL5DDataSetEditor.cxx:567 TGL5DDataSetEditor.cxx:568 TGL5DDataSetEditor.cxx:569 TGL5DDataSetEditor.cxx:570 TGL5DDataSetEditor.cxx:571 TGL5DDataSetEditor.cxx:572 TGL5DDataSetEditor.cxx:573 TGL5DDataSetEditor.cxx:574 TGL5DDataSetEditor.cxx:575 TGL5DDataSetEditor.cxx:576 TGL5DDataSetEditor.cxx:577 TGL5DDataSetEditor.cxx:578 TGL5DDataSetEditor.cxx:579 TGL5DDataSetEditor.cxx:580 TGL5DDataSetEditor.cxx:581 TGL5DDataSetEditor.cxx:582 TGL5DDataSetEditor.cxx:583 TGL5DDataSetEditor.cxx:584 TGL5DDataSetEditor.cxx:585 TGL5DDataSetEditor.cxx:586 TGL5DDataSetEditor.cxx:587 TGL5DDataSetEditor.cxx:588 TGL5DDataSetEditor.cxx:589 TGL5DDataSetEditor.cxx:590 TGL5DDataSetEditor.cxx:591 TGL5DDataSetEditor.cxx:592 TGL5DDataSetEditor.cxx:593 TGL5DDataSetEditor.cxx:594 TGL5DDataSetEditor.cxx:595 TGL5DDataSetEditor.cxx:596 TGL5DDataSetEditor.cxx:597 TGL5DDataSetEditor.cxx:598 TGL5DDataSetEditor.cxx:599 TGL5DDataSetEditor.cxx:600 TGL5DDataSetEditor.cxx:601 TGL5DDataSetEditor.cxx:602 TGL5DDataSetEditor.cxx:603 TGL5DDataSetEditor.cxx:604 TGL5DDataSetEditor.cxx:605 TGL5DDataSetEditor.cxx:606 TGL5DDataSetEditor.cxx:607 TGL5DDataSetEditor.cxx:608 TGL5DDataSetEditor.cxx:609 TGL5DDataSetEditor.cxx:610 TGL5DDataSetEditor.cxx:611 TGL5DDataSetEditor.cxx:612 TGL5DDataSetEditor.cxx:613 TGL5DDataSetEditor.cxx:614 TGL5DDataSetEditor.cxx:615 TGL5DDataSetEditor.cxx:616 TGL5DDataSetEditor.cxx:617 TGL5DDataSetEditor.cxx:618 TGL5DDataSetEditor.cxx:619 TGL5DDataSetEditor.cxx:620 TGL5DDataSetEditor.cxx:621 TGL5DDataSetEditor.cxx:622 TGL5DDataSetEditor.cxx:623 TGL5DDataSetEditor.cxx:624 TGL5DDataSetEditor.cxx:625 TGL5DDataSetEditor.cxx:626 TGL5DDataSetEditor.cxx:627 TGL5DDataSetEditor.cxx:628 TGL5DDataSetEditor.cxx:629 TGL5DDataSetEditor.cxx:630 TGL5DDataSetEditor.cxx:631 TGL5DDataSetEditor.cxx:632 TGL5DDataSetEditor.cxx:633 TGL5DDataSetEditor.cxx:634 TGL5DDataSetEditor.cxx:635 TGL5DDataSetEditor.cxx:636 TGL5DDataSetEditor.cxx:637 TGL5DDataSetEditor.cxx:638 TGL5DDataSetEditor.cxx:639 TGL5DDataSetEditor.cxx:640 TGL5DDataSetEditor.cxx:641 TGL5DDataSetEditor.cxx:642 TGL5DDataSetEditor.cxx:643 TGL5DDataSetEditor.cxx:644 TGL5DDataSetEditor.cxx:645 TGL5DDataSetEditor.cxx:646 TGL5DDataSetEditor.cxx:647 TGL5DDataSetEditor.cxx:648 TGL5DDataSetEditor.cxx:649 TGL5DDataSetEditor.cxx:650 TGL5DDataSetEditor.cxx:651 TGL5DDataSetEditor.cxx:652 TGL5DDataSetEditor.cxx:653 TGL5DDataSetEditor.cxx:654 TGL5DDataSetEditor.cxx:655 TGL5DDataSetEditor.cxx:656 TGL5DDataSetEditor.cxx:657 TGL5DDataSetEditor.cxx:658 TGL5DDataSetEditor.cxx:659 TGL5DDataSetEditor.cxx:660 TGL5DDataSetEditor.cxx:661 TGL5DDataSetEditor.cxx:662 TGL5DDataSetEditor.cxx:663 TGL5DDataSetEditor.cxx:664 TGL5DDataSetEditor.cxx:665 TGL5DDataSetEditor.cxx:666 TGL5DDataSetEditor.cxx:667 TGL5DDataSetEditor.cxx:668 TGL5DDataSetEditor.cxx:669 TGL5DDataSetEditor.cxx:670 TGL5DDataSetEditor.cxx:671 TGL5DDataSetEditor.cxx:672 TGL5DDataSetEditor.cxx:673 TGL5DDataSetEditor.cxx:674 TGL5DDataSetEditor.cxx:675 TGL5DDataSetEditor.cxx:676 TGL5DDataSetEditor.cxx:677 TGL5DDataSetEditor.cxx:678 TGL5DDataSetEditor.cxx:679 TGL5DDataSetEditor.cxx:680 TGL5DDataSetEditor.cxx:681 TGL5DDataSetEditor.cxx:682 TGL5DDataSetEditor.cxx:683 TGL5DDataSetEditor.cxx:684 TGL5DDataSetEditor.cxx:685 TGL5DDataSetEditor.cxx:686 TGL5DDataSetEditor.cxx:687 TGL5DDataSetEditor.cxx:688 TGL5DDataSetEditor.cxx:689 TGL5DDataSetEditor.cxx:690 TGL5DDataSetEditor.cxx:691 TGL5DDataSetEditor.cxx:692 TGL5DDataSetEditor.cxx:693 TGL5DDataSetEditor.cxx:694 TGL5DDataSetEditor.cxx:695 TGL5DDataSetEditor.cxx:696 TGL5DDataSetEditor.cxx:697 TGL5DDataSetEditor.cxx:698 TGL5DDataSetEditor.cxx:699 TGL5DDataSetEditor.cxx:700 TGL5DDataSetEditor.cxx:701 TGL5DDataSetEditor.cxx:702 TGL5DDataSetEditor.cxx:703 TGL5DDataSetEditor.cxx:704 TGL5DDataSetEditor.cxx:705 TGL5DDataSetEditor.cxx:706 TGL5DDataSetEditor.cxx:707 TGL5DDataSetEditor.cxx:708 TGL5DDataSetEditor.cxx:709 TGL5DDataSetEditor.cxx:710 TGL5DDataSetEditor.cxx:711 TGL5DDataSetEditor.cxx:712 TGL5DDataSetEditor.cxx:713 TGL5DDataSetEditor.cxx:714 TGL5DDataSetEditor.cxx:715 TGL5DDataSetEditor.cxx:716 TGL5DDataSetEditor.cxx:717 TGL5DDataSetEditor.cxx:718 TGL5DDataSetEditor.cxx:719 TGL5DDataSetEditor.cxx:720 TGL5DDataSetEditor.cxx:721 TGL5DDataSetEditor.cxx:722 TGL5DDataSetEditor.cxx:723 TGL5DDataSetEditor.cxx:724 TGL5DDataSetEditor.cxx:725 TGL5DDataSetEditor.cxx:726 TGL5DDataSetEditor.cxx:727 TGL5DDataSetEditor.cxx:728 TGL5DDataSetEditor.cxx:729 TGL5DDataSetEditor.cxx:730 TGL5DDataSetEditor.cxx:731 TGL5DDataSetEditor.cxx:732 TGL5DDataSetEditor.cxx:733 TGL5DDataSetEditor.cxx:734 TGL5DDataSetEditor.cxx:735 TGL5DDataSetEditor.cxx:736 TGL5DDataSetEditor.cxx:737 TGL5DDataSetEditor.cxx:738 TGL5DDataSetEditor.cxx:739 TGL5DDataSetEditor.cxx:740 TGL5DDataSetEditor.cxx:741 TGL5DDataSetEditor.cxx:742 TGL5DDataSetEditor.cxx:743 TGL5DDataSetEditor.cxx:744 TGL5DDataSetEditor.cxx:745 TGL5DDataSetEditor.cxx:746 TGL5DDataSetEditor.cxx:747 TGL5DDataSetEditor.cxx:748 TGL5DDataSetEditor.cxx:749 TGL5DDataSetEditor.cxx:750 TGL5DDataSetEditor.cxx:751 TGL5DDataSetEditor.cxx:752 TGL5DDataSetEditor.cxx:753 TGL5DDataSetEditor.cxx:754 TGL5DDataSetEditor.cxx:755 TGL5DDataSetEditor.cxx:756 TGL5DDataSetEditor.cxx:757 TGL5DDataSetEditor.cxx:758 TGL5DDataSetEditor.cxx:759 TGL5DDataSetEditor.cxx:760 TGL5DDataSetEditor.cxx:761 TGL5DDataSetEditor.cxx:762 TGL5DDataSetEditor.cxx:763 TGL5DDataSetEditor.cxx:764 TGL5DDataSetEditor.cxx:765 TGL5DDataSetEditor.cxx:766 TGL5DDataSetEditor.cxx:767 TGL5DDataSetEditor.cxx:768 TGL5DDataSetEditor.cxx:769 TGL5DDataSetEditor.cxx:770 TGL5DDataSetEditor.cxx:771 TGL5DDataSetEditor.cxx:772 TGL5DDataSetEditor.cxx:773 TGL5DDataSetEditor.cxx:774 TGL5DDataSetEditor.cxx:775 TGL5DDataSetEditor.cxx:776 TGL5DDataSetEditor.cxx:777 TGL5DDataSetEditor.cxx:778 TGL5DDataSetEditor.cxx:779 TGL5DDataSetEditor.cxx:780 TGL5DDataSetEditor.cxx:781 TGL5DDataSetEditor.cxx:782 TGL5DDataSetEditor.cxx:783 TGL5DDataSetEditor.cxx:784 TGL5DDataSetEditor.cxx:785 TGL5DDataSetEditor.cxx:786 TGL5DDataSetEditor.cxx:787 TGL5DDataSetEditor.cxx:788 TGL5DDataSetEditor.cxx:789 TGL5DDataSetEditor.cxx:790 TGL5DDataSetEditor.cxx:791 TGL5DDataSetEditor.cxx:792 TGL5DDataSetEditor.cxx:793 TGL5DDataSetEditor.cxx:794 TGL5DDataSetEditor.cxx:795 TGL5DDataSetEditor.cxx:796 TGL5DDataSetEditor.cxx:797 TGL5DDataSetEditor.cxx:798 TGL5DDataSetEditor.cxx:799 TGL5DDataSetEditor.cxx:800 TGL5DDataSetEditor.cxx:801 TGL5DDataSetEditor.cxx:802 TGL5DDataSetEditor.cxx:803 TGL5DDataSetEditor.cxx:804 TGL5DDataSetEditor.cxx:805 TGL5DDataSetEditor.cxx:806 TGL5DDataSetEditor.cxx:807 TGL5DDataSetEditor.cxx:808 TGL5DDataSetEditor.cxx:809 TGL5DDataSetEditor.cxx:810 TGL5DDataSetEditor.cxx:811 TGL5DDataSetEditor.cxx:812 TGL5DDataSetEditor.cxx:813 TGL5DDataSetEditor.cxx:814 TGL5DDataSetEditor.cxx:815 TGL5DDataSetEditor.cxx:816 TGL5DDataSetEditor.cxx:817 TGL5DDataSetEditor.cxx:818 TGL5DDataSetEditor.cxx:819 TGL5DDataSetEditor.cxx:820 TGL5DDataSetEditor.cxx:821 TGL5DDataSetEditor.cxx:822 TGL5DDataSetEditor.cxx:823 TGL5DDataSetEditor.cxx:824 TGL5DDataSetEditor.cxx:825 TGL5DDataSetEditor.cxx:826 TGL5DDataSetEditor.cxx:827 TGL5DDataSetEditor.cxx:828 TGL5DDataSetEditor.cxx:829 TGL5DDataSetEditor.cxx:830 TGL5DDataSetEditor.cxx:831 TGL5DDataSetEditor.cxx:832 TGL5DDataSetEditor.cxx:833 TGL5DDataSetEditor.cxx:834 TGL5DDataSetEditor.cxx:835 TGL5DDataSetEditor.cxx:836 TGL5DDataSetEditor.cxx:837 TGL5DDataSetEditor.cxx:838 TGL5DDataSetEditor.cxx:839 TGL5DDataSetEditor.cxx:840 TGL5DDataSetEditor.cxx:841 TGL5DDataSetEditor.cxx:842 TGL5DDataSetEditor.cxx:843 TGL5DDataSetEditor.cxx:844 TGL5DDataSetEditor.cxx:845 TGL5DDataSetEditor.cxx:846 TGL5DDataSetEditor.cxx:847 TGL5DDataSetEditor.cxx:848 TGL5DDataSetEditor.cxx:849 TGL5DDataSetEditor.cxx:850 TGL5DDataSetEditor.cxx:851 TGL5DDataSetEditor.cxx:852 TGL5DDataSetEditor.cxx:853 TGL5DDataSetEditor.cxx:854 TGL5DDataSetEditor.cxx:855 TGL5DDataSetEditor.cxx:856 TGL5DDataSetEditor.cxx:857 TGL5DDataSetEditor.cxx:858 TGL5DDataSetEditor.cxx:859 TGL5DDataSetEditor.cxx:860 TGL5DDataSetEditor.cxx:861 TGL5DDataSetEditor.cxx:862 TGL5DDataSetEditor.cxx:863 TGL5DDataSetEditor.cxx:864 TGL5DDataSetEditor.cxx:865 TGL5DDataSetEditor.cxx:866 TGL5DDataSetEditor.cxx:867 TGL5DDataSetEditor.cxx:868 TGL5DDataSetEditor.cxx:869 TGL5DDataSetEditor.cxx:870