Logo ROOT  
Reference Guide
REveGluTess.hxx
Go to the documentation of this file.
1 // @(#)root/eve7:$Id$
2 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007, 2018
3 
4 /*************************************************************************
5  * Copyright (C) 1995-2019, Rene Brun and Fons Rademakers. *
6  * All rights reserved. *
7  * *
8  * For the licensing terms see $ROOTSYS/LICENSE. *
9  * For the list of contributors see $ROOTSYS/README/CREDITS. *
10  *************************************************************************/
11 
12 
13 #ifndef ROOT7_REveGluTess
14 #define ROOT7_REveGluTess
15 
16 #include "Rtypes.h"
17 
18 #include <vector>
19 
20 struct GLUtesselator;
21 
22 namespace ROOT {
23 namespace Experimental {
24 namespace EveGlu {
25 
26 //==============================================================================
27 // TriangleCollector
28 //==============================================================================
29 
30 class TestTriangleHandler;
31 
33  friend class TestTriangleHandler;
34 protected:
35  GLUtesselator *fTess{nullptr};
38  Int_t fV0{-1}, fV1{-1};
40  std::vector<UInt_t> fPolyDesc;
41 
43  void process_vertex(UInt_t vi);
44 
45 public:
48 
49  // Process polygons
50  void ProcessData(const std::vector<Double_t> &verts, const std::vector<UInt_t> &polys, const Int_t n_polys);
51 
52  // Get output
54  std::vector<UInt_t> &RefPolyDesc() { return fPolyDesc; }
55 };
56 
57 } // namespace EveGlu
58 } // namespace Experimental
59 } // namespace ROOT
60 
61 #endif
GLUtesselator
Definition: tess.h:59
ROOT::Experimental::EveGlu::TriangleCollector::TriangleCollector
TriangleCollector()
constructor
Definition: REveGluTess.cxx:95
v0
@ v0
Definition: rootcling_impl.cxx:3636
ROOT::Experimental::EveGlu::TriangleCollector::GetNTrianlges
Int_t GetNTrianlges()
Definition: REveGluTess.hxx:53
ROOT::Experimental::EveGlu::TriangleCollector::fNTriangles
Int_t fNTriangles
Definition: REveGluTess.hxx:36
ROOT::Experimental::EveGlu::TriangleCollector::fV1
Int_t fV1
Definition: REveGluTess.hxx:38
ROOT::Experimental::EveGlu::TriangleCollector::fV0
Int_t fV0
Definition: REveGluTess.hxx:38
ROOT::Experimental::EveGlu::TriangleCollector
Definition: REveGluTess.hxx:32
ROOT::Experimental::EveGlu::TriangleCollector::TestTriangleHandler
friend class TestTriangleHandler
Definition: REveGluTess.hxx:33
ROOT::Experimental::EveGlu::TriangleCollector::RefPolyDesc
std::vector< UInt_t > & RefPolyDesc()
Definition: REveGluTess.hxx:54
ROOT::Experimental::EveGlu::TriangleCollector::fNVertices
Int_t fNVertices
Definition: REveGluTess.hxx:37
polys
polygon * polys
Definition: X3DBuffer.c:24
ROOT::Experimental::EveGlu::TriangleCollector::fTess
GLUtesselator * fTess
Definition: REveGluTess.hxx:35
ROOT::Experimental::EveGlu::TriangleCollector::fType
Int_t fType
Definition: REveGluTess.hxx:39
ROOT::Experimental::EveGlu::TriangleCollector::process_vertex
void process_vertex(UInt_t vi)
process_vertex
Definition: REveGluTess.cxx:130
unsigned int
ROOT::Experimental::EveGlu::TriangleCollector::add_triangle
void add_triangle(UInt_t v0, UInt_t v1, UInt_t v2)
add triangle
Definition: REveGluTess.cxx:118
ROOT::Experimental::EveGlu::TriangleCollector::ProcessData
void ProcessData(const std::vector< Double_t > &verts, const std::vector< UInt_t > &polys, const Int_t n_polys)
ProcessData.
Definition: REveGluTess.cxx:177
v1
@ v1
Definition: rootcling_impl.cxx:3637
v2
@ v2
Definition: rootcling_impl.cxx:3638
ROOT::Experimental::EveGlu::TriangleCollector::~TriangleCollector
~TriangleCollector()
destructor
Definition: REveGluTess.cxx:110
ROOT::Experimental::EveGlu::TriangleCollector::fPolyDesc
std::vector< UInt_t > fPolyDesc
Definition: REveGluTess.hxx:40
Rtypes.h
ROOT
VSD Structures.
Definition: StringConv.hxx:21
int