16#include "TGLIncludes.h"
70 glGetIntegerv(GL_SHADE_MODEL, &ex_shade_model);
71 glShadeModel(GL_FLAT);
73 glPushAttrib(GL_ENABLE_BIT | GL_POLYGON_BIT);
75 glColorMaterial(GL_FRONT_AND_BACK, GL_DIFFUSE);
76 glEnable(GL_COLOR_MATERIAL);
77 glDisable(GL_CULL_FACE);
78 if (isScaled) glEnable(GL_NORMALIZE);
79 glPushClientAttrib(GL_CLIENT_VERTEX_ARRAY_BIT);
80 glVertexPointer(3, GL_FLOAT, 0, refTS.
fVerts);
81 glEnableClientState(GL_VERTEX_ARRAY);
89 glBegin(GL_TRIANGLES);
92 glNormal3fv(nrm); nrm += 3;
100 if (!isScaled)
n.SetMag(1);
101 glNormal3d(
n.x(),
n.y(),
n.z());
106 glArrayElement(tng[0]);
107 glArrayElement(tng[1]);
108 glArrayElement(tng[2]);
115 glShadeModel(ex_shade_model);
int Int_t
Signed integer 4 bytes (int).
unsigned char UChar_t
Unsigned Character 1 byte (unsigned char).
bool Bool_t
Boolean (0=false, 1=true) (bool).
float Float_t
Float 4 bytes (float).
const char Option_t
Option string (const char).
virtual TEveTrans & RefMainTrans()
Return reference to main transformation.
Bool_t IsScale(Double_t low=0.9, Double_t high=1.1) const
Test if the transformation is a scale.
void SetBBox() override
Set bounding-box from the model.
void DirectDraw(TGLRnrCtx &rnrCtx) const override
Low-level GL rendering.
TEveTriangleSetGL()
Constructor.
~TEveTriangleSetGL() override
Destructor.
Bool_t SetModel(TObject *obj, const Option_t *opt=nullptr) override
Set model object.
Made from a list of vertices and a list of triangles (triplets of vertex indices).
Float_t * Vertex(Int_t i)
TObject * fExternalObj
! Also plays the role of ID.
TT * SetModelDynCast(TObject *obj)
void SetAxisAlignedBBox(Float_t xmin, Float_t xmax, Float_t ymin, Float_t ymax, Float_t zmin, Float_t zmax)
Set axis-aligned bounding-box.
The TGLRnrCtx class aggregates data for a given redering context as needed by various parts of the RO...
static void Color3ubv(const UChar_t *rgb)
Wrapper for glColor3ubv.
Mother of all ROOT objects.
void SetXYZ(Double_t x, Double_t y, Double_t z)
TVector3 Cross(const TVector3 &) const