14 #ifndef ROOT_TGLFaceSet
15 #define ROOT_TGLFaceSet
21 class TGLFaceSet :
public TGLLogicalShape
24 std::vector<Double_t> fVertices;
25 std::vector<Double_t> fNormals;
26 std::vector<Int_t> fPolyDesc;
29 static Bool_t fgEnforceTriangles;
32 TGLFaceSet(
const TBuffer3D & buffer);
34 virtual void DirectDraw(TGLRnrCtx & rnrCtx)
const;
36 void SetFromMesh(
const RootCsg::TBaseMesh *m);
37 void CalculateNormals();
38 void EnforceTriangles();
40 std::vector<Double_t>& GetVertices() {
return fVertices; }
41 std::vector<Double_t>& GetNormals() {
return fNormals; }
42 std::vector<Int_t>& GetPolyDesc() {
return fPolyDesc; }
43 UInt_t GetNbPols() {
return fNbPols; }
45 static Bool_t GetEnforceTriangles();
46 static void SetEnforceTriangles(Bool_t e);
49 void GLDrawPolys()
const;
50 Int_t CheckPoints(
const Int_t *source, Int_t *dest)
const;
52 static Bool_t Eq(
const Double_t *p1,
const Double_t *p2);
54 ClassDef(TGLFaceSet,0)