56 "Static geo manager used for wrapped TGeoShapes.");
106 return &localGeoHMatrixIdentity;
113 :
REveShape(
name, title), fNSegments(0), fShape(nullptr), fCompositeShape(nullptr)
152 std::unique_ptr<REveGeoPolyShape> tmp_egps;
160 tmp_egps = std::make_unique<REveGeoPolyShape>();
164 egps = tmp_egps.get();
167 fRenderData = std::make_unique<REveRenderData>(
"makeEveGeoShape");
277 rgba[0] =
c->GetRed();
278 rgba[1] =
c->GetGreen();
279 rgba[2] =
c->GetBlue();
286 Float_t rgba[4] = { 1, 0, 0, 1 };
289 rgba[0] =
c->GetRed();
290 rgba[1] =
c->GetGreen();
291 rgba[2] =
c->GetBlue();
370 return TClass::GetClass<REvePolygonSetProjected>();
372 return TClass::GetClass<REveGeoShapeProjected>();
381 std::unique_ptr<TBuffer3D> buff;
397 for(
Int_t k = 0; k <
n; ++k) {
440 Warning(
"SetDepthLocal",
"This function only exists to fulfill an abstract interface.");
void Warning(const char *location, const char *msgfmt,...)
R__EXTERN TEveManager * gEve
R__EXTERN TGeoManager * gGeoManager
R__EXTERN TGeoIdentity * gGeoIdentity
const char * GetCTitle() const
virtual REveTrans & RefMainTrans()
Return reference to main transformation.
void SetMainColorRGB(UChar_t r, UChar_t g, UChar_t b)
Convert RGB values to Color_t and call SetMainColor.
void SetMainAlpha(Float_t alpha)
Set main-transparency via float alpha variable.
const char * GetCName() const
virtual void AddElement(REveElement *el)
Add el to the list of children.
virtual Bool_t GetRnrSelf() const
virtual Bool_t SetRnrChildren(Bool_t rnr)
Set render state of this element's children, i.e.
virtual void InitMainTrans(Bool_t can_edit=kTRUE)
Initialize the main transformation to identity matrix.
std::unique_ptr< REveRenderData > fRenderData
Externally assigned and controlled user data.
Bool_t HasChildren() const
virtual Char_t GetMainTransparency() const
virtual Bool_t SetRnrSelf(Bool_t rnr)
Set render state of this element, i.e.
virtual Bool_t GetRnrChildren() const
virtual void BuildRenderData()
Write transformation Matrix to render data.
REveGeoManagerHolder Exception-safe global variable holders.
void FillRenderData(REveRenderData &rd)
void ComputeBBox() override
Override of virtual method from TAttBBox.
std::unique_ptr< TBuffer3D > fBuff
void SetProjection(REveProjectionManager *proj, REveProjectable *model) override
This is virtual method from base-class REveProjected.
virtual ~REveGeoShapeProjected()
Destructor.
void UpdateProjection() override
This is virtual method from base-class REveProjected.
REveGeoShapeProjected()
Constructor.
void SetDepthLocal(Float_t d) override
3d buffer
static REveGeoShape * ImportShapeExtract(REveGeoShapeExtract *gse, REveElement *parent=nullptr)
Import a shape extract 'gse' under element 'parent'.
TGeoShape * MakePolyShape()
Create derived REveGeoShape form a TGeoCompositeShape.
static TGeoManager * fgGeoManager
Temporary holder (if passed shape is composite shape).
void SetNSegments(Int_t s)
Set number of segments.
void SaveExtract(const char *file, const char *name)
Save the shape tree as REveGeoShapeExtract.
TGeoShape * GetShape() const
TClass * ProjectedClass(const REveProjection *p) const override
Return class for projected objects:
static REveGeoShape * SubImportShapeExtract(REveGeoShapeExtract *gse, REveElement *parent)
Recursive version for importing a shape extract tree.
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Fill core part of JSON representation.
void ComputeBBox() override
Compute bounding-box.
void WriteExtract(const char *name)
Write the shape tree as REveGeoShapeExtract to current directory.
void SetShape(TGeoShape *s)
Set TGeoShape shown by this object.
virtual ~REveGeoShape()
Destructor.
virtual std::unique_ptr< TBuffer3D > MakeBuffer3D()
Create a TBuffer3D suitable for presentation of the shape.
void BuildRenderData() override
Crates 3D point array for rendering.
static TGeoHMatrix * GetGeoHMatrixIdentity()
Return static identity matrix in homogeneous representation.
static TGeoManager * GetGeoManager()
Return static geo-manager that is used internally to make shapes lead a happy life.
REveGeoShape(const REveGeoShape &)=delete
TGeoCompositeShape * fCompositeShape
REveGeoShapeExtract * DumpShapeTree(REveGeoShape *geon, REveGeoShapeExtract *parent=nullptr)
Export this shape and its descendants into a geoshape-extract.
virtual void SetProjection(REveProjectionManager *mng, REveProjectable *model)
Sets projection manager and reference in the projectable object.
REveProjectable * fProjectable
REveProjectionManager * fManager
REveProjectionManager Manager class for steering of projections and managing projected objects.
REveProjection * GetProjection()
REveProjection Base for specific classes that implement non-linear projections.
void ProjectPointdv(Double_t *v, Float_t d)
Project double array.
virtual Bool_t Is2D() const =0
void CopyVizParams(const REveElement *el) override
Copy visualization parameters from element el.
virtual void SetMiniFrame(Bool_t r)
virtual void SetLineColor(Color_t c)
virtual Color_t GetFillColor() const
Int_t WriteCoreJson(nlohmann::json &j, Int_t rnr_offset) override
Fill core part of JSON representation.
virtual Bool_t GetDrawFrame() const
virtual Color_t GetLineColor() const
virtual Bool_t GetMiniFrame() const
virtual void SetDrawFrame(Bool_t f)
Bool_t GetUseTrans() const
void MultiplyIP(TVector3 &v, Double_t w=1) const
Multiply vector in-place.
void SetFromArray(const Double_t arr[16])
Set matrix from Double_t array.
void BBoxCheckPoint(Float_t x, Float_t y, Float_t z)
void BBoxZero(Float_t epsilon=0, Float_t x=0, Float_t y=0, Float_t z=0)
Create cube of volume (2*epsilon)^3 at (x,y,z).
void BBoxInit(Float_t infinity=1e6)
Dynamic Float_t[6] X(min,max), Y(min,max), Z(min,max)
TClass instances represent classes, structs and namespaces in the ROOT type system.
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",...
A ROOT file is a suite of consecutive data records (TKey instances) with a well defined format.
virtual const Double_t * GetOrigin() const
virtual Double_t GetDX() const
virtual Double_t GetDZ() const
virtual Double_t GetDY() const
Class handling Boolean composition of shapes.
Matrix class used for computing global transformations Should NOT be used for node definition.
An identity transformation.
The manager class for any TGeo geometry.
The shape encapsulating an assembly (union) of volumes.
Base abstract class for all shapes.
virtual TBuffer3D * MakeBuffer3D() const
virtual void Add(TObject *obj)
virtual const char * GetTitle() const
Returns title of object.
virtual const char * GetName() const
Returns name of object.
virtual void SetNameTitle(const char *name, const char *title)
Set all the TNamed parameters (name and title).
virtual Int_t Write(const char *name=0, Int_t option=0, Int_t bufsize=0)
Write this object to the current directory.
virtual UInt_t GetUniqueID() const
Return the unique object id.
virtual void SetUniqueID(UInt_t uid)
Set the unique object id.
static constexpr double s
basic_json<> json
default JSON class