Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::Experimental::RGeomViewer Class Reference

Definition at line 28 of file RGeomViewer.hxx.

Public Member Functions

 RGeomViewer (TGeoManager *mgr=nullptr, const std::string &volname="")
 constructor
 
virtual ~RGeomViewer ()
 destructor
 
bool GetShowHierarchy () const
 Returns default hierarchy browser visibility.
 
const std::string & GetTitle () const
 
std::string GetWindowAddr () const
 Return URL address of web window used for geometry viewer.
 
void SaveImage (const std::string &fname="geometry.png", int width=0, int height=0)
 Produce PNG image of the geometry If web-browser is shown and drawing completed, image is requested from the browser.
 
void SelectVolume (const std::string &volname)
 Select visible top volume, all other volumes will be disabled.
 
void SetDrawOptions (const std::string &opt)
 Configures draw option for geometry Normally has effect before first drawing of the geometry When geometry displayed, only "axis" and "rotate" options are updated.
 
void SetGeometry (TGeoManager *mgr, const std::string &volname="")
 assign new geometry to the viewer
 
void SetLimits (int nnodes=5000, int nfaces=100000)
 Configures maximal number of visible nodes and faces.
 
void SetOnlyVolume (TGeoVolume *vol)
 Draw only specified volume, special case when volume stored without valid geomanager.
 
void SetShowHierarchy (bool on=true)
 Configures default hierarchy browser visibility, only has effect before showing web window.
 
void SetTitle (const std::string &title)
 
void SetTopVisible (bool on=true)
 
void SetVisLevel (int lvl=3)
 Configures maximal visible level.
 
void Show (const RWebDisplayArgs &args="", bool always_start_new_browser=false)
 Show or update geometry in web window If web browser already started - just refresh drawing like "reload" button does If no web window exists or.
 
void Update ()
 Update geometry drawings in all web displays.
 

Protected Member Functions

std::vector< intGetStackFromJson (const std::string &json, bool node_ids=false)
 convert JSON into stack array
 
void SendGeometry (unsigned connid)
 Send data for principal geometry draw.
 
void WebWindowCallback (unsigned connid, const std::string &arg)
 receive data from client
 

Protected Attributes

RGeomDescription fDesc
 ! geometry description, send to the client as first message
 
TGeoManagerfGeoManager {nullptr}
 ! geometry to show
 
std::string fSelectedVolume
 ! name of selected volume
 
bool fShowHierarchy {true}
 ! if hierarchy visible by default
 
std::string fTitle
 ! title of geometry viewer
 
std::shared_ptr< RWebWindowfWebWindow
 ! web window to show geometry
 

#include <ROOT/RGeomViewer.hxx>

Constructor & Destructor Documentation

◆ RGeomViewer()

RGeomViewer::RGeomViewer ( TGeoManager mgr = nullptr,
const std::string &  volname = "" 
)

constructor

Definition at line 34 of file RGeomViewer.cxx.

◆ ~RGeomViewer()

RGeomViewer::~RGeomViewer ( )
virtual

destructor

Definition at line 57 of file RGeomViewer.cxx.

Member Function Documentation

◆ GetShowHierarchy()

bool ROOT::Experimental::RGeomViewer::GetShowHierarchy ( ) const
inline

Returns default hierarchy browser visibility.

Definition at line 84 of file RGeomViewer.hxx.

◆ GetStackFromJson()

std::vector< int > RGeomViewer::GetStackFromJson ( const std::string &  json,
bool  node_ids = false 
)
protected

convert JSON into stack array

Definition at line 140 of file RGeomViewer.cxx.

◆ GetTitle()

const std::string & ROOT::Experimental::RGeomViewer::GetTitle ( ) const
inline

Definition at line 52 of file RGeomViewer.hxx.

◆ GetWindowAddr()

std::string RGeomViewer::GetWindowAddr ( ) const

Return URL address of web window used for geometry viewer.

Definition at line 123 of file RGeomViewer.cxx.

◆ SaveImage()

void RGeomViewer::SaveImage ( const std::string &  fname = "geometry.png",
int  width = 0,
int  height = 0 
)

Produce PNG image of the geometry If web-browser is shown and drawing completed, image is requested from the browser.

In this case method executed asynchronously - it returns immediately and image will stored shortly afterwards when received from the client Height and width parameters are ignored in that case and derived from actual drawing size in the browser. Another possibility is to invoke headless browser, providing positive width and height parameter explicitely

Definition at line 193 of file RGeomViewer.cxx.

◆ SelectVolume()

void RGeomViewer::SelectVolume ( const std::string &  volname)

Select visible top volume, all other volumes will be disabled.

Definition at line 77 of file RGeomViewer.cxx.

◆ SendGeometry()

void RGeomViewer::SendGeometry ( unsigned  connid)
protected

Send data for principal geometry draw.

Definition at line 158 of file RGeomViewer.cxx.

◆ SetDrawOptions()

void RGeomViewer::SetDrawOptions ( const std::string &  opt)

Configures draw option for geometry Normally has effect before first drawing of the geometry When geometry displayed, only "axis" and "rotate" options are updated.

Definition at line 176 of file RGeomViewer.cxx.

◆ SetGeometry()

void RGeomViewer::SetGeometry ( TGeoManager mgr,
const std::string &  volname = "" 
)

assign new geometry to the viewer

Definition at line 64 of file RGeomViewer.cxx.

◆ SetLimits()

void ROOT::Experimental::RGeomViewer::SetLimits ( int  nnodes = 5000,
int  nfaces = 100000 
)
inline

Configures maximal number of visible nodes and faces.

Definition at line 63 of file RGeomViewer.hxx.

◆ SetOnlyVolume()

void RGeomViewer::SetOnlyVolume ( TGeoVolume vol)

Draw only specified volume, special case when volume stored without valid geomanager.

Definition at line 86 of file RGeomViewer.cxx.

◆ SetShowHierarchy()

void ROOT::Experimental::RGeomViewer::SetShowHierarchy ( bool  on = true)
inline

Configures default hierarchy browser visibility, only has effect before showing web window.

Definition at line 81 of file RGeomViewer.hxx.

◆ SetTitle()

void ROOT::Experimental::RGeomViewer::SetTitle ( const std::string &  title)
inline

Definition at line 51 of file RGeomViewer.hxx.

◆ SetTopVisible()

void ROOT::Experimental::RGeomViewer::SetTopVisible ( bool  on = true)
inline

Definition at line 75 of file RGeomViewer.hxx.

◆ SetVisLevel()

void ROOT::Experimental::RGeomViewer::SetVisLevel ( int  lvl = 3)
inline

Configures maximal visible level.

Definition at line 70 of file RGeomViewer.hxx.

◆ Show()

void RGeomViewer::Show ( const RWebDisplayArgs args = "",
bool  always_start_new_browser = false 
)

Show or update geometry in web window If web browser already started - just refresh drawing like "reload" button does If no web window exists or.

Parameters
always_start_new_browserconfigured, starts new window
argsarguments to display

Definition at line 102 of file RGeomViewer.cxx.

◆ Update()

void RGeomViewer::Update ( )

Update geometry drawings in all web displays.

Definition at line 131 of file RGeomViewer.cxx.

◆ WebWindowCallback()

void RGeomViewer::WebWindowCallback ( unsigned  connid,
const std::string &  arg 
)
protected

receive data from client

Definition at line 220 of file RGeomViewer.cxx.

Member Data Documentation

◆ fDesc

RGeomDescription ROOT::Experimental::RGeomViewer::fDesc
protected

! geometry description, send to the client as first message

Definition at line 34 of file RGeomViewer.hxx.

◆ fGeoManager

TGeoManager* ROOT::Experimental::RGeomViewer::fGeoManager {nullptr}
protected

! geometry to show

Definition at line 32 of file RGeomViewer.hxx.

◆ fSelectedVolume

std::string ROOT::Experimental::RGeomViewer::fSelectedVolume
protected

! name of selected volume

Definition at line 33 of file RGeomViewer.hxx.

◆ fShowHierarchy

bool ROOT::Experimental::RGeomViewer::fShowHierarchy {true}
protected

! if hierarchy visible by default

Definition at line 35 of file RGeomViewer.hxx.

◆ fTitle

std::string ROOT::Experimental::RGeomViewer::fTitle
protected

! title of geometry viewer

Definition at line 36 of file RGeomViewer.hxx.

◆ fWebWindow

std::shared_ptr<RWebWindow> ROOT::Experimental::RGeomViewer::fWebWindow
protected

! web window to show geometry

Definition at line 38 of file RGeomViewer.hxx.

Libraries for ROOT::Experimental::RGeomViewer:

The documentation for this class was generated from the following files: