void drawArrowPlot(TChain *mc, TString varU, TString deltaU, TString varV, TString deltaV, Int_t nbinU, Double_t minU, Double_t maxU, Int_t nbinV, Double_t minV, Double_t maxV){ TString uvname = generateRandomName(); TString uname = generateRandomName(); TString vname = generateRandomName(); TH2D * UV = new TH2D(uvname,uvname,10*nbinU,minU,maxU,10*nbinV,minV,maxV); TProfile2D * dU = new TProfile2D(uname,uname,nbinU,minU,maxU,nbinV,minV,maxV); TProfile2D * dV = new TProfile2D(vname,vname,nbinU,minU,maxU,nbinV,minV,maxV); mc->Draw(varV+":"+varU+">>"+uvname,"(isAssoc==1)","goff"); mc->Draw(deltaU+":"+varV+":"+varU+">>"+uname,"(isAssoc==1)","goffprof"); mc->Draw(deltaV+":"+varV+":"+varU+">>"+vname,"(isAssoc==1)","goffprof"); SetFancyGrayscalePalette(); UV->Draw("colsame"); for (Int_t iU=1; iU<nbinU+1; iU++){ for (Int_t iV=1; iV<nbinV+1; iV++){ Double_t uu = dU->GetXaxis()->GetBinCenter(iU); Double_t vv = dU->GetYaxis()->GetBinCenter(iV); Double_t du = dU->GetBinContent(iU,iV); Double_t dv = dV->GetBinContent(iU,iV); Double_t due = dU->GetBinError(iU,iV); Double_t dve = dV->GetBinError(iU,iV); drawArrow(uu,vv,du,due,dv,dve); } } }
User::User() { name = generateRandomName(); }
const String NameManager::makeCreatureName(int type, int species) { String name; NameData* data = getSpeciesData(species); // Covers all Imperial Trooper types if (type >= NameManagerType::STORMTROOPER && type <= NameManagerType::SWAMPTROOPER) { name = makeImperialTrooperName(type); } else { name = generateRandomName(data); } return name; }
String NameManager::generateResourceName(const String& randomNameClass) { NameData* data; if (randomNameClass == "energy_resource") data = energyResourceData; else if (randomNameClass == "mineral_resource") data = mineralResourceData; else if (randomNameClass == "reactive_gas_resource") data = reactiveGasResourceData; else data = plainResourceData; return generateRandomName(data); }
Widget::Widget(const std::string& name, point_type w, point_type h): _parent (0), _index (0), _layer (LAYER_LOW), _padLeft (0.0f), _padRight (0.0f), _padTop (0.0f), _padBottom (0.0f), _valign (VA_CENTER), _halign (HA_CENTER), _coordMode (CM_ABSOLUTE), _canFill (false), _canClone (true), _isManaged (false), _isStyled (false), _minWidth (0.0f), _minHeight (0.0f) { _name = name.size() ? name : generateRandomName("Widget"); if(!_norms.valid()) { _norms = new PointArray(1); (*_norms)[0].set(0.0f, 0.0f, 1.0f); (*_norms)[0].normalize(); } TexCoordArray* texs = new TexCoordArray(4); // Fill our texture coordinates with null stuff for now, since we aren't using them // until an Image is set at some later point. std::fill(texs->begin(), texs->end(), osg::Vec2(0.0f, 0.0f)); setUseDisplayList(false); setDataVariance(osg::Object::DYNAMIC); setVertexArray(new PointArray(4)); setColorArray(new ColorArray(4)); setNormalArray(_norms.get()); setTexCoordArray(0, texs); setNormalBinding(osg::Geometry::BIND_OVERALL); setColorBinding(osg::Geometry::BIND_PER_VERTEX); addPrimitiveSet(new osg::DrawArrays(osg::PrimitiveSet::QUADS, 0, 4)); setDimensions(0.0f, 0.0f, w, h); setColor(1.0f, 1.0f, 1.0f, 1.0f); }
void drawFrame(TString nameU, TString nameV, Double_t minU, Double_t maxU, Double_t minV, Double_t maxV, Int_t canH){ TString name = generateRandomName(); TH2F *frame = new TH2F(name,name+";"+nameU+";"+nameV,1,minU,maxU,1,minV,maxV); frame->SetStats(0); frame->SetTitle(""); // frame->GetYaxis()->SetDecimals(1); // frame->GetXaxis()->SetNdivisions(520); //Default 510 // frame->GetYaxis()->SetNdivisions(510); //Default 510 // frame->GetXaxis()->SetMoreLogLabels(); // frame->GetXaxis()->SetNoExponent(); frame->GetYaxis()->SetTitleOffset(ComputeTitleOffset(25, 55)); // frame->GetXaxis()->SetTitleOffset(1.); frame->SetLabelSize(ComputeRelSize(25),"xy"); frame->SetTitleSize(ComputeRelSize(25),"xy"); frame->Draw(); }
TCanvas* makeNiceCanvasByFracMargins(Int_t pixelPerBin, Int_t nbinx, Int_t nbiny, Double_t top, Double_t bottom, Double_t left, Double_t right) { Int_t rubaX = 4; //determinato sperimentalmente Int_t rubaY = 28; //determinato sperimentalmente TString name = generateRandomName(); Int_t plotBaseDimX = pixelPerBin*nbinx; Int_t plotBaseDimY = pixelPerBin*nbiny; Int_t XX = (Int_t)(plotBaseDimX/(1.-left-right)); Int_t YY = (Int_t)(plotBaseDimY/(1.-top-bottom)); TCanvas* can = new TCanvas(name,name,XX+rubaX,YY+rubaY); can->SetTopMargin(top); can->SetBottomMargin(bottom); can->SetRightMargin(right); can->SetLeftMargin(left); can->SetBorderMode(0); std::cout << "Nice canvas " << XX << " * " << YY << std::endl; return can; }
TCanvas* makeNiceCanvas(Int_t pixelPerBin, Int_t nbinx, Int_t nbiny, Int_t top, Int_t bottom, Int_t left, Int_t right) { Int_t rubaX = 4; //determinato sperimentalmente Int_t rubaY = 28; //determinato sperimentalmente TString name = generateRandomName(); Int_t plotBaseDimX = pixelPerBin*nbinx; Int_t plotBaseDimY = pixelPerBin*nbiny; Int_t XX = (plotBaseDimX+left+right+rubaX); Int_t YY = (plotBaseDimY+top+bottom+rubaY); TCanvas* can = new TCanvas(name,name,XX,YY); can->SetTopMargin(1.*top/YY); can->SetBottomMargin(1.*bottom/YY); can->SetRightMargin(1.*right/XX); can->SetLeftMargin(1.*left/XX); can->SetBorderMode(0); std::cout << "Nice canvas " << XX << " * " << YY << std::endl; return can; }
TH2F* drawFrame(TString nameU, TString nameV, Double_t minU, Double_t maxU, Double_t minV, Double_t maxV){ TString name = generateRandomName(); TH2F *frame = new TH2F(name,name+";"+nameU+";"+nameV,1,minU,maxU,1,minV,maxV); frame->SetStats(0); frame->SetTitle(""); // frame->GetYaxis()->SetDecimals(1); // frame->GetXaxis()->SetNdivisions(520); //Default 510 // frame->GetYaxis()->SetNdivisions(510); //Default 510 // frame->GetXaxis()->SetMoreLogLabels(); // frame->GetXaxis()->SetNoExponent(); Int_t effCharSize = 50; frame->GetYaxis()->SetTitleOffset(ComputeTitleOffset(effCharSize, 2.1*effCharSize)); // frame->GetXaxis()->SetTitleOffset(1.); frame->SetLabelSize(ComputeRelSize(effCharSize),"xy"); frame->SetTitleSize(ComputeRelSize(effCharSize),"xy"); frame->Draw(); return frame; }
TCanvas* makeNiceCanvasByPixMargins(Int_t pixelPerBinX, Int_t pixelPerBinY, Int_t nbinx, Int_t nbiny, Int_t top, Int_t bottom, Int_t left, Int_t right) { Int_t rubaX = 4; //determinato sperimentalmente Int_t rubaY = 28; //determinato sperimentalmente TString name = generateRandomName(); Int_t plotBaseDimX = pixelPerBinX*nbinx; Int_t plotBaseDimY = pixelPerBinY*nbiny; Int_t XX = (Int_t)(plotBaseDimX+left+right); Int_t YY = (Int_t)(plotBaseDimY+top+bottom); TCanvas* can = new TCanvas(name,name,XX+rubaX,YY+rubaY); can->SetTopMargin((1.*top)/(1.*YY)); can->SetBottomMargin((1.*bottom)/(1.*YY)); can->SetRightMargin(right/(1.*XX)); can->SetLeftMargin(left/(1.*XX)); can->SetBorderMode(0); std::cout << "Nice canvas " << XX << " * " << YY << " Margin: t " << can->GetTopMargin() << " b " << can->GetBottomMargin() << " l " << can->GetLeftMargin() << " r " << can->GetRightMargin() << std::endl; return can; }
Window::Window(const std::string& name): _parent (0), _wm (0), _index (0), _x (0.0f), _y (0.0f), _z (0.0f), _zRange (0.0f), _strata (STRATA_NONE), _vis (VM_FULL), _r (0.0f), _s (1.0f), _scaleDenom (100.0f), _vAnchor (VA_NONE), _hAnchor (HA_NONE) { _name = name.size() ? name : generateRandomName("Window"); // TODO: Fix the "bg" name. osg::Geode* geode = new osg::Geode(); Widget* bg = new Widget(name + "bg", 0.0f, 0.0f); bg->setLayer(Widget::LAYER_BG); bg->setColor(1.0f, 1.0f, 1.0f, 1.0f); _setParented(bg); geode->addDrawable(bg); addChild(geode); setDataVariance(osg::Object::DYNAMIC); setEventMask(EVENT_ALL); getOrCreateStateSet()->setAttributeAndModes( new osg::Scissor(0, 0, 0, 0), osg::StateAttribute::ON ); }
WindowManager::WindowManager( osgViewer::View* view, point_type width, point_type height, unsigned int nodeMask, unsigned int flags ): _width (width), _height (height), _windowWidth (width), _windowHeight (height), _flags (flags), _nodeMask (nodeMask), _view (view), _lastX (0.0f), _lastY (0.0f), _lastEvent (0), _lastPush (0), _lastVertical (PD_NONE), _lastHorizontal (PD_NONE), _focusMode (PFM_FOCUS), _leftDown (false), _middleDown (false), _rightDown (false), _scrolling (osgGA::GUIEventAdapter::SCROLL_NONE), _styleManager (new StyleManager()) { _name = generateRandomName("WindowManager"); if(_flags & WM_USE_LUA) { _lua = new LuaEngine(this); if(!_lua->initialize()) warn() << "Error creating LuaEngine." << std::endl; } if(_flags & WM_USE_PYTHON) { _python = new PythonEngine(this); if(!_python->initialize()) warn() << "Error creating PythonEngine." << std::endl; } if(_flags & WM_USE_RENDERBINS) getOrCreateStateSet()->setMode(GL_DEPTH_TEST, false); // Setup our picking debug (is debug the right word here?) Window... if(_flags & WM_PICK_DEBUG) { _pickWindow = new Box("PickWindow", Box::VERTICAL); Label* label = new Label("PickLabel"); label->setFontSize(13); label->setFontColor(1.0f, 1.0f, 1.0f, 1.0f); label->setFont("fonts/VeraMono.ttf"); label->setPadding(5.0f); label->setCanFill(true); _pickWindow->getBackground()->setColor(0.0f, 0.0f, 0.0f, 0.85f); _pickWindow->addWidget(label); _pickWindow->setNodeMask(~_nodeMask); _pickWindow->removeEventMask(EVENT_MASK_FOCUS); _pickWindow->setStrata(Window::STRATA_FOREGROUND); addChild(_pickWindow.get()); _updatePickWindow(0, 0, 0); } getOrCreateStateSet()->setMode( GL_BLEND, osg::StateAttribute::ON | osg::StateAttribute::OVERRIDE ); getOrCreateStateSet()->setRenderingHint(osg::StateSet::TRANSPARENT_BIN); }