3 /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
4 * See cxx source for full Copyright notice */
11 /* -------------------------------------------------------------------------- */
15 /* This file is part of the ALICE Geometry Database . */
17 /* Author: Joana E. Santo */
19 /* -------------------------------------------------------------------------- */
20 /* The shape virtual class represents the basic elements used in this */
21 /* geometry to build the constituents of a detector. Deriving from this */
22 /* class there are simple shapes like box, sphere, cone and thorus, */
23 /* supershapes that are obtained from the previous by Boolean operations */
24 /* and also user defined shapes. */
31 //#ifndef ROOT_TMaterial
32 //#include <TMaterial.h>
43 #ifndef ROOT_X3DBuffer
44 #include <X3DBuffer.h>
47 #ifndef ROOT_TPolyLine3D
48 #include <TPolyLine3D.h>
53 extern "C" { void FillX3DBuffer (X3DBuffer *buff); }
55 class AliGShape: public TNamed, public TAttLine, public TAttFill {
60 AliGShape(Text_t* name, Text_t* title);
62 AliGShape( AliGShape* shape ); // Copy Constructor
63 virtual ~AliGShape() {}
65 Int_t DistancetoPrimitive(Int_t, Int_t);
66 Int_t GetCol() { return fColor; }
67 virtual Bool_t Is3D () {return kTRUE;}
68 virtual void Paint(Option_t *option="");
69 virtual void PaintGLPoints(Float_t *vertex);
70 virtual void PaintShape(X3DBuffer *buff, Bool_t rangeView);
71 void SetCol( Int_t color ) { fColor = color; }
72 virtual void SetName(const Text_t *name);
73 virtual void SetPoints(Float_t *buffer);
75 ClassDef(AliGShape,1) //Generic shape class
78 R__EXTERN AliGNode* gNode;
79 R__EXTERN TVector* gMatrix;
80 R__EXTERN Size3D gSize3D;
82 inline void AliGShape::PaintGLPoints(Float_t *) { }
83 inline void AliGShape::SetName(const Text_t *) { }