74 paintComponents =
gPad->GetViewer3D()->OpenComposite(buff);
85 gPad->GetViewer3D()->CloseComposite();
92 ::Warning(
"TEveGeoPolyShape::Construct",
"Failed extracting CSG tesselation for shape '%s'.", cshape->
GetName());
142 std::map<Edge_t, Int_t> edges;
148 for (
UInt_t j = 0; j < nv; ++j)
150 Edge_t e(pd[j], (j != nv - 1) ? pd[j+1] : pd[0]);
151 if (edges.find(e) == edges.end())
153 edges.insert(std::make_pair(e, 0));
164 Int_t si = 0, scnt = 0;
165 for (std::map<Edge_t, Int_t>::iterator i = edges.begin(); i != edges.end(); ++i)
168 b.
fSegs[si++] = i->first.fI;
169 b.
fSegs[si++] = i->first.fJ;
180 for (
UInt_t j = 0; j < nv; ++j)
182 b.
fPols[pi++] = edges[
Edge_t(pd[j], (j != nv - 1) ? pd[j+1] : pd[0])];
std::vector< Int_t > fPolyDesc
static constexpr double pi
TList * GetListOfPrimitives() const
static TGeoHMatrix * GetGeoHMatrixIdentity()
Return static identity matrix in homogeneous representation.
virtual Double_t GetDX() const
std::vector< Int_t > & GetPolyDesc()
Geometrical transformation package.
std::vector< Double_t > fVertices
Implements a native ROOT-GL representation of an arbitrary set of polygons.
void SetLocalMasterIdentity()
Set kRaw tessellation section of buffer with supplied sizes.
void ClearSectionsValid()
Clear any sections marked valid.
static UInt_t GetCSLevel()
Return CS level.
virtual void FillBuffer3D(TBuffer3D &buffer, Int_t reqSections, Bool_t localFrame) const
Fill the passed buffer 3D.
TEveGeoPolyShape()
Constructor.
Exception safe wrapper for setting gPad.
virtual TGLLogicalShape * FindLogical(TObject *logid) const
Find and return logical shape identified by unique logid.
static TGeoManager * GetGeoMangeur()
Return static geo-manager that is used internally to make shapes lead a happy life.
Description of TEveGeoPolyShape.
virtual void Paint(Option_t *option)
Special schema for feeding the 3D buffers to the painter client.
static void IncCSLevel()
Increment CS level.
static void SetTransform(TGeoMatrix *matrix)
Set current transformation matrix that applies to shape.
std::vector< Double_t > & GetVertices()
void SetSectionsValid(UInt_t mask)
Class handling Boolean composition of shapes.
virtual const char * GetName() const
Get the shape name.
void SetAABoundingBox(const Double_t origin[3], const Double_t halfLengths[3])
Set fBBVertex in kBoundingBox section to a axis aligned (local) BB using supplied origin and box half...
Exception safe wrapper for setting gGeoManager.
void SetFromFaceSet(TGLFaceSet *fs)
Set data-members from a face-set.
virtual const Double_t * GetOrigin() const
Implements VirtualViewer3D interface and fills the base-class visualization structures from pad conte...
Bool_t SetRawSizes(UInt_t reqPnts, UInt_t reqPntsCapacity, UInt_t reqSegs, UInt_t reqSegsCapacity, UInt_t reqPols, UInt_t reqPolsCapacity)
Set kRaw tessellation section of buffer with supplied sizes.
Generic 3D primitive description class.
virtual void SetViewer3D(TVirtualViewer3D *viewer3d)
virtual void BeginScene()
Start building of the scene.
virtual Double_t GetDY() const
static UInt_t DecCSLevel()
Decrement CS level.
virtual const TBuffer3D & GetBuffer3D(Int_t reqSections, Bool_t localFrame) const
Fill static buffer 3D.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t e
static TGeoMatrix * GetTransform()
Returns current transformation matrix that applies to shape.
This was intended as a TPad wrapper to allow smart updates of groups of pads.
virtual void EndScene()
End building of the scene.
virtual void Add(TObject *obj)
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t Double_t b
static TEveGeoPolyShape * Construct(TGeoCompositeShape *cshp, Int_t n_seg)
Static constructor from a composite shape.
TGeoBoolNode * GetBoolNode() const
virtual void Warning(const char *method, const char *msgfmt,...) const
Issue warning message.
virtual Double_t GetDZ() const
virtual TBuffer3D * MakeBuffer3D() const
Create buffer 3D and fill it with point/segment/poly data.