12#ifdef ROOT_BUILTIN_GLU
14#elif defined(__APPLE__) && defined(__MACH__)
15#include <OpenGL/glu.h>
23#define GLAPIENTRY __stdcall
39namespace Experimental {
63 tc->fV0 =
tc->fV1 = -1;
72 tc->process_vertex(*
vi);
82 throw std::runtime_error(
"GLU::TriangleCollector tesselator requested vertex combining -- not supported yet.");
105 if (!
fTess)
throw std::bad_alloc();
153 add_triangle(fV0, fV1,
vi);
159 if (fNVertices % 2 == 0)
160 add_triangle(fV1, fV0,
vi);
162 add_triangle(fV0, fV1,
vi);
169 add_triangle(fV0, fV1,
vi);
175 throw std::runtime_error(
"GLU::TriangleCollector unexpected type in tess_vertex callback.");
184 const std::vector<UInt_t> &
polys,
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
TestTriangleHandler is just helper class to get access to protected members of TriangleCollector Hide...
static void tess_combine(GLdouble coords[3], void *vertex_data[4], GLfloat weight[4], void **outData, TriangleCollector *tc)
tess_combine
static void tess_begin(GLenum type, TriangleCollector *tc)
tess_begin
static void tess_vertex(Int_t *vi, TriangleCollector *tc)
tess_vertex
static void tess_end(TriangleCollector *tc)
tess_end
void process_vertex(UInt_t vi)
process_vertex
void add_triangle(UInt_t v0, UInt_t v1, UInt_t v2)
add triangle
std::vector< UInt_t > fPolyDesc
void ProcessData(const std::vector< Double_t > &verts, const std::vector< UInt_t > &polys, const Int_t n_polys)
ProcessData.
~TriangleCollector()
destructor
TriangleCollector()
constructor