TEveGeoShapeExtract.h

Go to the documentation of this file.
00001 // @(#)root/eve:$Id: TEveGeoShapeExtract.h 36892 2010-11-24 10:24:35Z matevz $
00002 // Authors: Matevz Tadel & Alja Mrak-Tadel: 2006, 2007
00003 
00004 /*************************************************************************
00005  * Copyright (C) 1995-2007, Rene Brun and Fons Rademakers.               *
00006  * All rights reserved.                                                  *
00007  *                                                                       *
00008  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00009  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00010  *************************************************************************/
00011 
00012 #ifndef ROOT_TEveGeoShapeExtract
00013 #define ROOT_TEveGeoShapeExtract
00014 
00015 #include "TNamed.h"
00016 
00017 class TList;
00018 class TGeoShape;
00019 
00020 class TEveGeoShapeExtract : public TNamed
00021 {
00022    TEveGeoShapeExtract(const TEveGeoShapeExtract&);            // Not implemented
00023    TEveGeoShapeExtract& operator=(const TEveGeoShapeExtract&); // Not implemented
00024 
00025 protected:
00026    Double_t    fTrans[16];   // Transformation matrix, 4x4 column major.
00027    Float_t     fRGBA[4];     // RGBA color.
00028    Float_t     fRGBALine[4]; // RGBA color.
00029    Bool_t      fRnrSelf;     // Render this object.
00030    Bool_t      fRnrElements; // Render children of this object.
00031    Bool_t      fRnrFrame;    // Also draw shape outline.
00032    Bool_t      fMiniFrame;   // Minimize shape outline when drawing.
00033    TGeoShape*  fShape;       // Shape to be drawn for this object.
00034    TList*      fElements;    // Children elements.
00035 
00036 public:
00037    TEveGeoShapeExtract(const char* n="TEveGeoShapeExtract", const char* t=0);
00038    ~TEveGeoShapeExtract();
00039 
00040    Bool_t HasElements();
00041    void   AddElement(TEveGeoShapeExtract* gse);
00042 
00043    void SetTrans(const Double_t arr[16]);
00044    void SetRGBA (const Float_t  arr[4]);
00045    void SetRGBALine(const Float_t  arr[4]);
00046    void SetRnrSelf(Bool_t r)     { fRnrSelf = r;     }
00047    void SetRnrElements(Bool_t r) { fRnrElements = r; }
00048    void SetRnrFrame(Bool_t r)    { fRnrFrame = r; }
00049    void SetMiniFrame(Bool_t r)   { fMiniFrame = r; }
00050    void SetShape(TGeoShape* s)   { fShape = s;       }
00051    void SetElements(TList* e)    { fElements = e;    }
00052 
00053    Double_t*  GetTrans()       { return fTrans; }
00054    Float_t*   GetRGBA()        { return fRGBA;  }
00055    Float_t*   GetRGBALine()    { return fRGBALine; }
00056    Bool_t     GetRnrSelf()     { return fRnrSelf;     }
00057    Bool_t     GetRnrElements() { return fRnrElements; }
00058    Bool_t     GetRnrFrame()    { return fRnrFrame; }
00059    Bool_t     GetMiniFrame()   { return fMiniFrame; }
00060    TGeoShape* GetShape()       { return fShape;    }
00061    TList*     GetElements()    { return fElements; }
00062 
00063    ClassDef(TEveGeoShapeExtract, 2); // Globally positioned TGeoShape with rendering attributes and an optional list of daughter shape-extracts.
00064 };
00065 
00066 #endif

Generated on Tue Jul 5 14:14:56 2011 for ROOT_528-00b_version by  doxygen 1.5.1