12#ifndef ROOT7_REveGeoPolyShape
13#define ROOT7_REveGeoPolyShape
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;
int Int_t
Signed integer 4 bytes (int).
unsigned int UInt_t
Unsigned integer 4 bytes (unsigned int).
bool Bool_t
Boolean (0=false, 1=true) (bool).
double Double_t
Double 8 bytes.
const std::vector< UInt_t > & GetPolyDesc() const
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
const std::vector< Double_t > & GetVertices() const
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.
TGeoBBox(const TGeoBBox &)=delete
Composite shapes are Boolean combinations of two or more shape components.
Base abstract class for all shapes.
Namespace for ROOT features in testing.
bool operator<(const Edge_t &e) const