125 while ((dnode = (
TGeoNode*) next()) !=
nullptr)
276 Warning(
"Save()",
"This function is deprecated, use SaveExtract() instead.");
289 TFile f(file,
"RECREATE");
318 static const TEveException eh(
"TEveGeoNode::DumpShapeTree ");
325 if (tnode ==
nullptr)
327 Info(eh,
"Null TGeoNode for TEveGeoNode '%s': assuming it's a holder and descending.", geon->
GetName());
332 if (tvolume ==
nullptr) {
333 Warning(eh,
"Null TGeoVolume for TEveGeoNode '%s'; skipping its sub-tree.\n", geon->
GetName());
363 Warning(eh,
"Failed extracting CSG tesselation TEveGeoNode '%s'; skipping its sub-tree.\n", geon->
GetName());
384 t(1,1) = rm[0]; t(1,2) = rm[1]; t(1,3) = rm[2];
385 t(2,1) = rm[3]; t(2,2) = rm[4]; t(2,3) = rm[5];
386 t(3,1) = rm[6]; t(3,2) = rm[7]; t(3,3) = rm[8];
387 t(1,4) = tv[0]; t(2,4) = tv[1]; t(3,4) = tv[2];
400 Float_t rgba[4] = {1, 0, 0, 1.0f - transp/100.0f};
402 rgba[0] =
c->GetRed();
403 rgba[1] =
c->GetGreen();
404 rgba[2] =
c->GetBlue();
410 rgba[0] =
c->GetRed();
411 rgba[1] =
c->GetGreen();
412 rgba[2] =
c->GetBlue();
474 fMaxVisNodes (maxvisnds)
516 const char * gpn =
gEnv->
GetValue(
"GeomPainter.Name",
"");
517 if (strncmp(gpn,
"root", 4))
553 if (strncmp(gpn,
"root", 4))
563 static const TEveException eh(
"TEveGeoTopNode::VolumeVisChanged ");
564 printf(
"%s volume %s %p\n", eh.
Data(), volume->
GetName(), (
void*)volume);
573 static const TEveException eh(
"TEveGeoTopNode::VolumeColChanged ");
574 printf(
"%s volume %s %p\n", eh.
Data(), volume->
GetName(), (
void*)volume);
583 static const TEveException eh(
"TEveGeoTopNode::NodeVisChanged ");
584 printf(
"%s node %s %p\n", eh.
Data(), node->
GetName(), (
void*)node);
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize fs
R__EXTERN TGeoManager * gGeoManager
virtual Color_t GetLineColor() const
Return the line color.
virtual void SetOwner(Bool_t enable=kTRUE)
Set whether this collection is the owner (enable==true) of its content.
The color creation and management class.
static Int_t GetColor(const char *hexcolor)
Static method returning color number for color specified by hex color string of form: "#rrggbb",...
static Int_t GetColorDark(Int_t color)
Static function: Returns the dark color number corresponding to n If the TColor object does not exist...
virtual Int_t GetValue(const char *name, Int_t dflt) const
Returns the integer value for a resource.
virtual void SetValue(const char *name, const char *value, EEnvLevel level=kEnvChange, const char *type=nullptr)
Set the value of a resource or create a new resource.
Base class for TEveUtil visualization elements, providing hierarchy management, rendering control and...
virtual void AddStamp(UChar_t bits)
Add (bitwise or) given stamps to fChangeBits.
virtual void InitMainTrans(Bool_t can_edit=kTRUE)
Initialize the main transformation to identity matrix.
virtual void AddElement(TEveElement *el)
Add el to the list of children.
virtual Bool_t SetRnrSelfChildren(Bool_t rnr_self, Bool_t rnr_children)
Set state for rendering of this element and its children.
virtual void SetMainTransparency(Char_t t)
Set main-transparency.
void StampColorSelection()
virtual TEveTrans & RefMainTrans()
Return reference to main transformation.
Bool_t HasChildren() const
virtual void ExpandIntoListTree(TGListTree *ltree, TGListTreeItem *parent)
Populates parent with elements.
virtual void SetMainColor(Color_t color)
Set main color of the element.
void SetMainColorPtr(Color_t *color)
virtual Bool_t GetRnrChildren() const
virtual Bool_t GetRnrSelf() const
virtual Bool_t HasMainTrans() const
Exception class thrown by TEve classes and macros.
Exception safe wrapper for setting gGeoManager.
Wrapper for TGeoNode that allows it to be shown in GUI and controlled as a TEveElement.
Bool_t CanEditMainTransparency() const override
Can edit main transparency – not available for assemblies.
void ExpandIntoListTree(TGListTree *ltree, TGListTreeItem *parent) override
Checks if child-nodes have been imported ... imports them if not.
Bool_t CanEditMainColor() const override
Can edit main-color – not available for assemblies.
static std::list< TGeoShape * > fgTemporaryStore
TGeoNode * GetNode() const
void UpdateVolume(TGeoVolume *volume)
Updates all reve-browsers having the volume in their contents.
static Int_t fgCSGExportNSeg
TEveGeoShapeExtract * DumpShapeTree(TEveGeoNode *geon, TEveGeoShapeExtract *parent=nullptr, Bool_t leafs_only=kFALSE)
Export the node hierarchy into tree of TEveGeoShapeExtract objects.
void SetMainTransparency(Char_t t) override
Set transparency, propagate to volume's transparency.
const char * GetName() const override
Return name, taken from geo-node. Used via TObject.
void SaveExtract(const char *file, const char *name, Bool_t leafs_only)
Save the shape tree as TEveGeoShapeExtract.
void Draw(Option_t *option="") override
Draw the object.
void AddStamp(UChar_t bits) override
Override from TEveElement.
virtual void ExpandIntoListTrees()
Expand children into all list-trees.
const char * GetTitle() const override
Return title, taken from geo-node. Used via TObject.
TEveGeoNode(const TEveGeoNode &)
void WriteExtract(const char *name, Bool_t leafs_only)
Write the shape tree as TEveGeoShapeExtract to current directory.
Char_t GetMainTransparency() const override
Get transparency – it is taken from the geo node.
static Int_t GetCSGExportNSeg()
Returns number of segments used for CSG export.
void Save(const char *file, const char *name="Extract", Bool_t leafs_only=kFALSE)
Save TEveGeoShapeExtract tree starting at this node.
virtual void ExpandIntoListTreesRecursively()
Expand children into all list-trees recursively.
void UpdateNode(TGeoNode *node)
Updates all reve-browsers having the node in their contents.
const char * GetElementTitle() const override
Return title, taken from geo-node. Used via TEveElement.
const char * GetElementName() const override
Return name, taken from geo-node. Used via TEveElement.
void SetMainColor(Color_t color) override
Set color, propagate to volume's line color.
static void SetCSGExportNSeg(Int_t nseg)
Sets number of segments used for CSG export.
Description of TEveGeoPolyShape.
void SetFromFaceSet(TGLFaceSet *fs)
Set data-members from a face-set.
static TGeoHMatrix * GetGeoHMatrixIdentity()
Return static identity matrix in homogeneous representation.
A wrapper over a TGeoNode, possibly displaced with a global trasformation stored in TEveElement.
void VolumeColChanged(TGeoVolume *volume)
Callback for propagating volume parameter changes.
void Paint(Option_t *option="") override
Paint the enclosed TGeo hierarchy with visibility level and option given in data-members.
void UseNodeTrans()
Use transformation matrix from the TGeoNode.
TEveGeoTopNode(const TEveGeoTopNode &)
void AddStamp(UChar_t bits) override
Revert from TEveGeoNode back to standard behaviour, that is, do not pass visibility changes to fNode ...
void NodeVisChanged(TGeoNode *node)
Callback for propagating node visibility changes.
void Draw(Option_t *option="") override
Draw the top-node.
void VolumeVisChanged(TGeoVolume *volume)
Callback for propagating volume visibility changes.
Exception safe wrapper for setting gPad.
This was intended as a TPad wrapper to allow smart updates of groups of pads.
TEveTrans is a 4x4 transformation matrix for homogeneous coordinates stored internally in a column-ma...
void SetGeoHMatrix(TGeoHMatrix &mat)
Set TGeoHMatrix mat.
void SetFromArray(const Double_t arr[16])
Set matrix from Double_t array.
void SetFrom(Double_t *carr)
A ROOT file is an on-disk file, usually with extension .root, that stores objects in a file-system-li...
Implements a native ROOT-GL representation of an arbitrary set of polygons.
Implements VirtualViewer3D interface and fills the base-class visualization structures from pad conte...
void EndScene() override
End building of the scene.
void BeginScene() override
Start building of the scene.
TGLLogicalShape * FindLogical(TObject *logid) const override
Find and return logical shape identified by unique logid.
A list tree is a widget that can contain a number of items arranged in a tree structure.
Bool_t IsVisDaughters() const
Composite shapes are Boolean combinations of two or more shape components.
Matrix class used for computing global transformations Should NOT be used for node definition.
The manager class for any TGeo geometry.
TVirtualGeoPainter * GetGeomPainter()
Make a default painter if none present. Returns pointer to it.
void SetVisLevel(Int_t level=3)
set default level down to which visualization is performed
void SetTopVolume(TGeoVolume *vol)
Set the top volume and corresponding node as starting point of the geometry.
void SetPaintVolume(TGeoVolume *vol)
TGeoVolume * GetTopVolume() const
void SetTopVisible(Bool_t vis=kTRUE)
make top volume visible on screen
void SetMaxVisNodes(Int_t maxnodes=10000)
set the maximum number of visible nodes.
Geometrical transformation package.
virtual const Double_t * GetTranslation() const =0
virtual const Double_t * GetRotationMatrix() const =0
A node represent a volume positioned inside another.They store links to both volumes and to the TGeoM...
Bool_t IsVisDaughters() const
TGeoVolume * GetVolume() const
virtual TGeoMatrix * GetMatrix() const =0
void SetVisibility(Bool_t vis=kTRUE) override
Set visibility of the node (obsolete).
void VisibleDaughters(Bool_t vis=kTRUE)
Set visibility of the daughters (obsolete).
Base abstract class for all shapes.
static void SetTransform(TGeoMatrix *matrix)
Set current transformation matrix that applies to shape.
virtual Bool_t IsComposite() const
static TGeoMatrix * GetTransform()
Returns current transformation matrix that applies to shape.
TGeoVolume, TGeoVolumeMulti, TGeoVolumeAssembly are the volume classes.
void SetVisContainers(Bool_t flag=kTRUE) override
Set visibility for containers.
TGeoManager * GetGeoManager() const
void SetVisOnly(Bool_t flag=kTRUE) override
Set visibility for leaves.
void Draw(Option_t *option="") override
draw top volume according to option
Int_t GetNdaughters() const
void SetTransparency(Char_t transparency=0)
void SetLineColor(Color_t lcolor) override
Set the line color.
TGeoShape * GetShape() const
virtual Bool_t IsAssembly() const
Returns true if the volume is an assembly or a scaled assembly.
Char_t GetTransparency() const
virtual Bool_t IsVisible() const
void SetVisLeaves(Bool_t flag=kTRUE) override
Set visibility for leaves.
void Add(TObject *obj) override
const char * GetName() const override
Returns name of object.
const char * GetTitle() const override
Returns title of object.
Mother of all ROOT objects.
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
virtual void AppendPad(Option_t *option="")
Append graphics object to current pad.
virtual Int_t Write(const char *name=nullptr, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
virtual void Info(const char *method, const char *msgfmt,...) const
Issue info message.
void SetViewer3D(TVirtualViewer3D *viewer3d) override
void Add(TObject *obj, Option_t *opt="", Bool_t modified=kTRUE) override
Add an object to list of primitives with speicified draw option When.
const char * Data() const
Abstract class for geometry painters.
virtual void SetVisOption(Int_t option=0)=0
virtual void PaintNode(TGeoNode *node, Option_t *option="", TGeoMatrix *global=nullptr)=0
TVirtualPad is an abstract base class for the Pad and Canvas classes.