49 TBRIK::TBRIK(
const char *name, 
const char *title, 
const char *material, Float_t dx, Float_t dy, Float_t dz)
 
   50       : TShape (name, title,material)
 
   70 Int_t TBRIK::DistancetoPrimitive(Int_t px, Int_t py)
 
   72    const Int_t numPoints = 8;
 
   73    return ShapeDistancetoPrimitive(numPoints,px,py);
 
   79 void TBRIK::SetPoints(Double_t *points)
 const 
   82       points[ 0] = -fDx ; points[ 1] = -fDy ; points[ 2] = -fDz;
 
   83       points[ 3] = -fDx ; points[ 4] =  fDy ; points[ 5] = -fDz;
 
   84       points[ 6] =  fDx ; points[ 7] =  fDy ; points[ 8] = -fDz;
 
   85       points[ 9] =  fDx ; points[10] = -fDy ; points[11] = -fDz;
 
   86       points[12] = -fDx ; points[13] = -fDy ; points[14] =  fDz;
 
   87       points[15] = -fDx ; points[16] =  fDy ; points[17] =  fDz;
 
   88       points[18] =  fDx ; points[19] =  fDy ; points[20] =  fDz;
 
   89       points[21] =  fDx ; points[22] = -fDy ; points[23] =  fDz;
 
   96 void TBRIK::Sizeof3D()
 const 
   98    gSize3D.numPoints += 8;
 
   99    gSize3D.numSegs   += 12;
 
  100    gSize3D.numPolys  += 6;
 
  106 const TBuffer3D & TBRIK::GetBuffer3D(Int_t reqSections)
 const 
  108    static TBuffer3D buffer(TBuffer3DTypes::kGeneric);
 
  110    TShape::FillBuffer3D(buffer, reqSections);
 
  114    if (reqSections & TBuffer3D::kRawSizes) {
 
  118       if (buffer.SetRawSizes(nbPnts, nbPnts*3, nbSegs, nbSegs*3, nbPols, nbPols*6)) {
 
  119          buffer.SetSectionsValid(TBuffer3D::kRawSizes);
 
  122    if ((reqSections & TBuffer3D::kRaw) && buffer.SectionsValid(TBuffer3D::kRawSizes)) {
 
  124       SetPoints(buffer.fPnts);
 
  125       if (!buffer.fLocalFrame) {
 
  126          TransformPoints(buffer.fPnts, buffer.NbPnts());
 
  129       Int_t c = GetBasicColor();
 
  132       buffer.fSegs[ 0] = c   ; buffer.fSegs[ 1] = 0   ; buffer.fSegs[ 2] = 1   ;
 
  133       buffer.fSegs[ 3] = c+1 ; buffer.fSegs[ 4] = 1   ; buffer.fSegs[ 5] = 2   ;
 
  134       buffer.fSegs[ 6] = c+1 ; buffer.fSegs[ 7] = 2   ; buffer.fSegs[ 8] = 3   ;
 
  135       buffer.fSegs[ 9] = c   ; buffer.fSegs[10] = 3   ; buffer.fSegs[11] = 0   ;
 
  136       buffer.fSegs[12] = c+2 ; buffer.fSegs[13] = 4   ; buffer.fSegs[14] = 5   ;
 
  137       buffer.fSegs[15] = c+2 ; buffer.fSegs[16] = 5   ; buffer.fSegs[17] = 6   ;
 
  138       buffer.fSegs[18] = c+3 ; buffer.fSegs[19] = 6   ; buffer.fSegs[20] = 7   ;
 
  139       buffer.fSegs[21] = c+3 ; buffer.fSegs[22] = 7   ; buffer.fSegs[23] = 4   ;
 
  140       buffer.fSegs[24] = c   ; buffer.fSegs[25] = 0   ; buffer.fSegs[26] = 4   ;
 
  141       buffer.fSegs[27] = c+2 ; buffer.fSegs[28] = 1   ; buffer.fSegs[29] = 5   ;
 
  142       buffer.fSegs[30] = c+1 ; buffer.fSegs[31] = 2   ; buffer.fSegs[32] = 6   ;
 
  143       buffer.fSegs[33] = c+3 ; buffer.fSegs[34] = 3   ; buffer.fSegs[35] = 7   ;
 
  146       buffer.fPols[ 0] = c   ; buffer.fPols[ 1] = 4   ;  buffer.fPols[ 2] = 0  ;
 
  147       buffer.fPols[ 3] = 9   ; buffer.fPols[ 4] = 4   ;  buffer.fPols[ 5] = 8  ;
 
  148       buffer.fPols[ 6] = c+1 ; buffer.fPols[ 7] = 4   ;  buffer.fPols[ 8] = 1  ;
 
  149       buffer.fPols[ 9] = 10  ; buffer.fPols[10] = 5   ;  buffer.fPols[11] = 9  ;
 
  150       buffer.fPols[12] = c   ; buffer.fPols[13] = 4   ;  buffer.fPols[14] = 2  ;
 
  151       buffer.fPols[15] = 11  ; buffer.fPols[16] = 6   ;  buffer.fPols[17] = 10 ;
 
  152       buffer.fPols[18] = c+1 ; buffer.fPols[19] = 4   ;  buffer.fPols[20] = 3  ;
 
  153       buffer.fPols[21] = 8   ; buffer.fPols[22] = 7   ;  buffer.fPols[23] = 11 ;
 
  154       buffer.fPols[24] = c+2 ; buffer.fPols[25] = 4   ;  buffer.fPols[26] = 0  ;
 
  155       buffer.fPols[27] = 3   ; buffer.fPols[28] = 2   ;  buffer.fPols[29] = 1  ;
 
  156       buffer.fPols[30] = c+3 ; buffer.fPols[31] = 4   ;  buffer.fPols[32] = 4  ;
 
  157       buffer.fPols[33] = 5   ; buffer.fPols[34] = 6   ;  buffer.fPols[35] = 7  ;
 
  159       buffer.SetSectionsValid(TBuffer3D::kRaw);