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;
#define ClassDef(name, id)
REveGeoPolyShape(const REveGeoPolyShape &)
void FillRenderData(REveRenderData &rd)
std::vector< Int_t > fPolyDesc
REveGeoPolyShape()=default
static Bool_t fgAutoCalculateNormals
static void SetAutoEnforceTriangles(Bool_t f)
virtual void FillBuffer3D(TBuffer3D &buffer, Int_t reqSections, Bool_t localFrame) const
Fill the passed buffer 3D.
static void SetAutoCalculateNormals(Bool_t f)
void EnforceTriangles()
Use GLU tesselator to replace all polygons with N > 3 with triangles.
REveGeoPolyShape & operator=(const REveGeoPolyShape &)
Int_t CheckPoints(const Int_t *source, Int_t *dest) const
CheckPoints.
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
virtual ~REveGeoPolyShape()=default
virtual TBuffer3D * MakeBuffer3D() const
Create buffer 3D and fill it with point/segment/poly data.
std::vector< Double_t > fVertices
static Bool_t GetAutoCalculateNormals()
virtual const TBuffer3D & GetBuffer3D(Int_t reqSections, Bool_t localFrame) const
Fill static buffer 3D.
Int_t GetNumFaces() const
void CalculateNormals()
CalculateNormals per polygon (flat shading)
static Bool_t GetAutoEnforceTriangles()
static Bool_t fgAutoEnforceTriangles
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.
Class handling Boolean composition of shapes.
Base abstract class for all shapes.
bool operator<(const Edge_t &e) const
#define dest(otri, vertexptr)