+/**************************************************************************/
+
+TBuffer3D* GeoNodeRnrEl::MakeBuffer3D()
+{
+ TGeoShape* shape = fNode->GetVolume()->GetShape();
+ if(shape == 0) return 0;
+
+ if(dynamic_cast<TGeoShapeAssembly*>(shape)){
+ // !!!! TGeoShapeAssembly makes a bad TBuffer3D
+ return 0;
+ }
+
+ printf("eoNodeRnrEl::MakeBuffer3D() \n");
+ TBuffer3D* buff = shape->MakeBuffer3D();
+ TGeoMatrix* mx = fNode->GetMatrix();
+ Int_t N = buff->NbPnts();
+ Double_t* pnts = buff->fPnts;
+ Double_t master[4];
+ for(Int_t i = 0; i<N; i++)
+ {
+ mx->LocalToMaster(&pnts[3*i], master);
+ pnts[3*i] = master[0];
+ pnts[3*i+1] = master[1];
+ pnts[3*i+2] = master[2];
+ }
+ return buff;
+}