ROOT logo
// $Id: TGeoShapeExtract.h 2088 2008-11-23 20:26:46Z matevz $

// Copyright (C) 1999-2008, Matevz Tadel. All rights reserved.
// This file is part of GLED, released under GNU General Public License version 2.
// For the licensing terms see $GLEDSYS/LICENSE or http://www.gnu.org/.

#ifndef RootGeo_TGeoShapeExtract_H
#define RootGeo_TGeoShapeExtract_H

#include <TNamed.h>

class TList;
class TGeoShape;

class TGeoShapeExtract : public TNamed
{
  friend class ZGeoRepacker;

  TGeoShapeExtract(const TGeoShapeExtract&);            // Not implemented
  TGeoShapeExtract& operator=(const TGeoShapeExtract&); // Not implemented

protected:
  Double_t    mTrans[16];
  Float_t     mRGBA[4];
  Bool_t      mRnrSelf;
  Bool_t      mRnrElements;
  TGeoShape*  mShape;
  TList*      mElements;

public:
  TGeoShapeExtract(const Text_t* n="TGeoShapeExtract", const Text_t* t=0);
  ~TGeoShapeExtract();

  Bool_t HasElements();
  void   AddElement(TGeoShapeExtract* gse);

  void SetTrans(const Double_t arr[16]);
  void SetRGBA (const Float_t  arr[4]);
  void SetRnrSelf(Bool_t r)     { mRnrSelf = r;     }
  void SetRnrElements(Bool_t r) { mRnrElements = r; }
  void SetShape(TGeoShape* s)   { mShape = s;       }
  void SetElements(TList* e)    { mElements = e;    }

  Double_t*  GetTrans()       { return mTrans; }
  Float_t*   GetRGBA()        { return mRGBA;  }
  Bool_t     GetRnrSelf()     { return mRnrSelf;     }
  Bool_t     GetRnrElements() { return mRnrElements; }
  TGeoShape* GetShape()       { return mShape;    }
  TList*     GetElements()    { return mElements; }

  ClassDef(TGeoShapeExtract, 1);
}; // endclass TGeoShapeExtract

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