library: libGraf3d #include "TShape.h"

# TShape

class description - source file - inheritance tree (.pdf)

## class TShape : public TNamed, public TAttLine, public TAttFill, public TAtt3D

| Inheritance Chart:
`TObject`
| <- | `TNamed`
`TAttLine`
`TAttFill`
`TAtt3D`
| <- | `TShape` |
<- |
`TBRIK` | <- |
`TGTRA` |
`TPARA` |
`TTRAP` |
`TTRD1` |
`TTRD2` |
`TPCON` | <- |
`TPGON` |
`TPolyLineShape` |
`TSPHE` |
| [more...]

        protected:

          virtual void FillBuffer3D(TBuffer3D& buffer, Int_t reqSections) const
                 Int_t GetBasicColor() const
                 Int_t ShapeDistancetoPrimitive(Int_t numPoints, Int_t px, Int_t py)

        public:

                                   TShape()
                                   TShape(const char* name, const char* title, const char* material)
                                   TShape(const TShape&)
                           virtual ~TShape()
                    static TClass* Class()
          virtual const TBuffer3D& GetBuffer3D(Int_t reqSections) const
                        TMaterial* GetMaterial() const
                     virtual Int_t GetNumber() const
                             Int_t GetVisibility() const
                   virtual TClass* IsA() const
                           TShape& operator=(const TShape&)
                      virtual void Paint(Option_t* option = "")
                      virtual void SetName(const char* name)
                      virtual void SetPoints(Double_t* points) const
                      virtual void SetVisibility(Int_t vis)
                      virtual void ShowMembers(TMemberInspector& insp, char* parent)
                      virtual void Streamer(TBuffer& b)
                              void StreamerNVirtual(TBuffer& b)
                              void TransformPoints(Double_t* points, UInt_t NbPnts) const

### Data Members

        protected:

               Int_t fNumber      Shape number
               Int_t fVisibility  Visibility flag
          TMaterial* fMaterial    Pointer to material

## Class Description

      This is the base class for all geometry shapes.
      The list of shapes currently supported correspond to the shapes
      in Geant version 3:
         TBRIK,TCONE,TCONS,TGTRA,TPARA,TPCON,TPGON
        ,TTRAP,TTRD1,TTRD2,THYPE, TTUBE and TTUBS.

      The figure below shows instances of all these shapes. This figure
      is generated by the ROOT 3-D viewer.

/* */

/* */

TShape()

     Shape default constructor

TShape(const char *name,const char *title, const char *materialname) : TNamed (name, title), TAttLine(), TAttFill()

     Shape normal constructor

~TShape()

     Shape default destructor

Int_t ShapeDistancetoPrimitive(Int_t numPoints, Int_t px, Int_t py)

void Paint(Option_t *)

void SetPoints(Double_t *) const

void Streamer(TBuffer &R__b)

     Stream an object of class TShape.

void TransformPoints(Double_t *points, UInt_t NbPnts) const

     Tranform points (LocalToMaster)

void FillBuffer3D(TBuffer3D & buffer, Int_t reqSections) const

     We have to set kRawSize (unless already done) to allocate buffer space
     before kRaw can be filled

Int_t GetBasicColor() const

const TBuffer3D& GetBuffer3D(Int_t /* reqSections */ ) const

     Stub to avoid forcing implementation at this stage

### Inline Functions

             TMaterial* GetMaterial() const
                  Int_t GetNumber() const
                  Int_t GetVisibility() const
                   void SetName(const char* name)
                   void SetVisibility(Int_t vis)
                TClass* Class()
                TClass* IsA() const
                   void ShowMembers(TMemberInspector& insp, char* parent)
                   void StreamerNVirtual(TBuffer& b)
                 TShape TShape(const TShape&)
                TShape& operator=(const TShape&)

Author: Nenad Buncic 17/09/95
Last update: root/g3d:$Name: $:$Id: TShape.cxx,v 1.8 2005/03/11 11:44:25 brun Exp $
Copyright (C) 1995-2000, Rene Brun and Fons Rademakers. *