// @(#)root/gl:$Id$

/*************************************************************************
 * Copyright (C) 1995-2005, Rene Brun and Fons Rademakers.               *
 * All rights reserved.                                                  *
 *                                                                       *
 * For the licensing terms see $ROOTSYS/LICENSE.                         *
 * For the list of contributors see $ROOTSYS/README/CREDITS.             *
 *************************************************************************/

#include "TGLQuadric.h"
#include "TGLIncludes.h"
#include "TError.h"

//////////////////////////////////////////////////////////////////////////
//                                                                      //
// TGLOutput                                                            //
//                                                                      //
// Wrapper class for GLU quadric shape drawing object. Lazy creation of //
// internal GLU raw quadric on first call to TGLQuadric::Get()          //
//////////////////////////////////////////////////////////////////////////

ClassImp(TGLQuadric)

//______________________________________________________________________________
TGLQuadric::TGLQuadric() :
   fQuad(0)
{
   // Construct quadric
}

//______________________________________________________________________________
TGLQuadric::~TGLQuadric()
{
   // Destroy quadric
   if (fQuad) {
      gluDeleteQuadric(fQuad);
   }
}

//______________________________________________________________________________
GLUquadric * TGLQuadric::Get()
{
   // Get the internal raw GLU qaudric object. Created on first call.
   if (!fQuad) {
      fQuad = gluNewQuadric();
      if (!fQuad) {
         Error("TGLQuadric::Get", "create failed");
      } else {
         gluQuadricOrientation(fQuad, (GLenum)GLU_OUTSIDE);
         gluQuadricNormals(fQuad, (GLenum)GLU_SMOOTH);
      }
   }
   return fQuad;
}
 TGLQuadric.cxx:1
 TGLQuadric.cxx:2
 TGLQuadric.cxx:3
 TGLQuadric.cxx:4
 TGLQuadric.cxx:5
 TGLQuadric.cxx:6
 TGLQuadric.cxx:7
 TGLQuadric.cxx:8
 TGLQuadric.cxx:9
 TGLQuadric.cxx:10
 TGLQuadric.cxx:11
 TGLQuadric.cxx:12
 TGLQuadric.cxx:13
 TGLQuadric.cxx:14
 TGLQuadric.cxx:15
 TGLQuadric.cxx:16
 TGLQuadric.cxx:17
 TGLQuadric.cxx:18
 TGLQuadric.cxx:19
 TGLQuadric.cxx:20
 TGLQuadric.cxx:21
 TGLQuadric.cxx:22
 TGLQuadric.cxx:23
 TGLQuadric.cxx:24
 TGLQuadric.cxx:25
 TGLQuadric.cxx:26
 TGLQuadric.cxx:27
 TGLQuadric.cxx:28
 TGLQuadric.cxx:29
 TGLQuadric.cxx:30
 TGLQuadric.cxx:31
 TGLQuadric.cxx:32
 TGLQuadric.cxx:33
 TGLQuadric.cxx:34
 TGLQuadric.cxx:35
 TGLQuadric.cxx:36
 TGLQuadric.cxx:37
 TGLQuadric.cxx:38
 TGLQuadric.cxx:39
 TGLQuadric.cxx:40
 TGLQuadric.cxx:41
 TGLQuadric.cxx:42
 TGLQuadric.cxx:43
 TGLQuadric.cxx:44
 TGLQuadric.cxx:45
 TGLQuadric.cxx:46
 TGLQuadric.cxx:47
 TGLQuadric.cxx:48
 TGLQuadric.cxx:49
 TGLQuadric.cxx:50
 TGLQuadric.cxx:51
 TGLQuadric.cxx:52
 TGLQuadric.cxx:53
 TGLQuadric.cxx:54
 TGLQuadric.cxx:55