12#ifndef ROOT7_REveGeoPolyShape
13#define ROOT7_REveGeoPolyShape
24namespace Experimental {
53 if (i <= j) {
fI = i;
fJ = j; }
54 else {
fI = j;
fJ = i; }
59 if (
fI ==
e.fI)
return fJ <
e.fJ;
60 else return fI <
e.fI;
void FillRenderData(REveRenderData &rd)
REveGeoPolyShape()=default
static Bool_t fgAutoCalculateNormals
static void SetAutoEnforceTriangles(Bool_t f)
const TBuffer3D & GetBuffer3D(Int_t reqSections, Bool_t localFrame) const override
Fill static buffer 3D.
~REveGeoPolyShape() override=default
std::vector< UInt_t > fPolyDesc
static void SetAutoCalculateNormals(Bool_t f)
void EnforceTriangles()
Use GLU tesselator to replace all polygons with N > 3 with triangles.
void BuildFromShape(TGeoShape *shape, Int_t n_seg=60)
Produce all polygons from normal shape.
void BuildFromComposite(TGeoCompositeShape *cshp, Int_t n_seg=60)
Produce all polygons from composite shape.
std::vector< Double_t > fNormals
ClassDefOverride(REveGeoPolyShape, 1)
REveGeoPolyShape(const REveGeoPolyShape &)=delete
REveGeoPolyShape & operator=(const REveGeoPolyShape &)=delete
void FillBuffer3D(TBuffer3D &buffer, Int_t reqSections, Bool_t localFrame) const override
Fill the passed buffer 3D.
std::vector< Double_t > fVertices
static Bool_t GetAutoCalculateNormals()
Int_t GetNumFaces() const
void CalculateNormals()
CalculateNormals per polygon (flat shading)
static Bool_t GetAutoEnforceTriangles()
static Bool_t fgAutoEnforceTriangles
TBuffer3D * MakeBuffer3D() const override
Create buffer 3D and fill it with point/segment/poly data.
Int_t CheckPoints(const UInt_t *source, UInt_t *dest) const
CheckPoints.
void SetFromBuff3D(const TBuffer3D &buffer)
Set data-members from a Csg mesh.
static Bool_t Eq(const Double_t *p1, const Double_t *p2)
Test equality of points with epsilon 1e-10.
Generic 3D primitive description class.
Composite shapes are Boolean combinations of two or more shape components.
Base abstract class for all shapes.
This file contains a specialised ROOT message handler to test for diagnostic in unit tests.
bool operator<(const Edge_t &e) const
#define dest(otri, vertexptr)