// @(#)root/gl:$Id$
// Author:  Matevz Tadel, Feb 2007

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

#ifndef ROOT_TGLPShapeRef
#define ROOT_TGLPShapeRef

#include <Rtypes.h>

class TGLPhysicalShape;

class TGLPShapeRef
{
   friend class TGLPhysicalShape;
private:
   TGLPShapeRef(const TGLPShapeRef&);            // Not implemented
   TGLPShapeRef& operator=(const TGLPShapeRef&); // Not implemented

   TGLPShapeRef * fNextPSRef;  // Internal pointer to the next reference (used by TGLPhysicalShape directly).

protected:
   TGLPhysicalShape * fPShape; // Pointer to referenced physical shape.

public:
   TGLPShapeRef();
   TGLPShapeRef(TGLPhysicalShape * shape);
   virtual ~TGLPShapeRef();

   TGLPhysicalShape * GetPShape() const { return fPShape; }
   virtual void SetPShape(TGLPhysicalShape * shape);
   virtual void PShapeModified();

   ClassDef(TGLPShapeRef, 0); // Reference to a TGLPhysicalShape object.
}; // endclass TGLPShapeRef


#endif
 TGLPShapeRef.h:1
 TGLPShapeRef.h:2
 TGLPShapeRef.h:3
 TGLPShapeRef.h:4
 TGLPShapeRef.h:5
 TGLPShapeRef.h:6
 TGLPShapeRef.h:7
 TGLPShapeRef.h:8
 TGLPShapeRef.h:9
 TGLPShapeRef.h:10
 TGLPShapeRef.h:11
 TGLPShapeRef.h:12
 TGLPShapeRef.h:13
 TGLPShapeRef.h:14
 TGLPShapeRef.h:15
 TGLPShapeRef.h:16
 TGLPShapeRef.h:17
 TGLPShapeRef.h:18
 TGLPShapeRef.h:19
 TGLPShapeRef.h:20
 TGLPShapeRef.h:21
 TGLPShapeRef.h:22
 TGLPShapeRef.h:23
 TGLPShapeRef.h:24
 TGLPShapeRef.h:25
 TGLPShapeRef.h:26
 TGLPShapeRef.h:27
 TGLPShapeRef.h:28
 TGLPShapeRef.h:29
 TGLPShapeRef.h:30
 TGLPShapeRef.h:31
 TGLPShapeRef.h:32
 TGLPShapeRef.h:33
 TGLPShapeRef.h:34
 TGLPShapeRef.h:35
 TGLPShapeRef.h:36
 TGLPShapeRef.h:37
 TGLPShapeRef.h:38
 TGLPShapeRef.h:39
 TGLPShapeRef.h:40
 TGLPShapeRef.h:41
 TGLPShapeRef.h:42
 TGLPShapeRef.h:43
 TGLPShapeRef.h:44