86 return fNode->GetName();
94 return fNode->GetTitle();
102 return fNode->GetName();
110 return fNode->GetTitle();
124 while ((dnode = (
TGeoNode*) next()) !=
nullptr)
178 return !
fNode->GetVolume()->IsAssembly();
187 fNode->GetVolume()->SetLineColor(color);
195 return !
fNode->GetVolume()->IsAssembly();
203 return fNode->GetVolume()->GetTransparency();
212 fNode->GetVolume()->SetTransparency(t);
251 if(
fNode->GetVolume() == volume)
266 fNode->GetVolume()->Draw(opt);
275 Warning(
"Save()",
"This function is deprecated, use SaveExtract() instead.");
288 TFile f(file,
"RECREATE");
317 static const TEveException eh(
"TEveGeoNode::DumpShapeTree ");
324 if (tnode ==
nullptr)
326 Info(eh,
"Null TGeoNode for TEveGeoNode '%s': assuming it's a holder and descending.", geon->
GetName());
331 if (tvolume ==
nullptr) {
332 Warning(eh,
"Null TGeoVolume for TEveGeoNode '%s'; skipping its sub-tree.\n", geon->
GetName());
362 Warning(eh,
"Failed extracting CSG tesselation TEveGeoNode '%s'; skipping its sub-tree.\n", geon->
GetName());
383 t(1,1) = rm[0]; t(1,2) = rm[1]; t(1,3) = rm[2];
384 t(2,1) = rm[3]; t(2,2) = rm[4]; t(2,3) = rm[5];
385 t(3,1) = rm[6]; t(3,2) = rm[7]; t(3,3) = rm[8];
386 t(1,4) = tv[0]; t(2,4) = tv[1]; t(3,4) = tv[2];
399 Float_t rgba[4] = {1, 0, 0, 1.0f - transp/100.0f};
401 rgba[0] =
c->GetRed();
402 rgba[1] =
c->GetGreen();
403 rgba[2] =
c->GetBlue();
409 rgba[0] =
c->GetRed();
410 rgba[1] =
c->GetGreen();
411 rgba[2] =
c->GetBlue();
514 const char * gpn =
gEnv->GetValue(
"GeomPainter.Name",
"");
515 if (strncmp(gpn,
"root", 4))
516 gEnv->SetValue(
"GeomPainter.Name",
"root");
551 if (strncmp(gpn,
"root", 4))
552 gEnv->SetValue(
"GeomPainter.Name", gpn);
561 static const TEveException eh(
"TEveGeoTopNode::VolumeVisChanged ");
562 printf(
"%s volume %s %p\n", eh.
Data(), volume->
GetName(), (
void*)volume);
571 static const TEveException eh(
"TEveGeoTopNode::VolumeColChanged ");
572 printf(
"%s volume %s %p\n", eh.
Data(), volume->
GetName(), (
void*)volume);
581 static const TEveException eh(
"TEveGeoTopNode::NodeVisChanged ");
582 printf(
"%s node %s %p\n", eh.
Data(), node->
GetName(), (
void*)node);
int Int_t
Signed integer 4 bytes (int).
unsigned char UChar_t
Unsigned Character 1 byte (unsigned char).
char Char_t
Character 1 byte (char).
bool Bool_t
Boolean (0=false, 1=true) (bool).
double Double_t
Double 8 bytes.
short Color_t
Color number (short).
float Float_t
Float 4 bytes (float).
const char Option_t
Option string (const char).
externTGeoManager * 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.
static Int_t GetColorDark(Int_t color)
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()
sLTI_t fItems
! Set of list-tree-items.
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
TEveElement()
Default constructor.
virtual Bool_t GetRnrSelf() const
virtual Bool_t HasMainTrans() const
Exception class thrown by TEve classes and macros.
Exception safe wrapper for setting gGeoManager.
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.
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 file, usually with extension .root, that stores data and code in the form of serialized objects in ...
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.
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
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.
TGeoManager * GetGeoManager() const
TGeoShape * GetShape() const
Char_t GetTransparency() const
virtual Bool_t IsVisible() const
void Add(TObject *obj) override
const char * GetName() const override
Returns name of object.
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.
TObject()
TObject constructor.
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 specified 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.