Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
ROOT::RGeomDescription Class Reference

Definition at line 210 of file RGeomData.hxx.

Classes

class  ShapeDescr
 

Public Member Functions

 RGeomDescription ()=default
 
void AddSignalHandler (const void *handler, RGeomSignalFunc_t func)
 Add signal handler.
 
void Build (TGeoManager *mgr, const std::string &volname="")
 Collect information about geometry hierarchy into flat list like it done in JSROOT ClonedNodes.createClones.
 
void Build (TGeoVolume *vol)
 Collect information about geometry from single volume like it done in JSROOT ClonedNodes.createClones.
 
bool ChangeConfiguration (const std::string &json)
 Change configuration by client Returns true if any parameter was really changed.
 
bool ChangeNodeVisibility (const std::vector< std::string > &path, bool on)
 Change visibility for specified element Returns true if changes was performed.
 
bool ClearAllPhysVisibility ()
 Reset all custom visibility settings.
 
void ClearCache ()
 Clear cached data, need to be clear when connection broken.
 
void ClearDrawData ()
 Clear raw data. Will be rebuild when next connection will be established.
 
bool ClearPhysNodeVisibility (const std::vector< std::string > &path)
 Reset custom visibility of physical node by path.
 
int FindNodeId (const std::vector< int > &stack)
 Returns nodeid for given stack array, returns -1 in case of failure.
 
std::string GetActiveItem () const
 
std::vector< intGetClickedItem () const
 
std::string GetDrawJson () const
 
std::string GetDrawOptions () const
 Returns draw options, used for JSROOT TGeoPainter.
 
std::vector< intGetHighlightedItem () const
 
int GetJsonComp () const
 Returns JSON compression level for data transfer.
 
int GetMaxVisFaces () const
 Returns maximal visible number of faces, ignored when non-positive.
 
int GetMaxVisNodes () const
 Returns maximal visible number of nodes, ignored when non-positive.
 
TVirtualMutexGetMutex () const
 Return currently used mutex.
 
int GetNSegments () const
 Return of segments for cylindrical shapes, if 0 - default value will be used.
 
int GetNumNodes () const
 Number of unique nodes in the geometry.
 
std::string GetSearch () const
 
std::string GetSearchJson () const
 
bool GetTopVisible () const
 Returns draw options, used for JSROOT TGeoPainter.
 
int GetVisLevel () const
 Returns maximal visible level.
 
bool HasDrawData () const
 Check if there is draw data available.
 
bool IsBuild () const
 
int IsBuildShapes () const
 Returns true if binary 3D model build already by C++ server (default)
 
bool IsPreferredOffline () const
 Is offline operations preferred.
 
bool IsPrincipalEndNode (int nodeid)
 return true when node used in main geometry drawing and does not have childs for such nodes one could provide optimize toggling of visibility flags
 
void IssueSignal (const void *handler, const std::string &kind)
 Issue signal, which distributed on all handlers - excluding source handler.
 
std::vector< intMakeIdsByStack (const std::vector< int > &stack)
 Produce list of node ids for given stack If found nodes preselected - use their ids.
 
std::unique_ptr< RGeomNodeInfoMakeNodeInfo (const std::vector< int > &stack)
 Change visibility for specified element Returns true if changes was performed.
 
std::vector< std::string > MakePathByStack (const std::vector< int > &stack)
 Returns path string for provided stack.
 
std::vector< intMakeStackByIds (const std::vector< int > &ids)
 Creates stack for given array of ids, first element always should be 0.
 
std::vector< intMakeStackByPath (const std::vector< std::string > &path)
 Produce stack based on string path Used to highlight geo volumes by browser hover event.
 
std::string ProcessBrowserRequest (const std::string &req="")
 Find description object for requested shape If not exists - will be created.
 
void ProduceDrawData ()
 Collect all information required to draw geometry on the client This includes list of each visible nodes, meshes and matrixes.
 
bool ProduceDrawingFor (int nodeid, std::string &json, bool check_volume=false)
 Produce shape rendering data for given stack All nodes, which are referencing same shape will be transferred Returns true if new render information provided.
 
std::string ProduceJson (bool all_nodes=false)
 Produce JSON string which can be directly used with build function from JSROOT to create three.js model of configured geometry.
 
std::string ProduceModifyReply (int nodeid)
 Return string with only part of nodes description which were modified Checks also volume.
 
void ProduceSearchData ()
 Produces search data if necessary.
 
void RemoveSignalHandler (const void *handler)
 Remove signal handler.
 
void SavePrimitive (std::ostream &fs, const std::string &name)
 Save geometry configuration as C++ macro.
 
int SearchVisibles (const std::string &find, std::string &hjson, std::string &json)
 Search visible nodes for provided name If number of found elements less than 100, create description and shapes for them Returns number of match elements.
 
bool SelectTop (const std::vector< std::string > &path)
 Select top node by path Used by the client to change active node Returns true if selected node was changed.
 
bool SetActiveItem (const std::string &itemname)
 
void SetBuildShapes (int lvl=1)
 Instruct to build binary 3D model already on the server (true) or send TGeoShape as is to client, which can build model itself.
 
bool SetClickedItem (const std::vector< int > &stack)
 
void SetDrawOptions (const std::string &opt="")
 Set draw options as string for JSROOT TGeoPainter.
 
bool SetHighlightedItem (const std::vector< int > &stack)
 
void SetJsonComp (int comp=0)
 Set JSON compression level for data transfer.
 
void SetMaxVisFaces (int cnt)
 Set maximal number of faces which should be selected for drawing.
 
void SetMaxVisNodes (int cnt)
 Set maximal number of nodes which should be selected for drawing.
 
void SetMutex (TVirtualMutex *mutex)
 Set mutex, it must be recursive one.
 
void SetNSegments (int n=0)
 Set number of segments for cylindrical shapes, if 0 - default value will be used.
 
bool SetPhysNodeVisibility (const std::string &path, bool on=true)
 Set visibility of physical node by itemname itemname in string with path like "/TOP_1/SUB_2/NODE_3".
 
bool SetPhysNodeVisibility (const std::vector< std::string > &path, bool on=true)
 Set visibility of physical node by path It overrules TGeo visibility flags - but only for specific physical node.
 
void SetPreferredOffline (bool on)
 Set preference of offline operations.
 
bool SetSearch (const std::string &query, const std::string &json)
 Change search query and belongs to it json string Returns true if any parameter was really changed.
 
void SetTopVisible (bool on=true)
 Set draw options as string for JSROOT TGeoPainter.
 
void SetVisLevel (int lvl=3)
 Set maximal visible level.
 

Private Member Functions

void BuildDescription (TGeoNode *topnode, TGeoVolume *topvolume)
 Build geometry description.
 
void ClearDescription ()
 Clear geometry description.
 
void CollectNodes (RGeomDrawing &drawing, bool all_nodes=false)
 Collect nodes which are used in visibles.
 
void CopyMaterialProperties (TGeoVolume *vol, RGeomNode &node)
 Copy material properties.
 
int CountShapeFaces (TGeoShape *shape)
 Count number of faces for the shape.
 
ShapeDescrFindShapeDescr (TGeoShape *shape)
 Find description object for requested shape If not exists - will be created.
 
int GetUsedNSegments (int min=20)
 Returns really used number of cylindrical segments.
 
TGeoVolumeGetVolume (int nodeid)
 Get volume for specified nodeid If specific volume was configured, it will be returned for nodeid==0.
 
int IsPhysNodeVisible (const std::vector< int > &stack)
 Check if there special settings for specified physical node returns -1 if nothing is found.
 
std::string MakeDrawingJson (RGeomDrawing &drawing, bool has_shapes=false)
 Produce JSON for the drawing If TGeoShape appears in the drawing, one has to keep typeinfo But in this case one can exclude several classes which are not interesting, but appears very often.
 
ShapeDescrMakeShapeDescr (TGeoShape *shape)
 Find description object and create render information.
 
int MarkVisible (bool on_screen=false)
 Set visibility flag for each nodes.
 
void PackMatrix (std::vector< float > &arr, TGeoMatrix *matr)
 Pack matrix into vector, which can be send to client Following sizes can be used for vector: 0 - Identity matrix 3 - Translation 4 - Scale (last element always 1) 9 - Rotation 16 - Full size.
 
void ProduceIdShifts ()
 Count total number of visible childs under each node.
 
void ResetRndrInfos ()
 Reset shape info, which used to pack binary data.
 
int ScanNodes (bool only_visible, int maxlvl, RGeomScanFunc_t func)
 Iterate over all nodes and call function for visible.
 

Private Attributes

std::string fActiveItemName
 ! name of item which should be activated in hierarchy
 
int fActualLevel {0}
 ! level can be reduced when selecting nodes
 
RGeomConfig fCfg
 ! configuration parameter editable from GUI
 
std::vector< intfClickedStack
 ! clicked element by stack
 
std::vector< RGeomNodefDesc
 ! converted description, send to client
 
int fDrawIdCut {0}
 ! sortid used for selection of most-significant nodes
 
std::string fDrawJson
 ! JSON with main nodes drawn by client
 
TGeoVolumefDrawVolume {nullptr}
 ! select volume independent from TGeoManager
 
std::vector< intfHighlightedStack
 ! highlighted element by stack
 
int fJsonComp {0}
 ! default JSON compression
 
TVirtualMutexfMutex {nullptr}
 ! external mutex used to protect all data
 
std::vector< TGeoNode * > fNodes
 ! flat list of all nodes
 
bool fPreferredOffline {false}
 ! indicates that full description should be provided to client
 
std::string fSearch
 ! search string in hierarchy
 
std::string fSearchJson
 ! drawing json for search
 
std::vector< intfSelectedStack
 ! selected branch of geometry by stack
 
std::vector< ShapeDescrfShapes
 ! shapes with created descriptions
 
std::vector< std::pair< const void *, RGeomSignalFunc_t > > fSignals
 ! registered signals
 
std::vector< intfSortMap
 ! nodes in order large -> smaller volume
 
std::vector< RGeomNodeVisibilityfVisibility
 ! custom visibility flags for physical nodes
 

Friends

class RGeomBrowserIter
 

#include <ROOT/RGeomData.hxx>

Constructor & Destructor Documentation

◆ RGeomDescription()

ROOT::RGeomDescription::RGeomDescription ( )
default

Member Function Documentation

◆ AddSignalHandler()

void RGeomDescription::AddSignalHandler ( const void *  handler,
RGeomSignalFunc_t  func 
)

Add signal handler.

Definition at line 312 of file RGeomData.cxx.

◆ Build() [1/2]

void RGeomDescription::Build ( TGeoManager mgr,
const std::string &  volname = "" 
)

Collect information about geometry hierarchy into flat list like it done in JSROOT ClonedNodes.createClones.

Definition at line 425 of file RGeomData.cxx.

◆ Build() [2/2]

void RGeomDescription::Build ( TGeoVolume vol)

Collect information about geometry from single volume like it done in JSROOT ClonedNodes.createClones.

Definition at line 460 of file RGeomData.cxx.

◆ BuildDescription()

void RGeomDescription::BuildDescription ( TGeoNode topnode,
TGeoVolume topvolume 
)
private

Build geometry description.

Definition at line 494 of file RGeomData.cxx.

◆ ChangeConfiguration()

bool RGeomDescription::ChangeConfiguration ( const std::string &  json)

Change configuration by client Returns true if any parameter was really changed.

Definition at line 2104 of file RGeomData.cxx.

◆ ChangeNodeVisibility()

bool RGeomDescription::ChangeNodeVisibility ( const std::vector< std::string > &  path,
bool  on 
)

Change visibility for specified element Returns true if changes was performed.

Definition at line 1849 of file RGeomData.cxx.

◆ ClearAllPhysVisibility()

bool RGeomDescription::ClearAllPhysVisibility ( )

Reset all custom visibility settings.

Definition at line 2088 of file RGeomData.cxx.

◆ ClearCache()

void RGeomDescription::ClearCache ( )

Clear cached data, need to be clear when connection broken.

Definition at line 1381 of file RGeomData.cxx.

◆ ClearDescription()

void RGeomDescription::ClearDescription ( )
private

Clear geometry description.

Definition at line 478 of file RGeomData.cxx.

◆ ClearDrawData()

void RGeomDescription::ClearDrawData ( )

Clear raw data. Will be rebuild when next connection will be established.

Definition at line 1370 of file RGeomData.cxx.

◆ ClearPhysNodeVisibility()

bool RGeomDescription::ClearPhysNodeVisibility ( const std::vector< std::string > &  path)

Reset custom visibility of physical node by path.

Definition at line 2064 of file RGeomData.cxx.

◆ CollectNodes()

void RGeomDescription::CollectNodes ( RGeomDrawing drawing,
bool  all_nodes = false 
)
private

Collect nodes which are used in visibles.

Definition at line 721 of file RGeomData.cxx.

◆ CopyMaterialProperties()

void RGeomDescription::CopyMaterialProperties ( TGeoVolume vol,
RGeomNode node 
)
private

Copy material properties.

Definition at line 1159 of file RGeomData.cxx.

◆ CountShapeFaces()

int RGeomDescription::CountShapeFaces ( TGeoShape shape)
private

Count number of faces for the shape.

Definition at line 937 of file RGeomData.cxx.

◆ FindNodeId()

int RGeomDescription::FindNodeId ( const std::vector< int > &  stack)

Returns nodeid for given stack array, returns -1 in case of failure.

Definition at line 1602 of file RGeomData.cxx.

◆ FindShapeDescr()

RGeomDescription::ShapeDescr & RGeomDescription::FindShapeDescr ( TGeoShape shape)
private

Find description object for requested shape If not exists - will be created.

Definition at line 857 of file RGeomData.cxx.

◆ GetActiveItem()

std::string ROOT::RGeomDescription::GetActiveItem ( ) const
inline

Definition at line 441 of file RGeomData.hxx.

◆ GetClickedItem()

std::vector< int > ROOT::RGeomDescription::GetClickedItem ( ) const
inline

Definition at line 427 of file RGeomData.hxx.

◆ GetDrawJson()

std::string ROOT::RGeomDescription::GetDrawJson ( ) const
inline

Definition at line 382 of file RGeomData.hxx.

◆ GetDrawOptions()

std::string ROOT::RGeomDescription::GetDrawOptions ( ) const
inline

Returns draw options, used for JSROOT TGeoPainter.

Definition at line 349 of file RGeomData.hxx.

◆ GetHighlightedItem()

std::vector< int > ROOT::RGeomDescription::GetHighlightedItem ( ) const
inline

Definition at line 413 of file RGeomData.hxx.

◆ GetJsonComp()

int ROOT::RGeomDescription::GetJsonComp ( ) const
inline

Returns JSON compression level for data transfer.

Definition at line 354 of file RGeomData.hxx.

◆ GetMaxVisFaces()

int ROOT::RGeomDescription::GetMaxVisFaces ( ) const
inline

Returns maximal visible number of faces, ignored when non-positive.

Definition at line 324 of file RGeomData.hxx.

◆ GetMaxVisNodes()

int ROOT::RGeomDescription::GetMaxVisNodes ( ) const
inline

Returns maximal visible number of nodes, ignored when non-positive.

Definition at line 319 of file RGeomData.hxx.

◆ GetMutex()

TVirtualMutex * ROOT::RGeomDescription::GetMutex ( ) const
inline

Return currently used mutex.

Definition at line 314 of file RGeomData.hxx.

◆ GetNSegments()

int ROOT::RGeomDescription::GetNSegments ( ) const
inline

Return of segments for cylindrical shapes, if 0 - default value will be used.

Definition at line 344 of file RGeomData.hxx.

◆ GetNumNodes()

int ROOT::RGeomDescription::GetNumNodes ( ) const
inline

Number of unique nodes in the geometry.

Definition at line 369 of file RGeomData.hxx.

◆ GetSearch()

std::string ROOT::RGeomDescription::GetSearch ( ) const
inline

Definition at line 383 of file RGeomData.hxx.

◆ GetSearchJson()

std::string ROOT::RGeomDescription::GetSearchJson ( ) const
inline

Definition at line 384 of file RGeomData.hxx.

◆ GetTopVisible()

bool ROOT::RGeomDescription::GetTopVisible ( ) const
inline

Returns draw options, used for JSROOT TGeoPainter.

Definition at line 334 of file RGeomData.hxx.

◆ GetUsedNSegments()

int RGeomDescription::GetUsedNSegments ( int  min = 20)
private

Returns really used number of cylindrical segments.

Definition at line 922 of file RGeomData.cxx.

◆ GetVisLevel()

int ROOT::RGeomDescription::GetVisLevel ( ) const
inline

Returns maximal visible level.

Definition at line 329 of file RGeomData.hxx.

◆ GetVolume()

TGeoVolume * RGeomDescription::GetVolume ( int  nodeid)
private

Get volume for specified nodeid If specific volume was configured, it will be returned for nodeid==0.

Definition at line 583 of file RGeomData.cxx.

◆ HasDrawData()

bool RGeomDescription::HasDrawData ( ) const

Check if there is draw data available.

Definition at line 1331 of file RGeomData.cxx.

◆ IsBuild()

bool ROOT::RGeomDescription::IsBuild ( ) const
inline

Definition at line 371 of file RGeomData.hxx.

◆ IsBuildShapes()

int ROOT::RGeomDescription::IsBuildShapes ( ) const
inline

Returns true if binary 3D model build already by C++ server (default)

Definition at line 339 of file RGeomData.hxx.

◆ IsPhysNodeVisible()

int RGeomDescription::IsPhysNodeVisible ( const std::vector< int > &  stack)
private

Check if there special settings for specified physical node returns -1 if nothing is found.

Definition at line 2042 of file RGeomData.cxx.

◆ IsPreferredOffline()

bool ROOT::RGeomDescription::IsPreferredOffline ( ) const
inline

Is offline operations preferred.

After get full description, client can do most operations without extra requests

Definition at line 361 of file RGeomData.hxx.

◆ IsPrincipalEndNode()

bool RGeomDescription::IsPrincipalEndNode ( int  nodeid)

return true when node used in main geometry drawing and does not have childs for such nodes one could provide optimize toggling of visibility flags

Definition at line 1394 of file RGeomData.cxx.

◆ IssueSignal()

void RGeomDescription::IssueSignal ( const void *  handler,
const std::string &  kind 
)

Issue signal, which distributed on all handlers - excluding source handler.

Definition at line 293 of file RGeomData.cxx.

◆ MakeDrawingJson()

std::string RGeomDescription::MakeDrawingJson ( RGeomDrawing drawing,
bool  has_shapes = false 
)
private

Produce JSON for the drawing If TGeoShape appears in the drawing, one has to keep typeinfo But in this case one can exclude several classes which are not interesting, but appears very often.

Definition at line 1825 of file RGeomData.cxx.

◆ MakeIdsByStack()

std::vector< int > RGeomDescription::MakeIdsByStack ( const std::vector< int > &  stack)

Produce list of node ids for given stack If found nodes preselected - use their ids.

Definition at line 1683 of file RGeomData.cxx.

◆ MakeNodeInfo()

std::unique_ptr< RGeomNodeInfo > RGeomDescription::MakeNodeInfo ( const std::vector< int > &  stack)

Change visibility for specified element Returns true if changes was performed.

Definition at line 1898 of file RGeomData.cxx.

◆ MakePathByStack()

std::vector< std::string > RGeomDescription::MakePathByStack ( const std::vector< int > &  stack)

Returns path string for provided stack.

Definition at line 1716 of file RGeomData.cxx.

◆ MakeShapeDescr()

RGeomDescription::ShapeDescr & RGeomDescription::MakeShapeDescr ( TGeoShape shape)
private

Find description object and create render information.

Definition at line 1070 of file RGeomData.cxx.

◆ MakeStackByIds()

std::vector< int > RGeomDescription::MakeStackByIds ( const std::vector< int > &  ids)

Creates stack for given array of ids, first element always should be 0.

Definition at line 1621 of file RGeomData.cxx.

◆ MakeStackByPath()

std::vector< int > RGeomDescription::MakeStackByPath ( const std::vector< std::string > &  path)

Produce stack based on string path Used to highlight geo volumes by browser hover event.

Definition at line 1665 of file RGeomData.cxx.

◆ MarkVisible()

int RGeomDescription::MarkVisible ( bool  on_screen = false)
private

Set visibility flag for each nodes.

Definition at line 594 of file RGeomData.cxx.

◆ PackMatrix()

void RGeomDescription::PackMatrix ( std::vector< float > &  arr,
TGeoMatrix matr 
)
private

Pack matrix into vector, which can be send to client Following sizes can be used for vector: 0 - Identity matrix 3 - Translation 4 - Scale (last element always 1) 9 - Rotation 16 - Full size.

Definition at line 341 of file RGeomData.cxx.

◆ ProcessBrowserRequest()

std::string RGeomDescription::ProcessBrowserRequest ( const std::string &  req = "")

Find description object for requested shape If not exists - will be created.

Definition at line 767 of file RGeomData.cxx.

◆ ProduceDrawData()

void RGeomDescription::ProduceDrawData ( )

Collect all information required to draw geometry on the client This includes list of each visible nodes, meshes and matrixes.

Definition at line 1358 of file RGeomData.cxx.

◆ ProduceDrawingFor()

bool RGeomDescription::ProduceDrawingFor ( int  nodeid,
std::string &  json,
bool  check_volume = false 
)

Produce shape rendering data for given stack All nodes, which are referencing same shape will be transferred Returns true if new render information provided.

Definition at line 1756 of file RGeomData.cxx.

◆ ProduceIdShifts()

void RGeomDescription::ProduceIdShifts ( )
private

Count total number of visible childs under each node.

Definition at line 629 of file RGeomData.cxx.

◆ ProduceJson()

std::string RGeomDescription::ProduceJson ( bool  all_nodes = false)

Produce JSON string which can be directly used with build function from JSROOT to create three.js model of configured geometry.

Collect all information required to draw geometry on the client This includes list of each visible nodes, meshes and matrixes If

Parameters
all_nodesis true, all existing nodes will be provided, which allows to create complete nodes hierarchy on client side

Example of usage:

void geom() { auto f = TFile::Open("file_name.root"); auto vol = f->Get<TGeoVolume>("object_name"); ROOT::RGeomDescription desc; desc.Build(vol); std::ofstream fout("geom.json"); fout << desc.ProduceJson(); }

In JSROOT one loads data from JSON file and call build function to produce three.js model. Also see example in tutorials/webgui/geom/ folder

Definition at line 1230 of file RGeomData.cxx.

◆ ProduceModifyReply()

std::string RGeomDescription::ProduceModifyReply ( int  nodeid)

Return string with only part of nodes description which were modified Checks also volume.

Definition at line 1733 of file RGeomData.cxx.

◆ ProduceSearchData()

void RGeomDescription::ProduceSearchData ( )

Produces search data if necessary.

Definition at line 1340 of file RGeomData.cxx.

◆ RemoveSignalHandler()

void RGeomDescription::RemoveSignalHandler ( const void *  handler)

Remove signal handler.

Definition at line 321 of file RGeomData.cxx.

◆ ResetRndrInfos()

void RGeomDescription::ResetRndrInfos ( )
private

Reset shape info, which used to pack binary data.

Definition at line 1201 of file RGeomData.cxx.

◆ SavePrimitive()

void RGeomDescription::SavePrimitive ( std::ostream &  fs,
const std::string &  name 
)

Save geometry configuration as C++ macro.

Definition at line 2142 of file RGeomData.cxx.

◆ ScanNodes()

int RGeomDescription::ScanNodes ( bool  only_visible,
int  maxlvl,
RGeomScanFunc_t  func 
)
private

Iterate over all nodes and call function for visible.

Definition at line 653 of file RGeomData.cxx.

◆ SearchVisibles()

int RGeomDescription::SearchVisibles ( const std::string &  find,
std::string &  hjson,
std::string &  json 
)

Search visible nodes for provided name If number of found elements less than 100, create description and shapes for them Returns number of match elements.

Definition at line 1411 of file RGeomData.cxx.

◆ SelectTop()

bool RGeomDescription::SelectTop ( const std::vector< std::string > &  path)

Select top node by path Used by the client to change active node Returns true if selected node was changed.

Definition at line 1945 of file RGeomData.cxx.

◆ SetActiveItem()

bool ROOT::RGeomDescription::SetActiveItem ( const std::string &  itemname)
inline

Definition at line 433 of file RGeomData.hxx.

◆ SetBuildShapes()

void ROOT::RGeomDescription::SetBuildShapes ( int  lvl = 1)
inline

Instruct to build binary 3D model already on the server (true) or send TGeoShape as is to client, which can build model itself.

Definition at line 337 of file RGeomData.hxx.

◆ SetClickedItem()

bool ROOT::RGeomDescription::SetClickedItem ( const std::vector< int > &  stack)
inline

Definition at line 419 of file RGeomData.hxx.

◆ SetDrawOptions()

void ROOT::RGeomDescription::SetDrawOptions ( const std::string &  opt = "")
inline

Set draw options as string for JSROOT TGeoPainter.

Definition at line 347 of file RGeomData.hxx.

◆ SetHighlightedItem()

bool ROOT::RGeomDescription::SetHighlightedItem ( const std::vector< int > &  stack)
inline

Definition at line 405 of file RGeomData.hxx.

◆ SetJsonComp()

void ROOT::RGeomDescription::SetJsonComp ( int  comp = 0)
inline

Set JSON compression level for data transfer.

Definition at line 352 of file RGeomData.hxx.

◆ SetMaxVisFaces()

void ROOT::RGeomDescription::SetMaxVisFaces ( int  cnt)
inline

Set maximal number of faces which should be selected for drawing.

Definition at line 322 of file RGeomData.hxx.

◆ SetMaxVisNodes()

void ROOT::RGeomDescription::SetMaxVisNodes ( int  cnt)
inline

Set maximal number of nodes which should be selected for drawing.

Definition at line 317 of file RGeomData.hxx.

◆ SetMutex()

void ROOT::RGeomDescription::SetMutex ( TVirtualMutex mutex)
inline

Set mutex, it must be recursive one.

Definition at line 312 of file RGeomData.hxx.

◆ SetNSegments()

void ROOT::RGeomDescription::SetNSegments ( int  n = 0)
inline

Set number of segments for cylindrical shapes, if 0 - default value will be used.

Definition at line 342 of file RGeomData.hxx.

◆ SetPhysNodeVisibility() [1/2]

bool RGeomDescription::SetPhysNodeVisibility ( const std::string &  path,
bool  on = true 
)

Set visibility of physical node by itemname itemname in string with path like "/TOP_1/SUB_2/NODE_3".

Definition at line 2015 of file RGeomData.cxx.

◆ SetPhysNodeVisibility() [2/2]

bool RGeomDescription::SetPhysNodeVisibility ( const std::vector< std::string > &  path,
bool  on = true 
)

Set visibility of physical node by path It overrules TGeo visibility flags - but only for specific physical node.

Definition at line 1969 of file RGeomData.cxx.

◆ SetPreferredOffline()

void ROOT::RGeomDescription::SetPreferredOffline ( bool  on)
inline

Set preference of offline operations.

Server provides more info to client from the begin on to avoid communication

Definition at line 358 of file RGeomData.hxx.

◆ SetSearch()

bool RGeomDescription::SetSearch ( const std::string &  query,
const std::string &  json 
)

Change search query and belongs to it json string Returns true if any parameter was really changed.

Definition at line 2129 of file RGeomData.cxx.

◆ SetTopVisible()

void ROOT::RGeomDescription::SetTopVisible ( bool  on = true)
inline

Set draw options as string for JSROOT TGeoPainter.

Definition at line 332 of file RGeomData.hxx.

◆ SetVisLevel()

void ROOT::RGeomDescription::SetVisLevel ( int  lvl = 3)
inline

Set maximal visible level.

Definition at line 327 of file RGeomData.hxx.

Friends And Related Symbol Documentation

◆ RGeomBrowserIter

friend class RGeomBrowserIter
friend

Definition at line 212 of file RGeomData.hxx.

Member Data Documentation

◆ fActiveItemName

std::string ROOT::RGeomDescription::fActiveItemName
private

! name of item which should be activated in hierarchy

Definition at line 262 of file RGeomData.hxx.

◆ fActualLevel

int ROOT::RGeomDescription::fActualLevel {0}
private

! level can be reduced when selecting nodes

Definition at line 259 of file RGeomData.hxx.

◆ fCfg

RGeomConfig ROOT::RGeomDescription::fCfg
private

! configuration parameter editable from GUI

Definition at line 264 of file RGeomData.hxx.

◆ fClickedStack

std::vector<int> ROOT::RGeomDescription::fClickedStack
private

! clicked element by stack

Definition at line 250 of file RGeomData.hxx.

◆ fDesc

std::vector<RGeomNode> ROOT::RGeomDescription::fDesc
private

! converted description, send to client

Definition at line 243 of file RGeomData.hxx.

◆ fDrawIdCut

int ROOT::RGeomDescription::fDrawIdCut {0}
private

! sortid used for selection of most-significant nodes

Definition at line 258 of file RGeomData.hxx.

◆ fDrawJson

std::string ROOT::RGeomDescription::fDrawJson
private

! JSON with main nodes drawn by client

Definition at line 257 of file RGeomData.hxx.

◆ fDrawVolume

TGeoVolume* ROOT::RGeomDescription::fDrawVolume {nullptr}
private

! select volume independent from TGeoManager

Definition at line 246 of file RGeomData.hxx.

◆ fHighlightedStack

std::vector<int> ROOT::RGeomDescription::fHighlightedStack
private

! highlighted element by stack

Definition at line 249 of file RGeomData.hxx.

◆ fJsonComp

int ROOT::RGeomDescription::fJsonComp {0}
private

! default JSON compression

Definition at line 261 of file RGeomData.hxx.

◆ fMutex

TVirtualMutex* ROOT::RGeomDescription::fMutex {nullptr}
private

! external mutex used to protect all data

Definition at line 266 of file RGeomData.hxx.

◆ fNodes

std::vector<TGeoNode *> ROOT::RGeomDescription::fNodes
private

! flat list of all nodes

Definition at line 242 of file RGeomData.hxx.

◆ fPreferredOffline

bool ROOT::RGeomDescription::fPreferredOffline {false}
private

! indicates that full description should be provided to client

Definition at line 260 of file RGeomData.hxx.

◆ fSearch

std::string ROOT::RGeomDescription::fSearch
private

! search string in hierarchy

Definition at line 255 of file RGeomData.hxx.

◆ fSearchJson

std::string ROOT::RGeomDescription::fSearchJson
private

! drawing json for search

Definition at line 256 of file RGeomData.hxx.

◆ fSelectedStack

std::vector<int> ROOT::RGeomDescription::fSelectedStack
private

! selected branch of geometry by stack

Definition at line 247 of file RGeomData.hxx.

◆ fShapes

std::vector<ShapeDescr> ROOT::RGeomDescription::fShapes
private

! shapes with created descriptions

Definition at line 253 of file RGeomData.hxx.

◆ fSignals

std::vector<std::pair<const void *, RGeomSignalFunc_t> > ROOT::RGeomDescription::fSignals
private

! registered signals

Definition at line 268 of file RGeomData.hxx.

◆ fSortMap

std::vector<int> ROOT::RGeomDescription::fSortMap
private

! nodes in order large -> smaller volume

Definition at line 252 of file RGeomData.hxx.

◆ fVisibility

std::vector<RGeomNodeVisibility> ROOT::RGeomDescription::fVisibility
private

! custom visibility flags for physical nodes

Definition at line 244 of file RGeomData.hxx.

Libraries for ROOT::RGeomDescription:

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