12#ifndef ROOT7_REveGeoShape
13#define ROOT7_REveGeoShape
23namespace Experimental {
25class REveGeoShapeExtract;
53 REveGeoShape(
const std::string &
name =
"REveGeoShape",
const std::string &title =
"");
91 std::unique_ptr<TBuffer3D>
fBuff;
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.
REveGeoShapeProjected(const REveGeoShapeProjected &)=delete
void UpdateProjection() override
This is virtual method from base-class REveProjected.
REveElement * GetProjectedAsElement() override
Returns this projected dynamic-casted to REveElement.
REveGeoShapeProjected()
Constructor.
void SetDepthLocal(Float_t d) override
3d buffer
REveGeoShapeProjected & operator=(const REveGeoShapeProjected &)=delete
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:
Int_t GetNSegments() const
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.
REveGeoShape & operator=(const REveGeoShape &)=delete
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.
REveProjectionManager Manager class for steering of projections and managing projected objects.
REveProjection Base for specific classes that implement non-linear projections.
Generic 3D primitive description class.
TClass instances represent classes, structs and namespaces in the ROOT type system.
Class handling Boolean composition of shapes.
Matrix class used for computing global transformations Should NOT be used for node definition.
The manager class for any TGeo geometry.
Base abstract class for all shapes.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...
static constexpr double s
basic_json<> json
default JSON class