#include <TVirtualViewer3D.h>
#include <TBuffer3D.h>
#include <TBuffer3DTypes.h>
-#include <TGeoMatrix.h>
using namespace Reve;
}
}
+void TriangleSet::GenerateZNormalColors(Float_t fac, Int_t min, Int_t max,
+ Bool_t interp, Bool_t wrap)
+{
+ if (fTringCols == 0) fTringCols = new UChar_t[3*fNTrings];
+ if (fTringNorms == 0) GenerateTriangleNormals();
+
+ Reve::RGBAPalette pal(min, max, interp, wrap);
+ UChar_t *C = fTringCols;
+ Float_t *N = fTringNorms;
+ for(Int_t t=0; t<fNTrings; ++t, C+=3, N+=3)
+ {
+ Int_t v = TMath::Nint(fac * N[2]);
+ pal.ColorFromArray(v, C, kFALSE);
+ }
+ gPad->Modified(); gPad->Update();
+}
+
/**************************************************************************/
void TriangleSet::ComputeBBox()
#include "RenderElement.h"
#include <TNamed.h>
#include <TAttBBox.h>
+#include <TAtt3D.h>
#include "ZTrans.h"
namespace Reve {
class TriangleSet : public RenderElement,
- public TNamed,
- public TAttBBox
+ public TNamed,
+ public TAttBBox,
+ public TAtt3D
{
friend class TriangleSetEditor;
friend class TriangleSetGL;
void GenerateTriangleNormals();
void GenerateRandomColors();
+ void GenerateZNormalColors(Float_t fac=20, Int_t min=-20, Int_t max=20,
+ Bool_t interp=kFALSE, Bool_t wrap=kFALSE);
virtual void ComputeBBox();
virtual void Paint(Option_t* = "");