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

Definition at line 24 of file REveGeoTopNode.hxx.

Classes

class  Apex
 

Public Types

enum  ERnrFlags { kRnrNone = 0 , kRnrSelf = 1 , kRnrChildren = 2 }
 

Public Member Functions

 REveGeomDescription ()
 
virtual ~REveGeomDescription ()
 
bool ChangeEveVisibility (const std::vector< int > &stack, ERnrFlags rnrFlag, bool on)
 
TGeoNodeGetApexNode ()
 
const std::vector< std::string > & GetApexPath () const
 
std::vector< intGetIndexStack ()
 
bool GetVisiblityForStack (const std::vector< int > &stack)
 
void ImportFile (const char *filePath)
 
void InitPath (const std::vector< std::string > &path)
 
TGeoNodeLocateNodeWithPath (const std::vector< std::string > &path)
 
- Public Member Functions inherited from ROOT::RGeomDescription
 RGeomDescription ()=default
 
virtual ~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 drawing data.
 
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
 
const std::vector< int > & GetSelectedStack () const
 Get top node path.
 
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.
 

Static Public Member Functions

static TGeoManagerGetGeoManager ()
 

Protected Member Functions

virtual bool IsFullModelStreamedAtOnce () const override
 Decide if the whole model is streamed at once Function is called from ProcessBrowserRequest.
 
virtual void RefineGeoItem (ROOT::RGeoItem &item, const std::vector< int > &stack) override
 Method which allows to add/modify information in RGeoItem which will be provided to client - like title or some visibility flags Changes in the item attributes do not affect geometry drawing.
 

Protected Attributes

Apex fApex
 
std::vector< RGeomNodeVisibilityfVisibilityRec
 
std::vector< RGeomNodeVisibilityfVisibilitySelf
 

Static Private Attributes

static TGeoManagers_geoManager = nullptr
 

#include <ROOT/REveGeoTopNode.hxx>

Inheritance diagram for ROOT::Experimental::REveGeomDescription:
[legend]

Member Enumeration Documentation

◆ ERnrFlags

Enumerator
kRnrNone 
kRnrSelf 
kRnrChildren 

Definition at line 53 of file REveGeoTopNode.hxx.

Constructor & Destructor Documentation

◆ REveGeomDescription()

ROOT::Experimental::REveGeomDescription::REveGeomDescription ( )
inline

Definition at line 50 of file REveGeoTopNode.hxx.

◆ ~REveGeomDescription()

virtual ROOT::Experimental::REveGeomDescription::~REveGeomDescription ( )
inlinevirtual

Definition at line 51 of file REveGeoTopNode.hxx.

Member Function Documentation

◆ ChangeEveVisibility()

bool REveGeomDescription::ChangeEveVisibility ( const std::vector< int > & stack,
ERnrFlags rnrFlag,
bool on )

Definition at line 64 of file REveGeoTopNode.cxx.

◆ GetApexNode()

TGeoNode * ROOT::Experimental::REveGeomDescription::GetApexNode ( )
inline

Definition at line 63 of file REveGeoTopNode.hxx.

◆ GetApexPath()

const std::vector< std::string > & ROOT::Experimental::REveGeomDescription::GetApexPath ( ) const
inline

Definition at line 61 of file REveGeoTopNode.hxx.

◆ GetGeoManager()

TGeoManager * REveGeomDescription::GetGeoManager ( )
static

Definition at line 215 of file REveGeoTopNode.cxx.

◆ GetIndexStack()

std::vector< int > ROOT::Experimental::REveGeomDescription::GetIndexStack ( )
inline

Definition at line 60 of file REveGeoTopNode.hxx.

◆ GetVisiblityForStack()

bool REveGeomDescription::GetVisiblityForStack ( const std::vector< int > & stack)

Definition at line 114 of file REveGeoTopNode.cxx.

◆ ImportFile()

void REveGeomDescription::ImportFile ( const char * filePath)

Definition at line 304 of file REveGeoTopNode.cxx.

◆ InitPath()

void REveGeomDescription::InitPath ( const std::vector< std::string > & path)

Definition at line 108 of file REveGeoTopNode.cxx.

◆ IsFullModelStreamedAtOnce()

virtual bool ROOT::Experimental::REveGeomDescription::IsFullModelStreamedAtOnce ( ) const
inlineoverrideprotectedvirtual

Decide if the whole model is streamed at once Function is called from ProcessBrowserRequest.

Reimplemented from ROOT::RGeomDescription.

Definition at line 31 of file REveGeoTopNode.hxx.

◆ LocateNodeWithPath()

TGeoNode * ROOT::Experimental::REveGeomDescription::LocateNodeWithPath ( const std::vector< std::string > & path)
inline

Definition at line 64 of file REveGeoTopNode.hxx.

◆ RefineGeoItem()

void REveGeomDescription::RefineGeoItem ( ROOT::RGeoItem & item,
const std::vector< int > & stack )
overrideprotectedvirtual

Method which allows to add/modify information in RGeoItem which will be provided to client - like title or some visibility flags Changes in the item attributes do not affect geometry drawing.

Reimplemented from ROOT::RGeomDescription.

Definition at line 80 of file REveGeoTopNode.cxx.

Member Data Documentation

◆ fApex

Apex ROOT::Experimental::REveGeomDescription::fApex
protected

Definition at line 47 of file REveGeoTopNode.hxx.

◆ fVisibilityRec

std::vector<RGeomNodeVisibility> ROOT::Experimental::REveGeomDescription::fVisibilityRec
protected

Definition at line 28 of file REveGeoTopNode.hxx.

◆ fVisibilitySelf

std::vector<RGeomNodeVisibility> ROOT::Experimental::REveGeomDescription::fVisibilitySelf
protected

Definition at line 27 of file REveGeoTopNode.hxx.

◆ s_geoManager

TGeoManager * REveGeomDescription::s_geoManager = nullptr
staticprivate

Definition at line 25 of file REveGeoTopNode.hxx.

Libraries for ROOT::Experimental::REveGeomDescription:

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