Logo ROOT  
Reference Guide
 
Loading...
Searching...
No Matches
TPainter3dAlgorithms Class Reference

The Legos and Surfaces painter class.

3D graphics representations package.

This package was originally written by Evgueni Tcherniaev from IHEP/Protvino.

The original Fortran implementation was adapted to HIGZ/PAW by Olivier Couet and Evgueni Tcherniaev.

This class is a subset of the original system. It has been converted to a C++ class by Rene Brun.

Definition at line 28 of file TPainter3dAlgorithms.h.

Public Types

typedef void(TPainter3dAlgorithms::* DrawFaceFunc_t) (Int_t *, Double_t *, Int_t, Int_t *, Double_t *)
 Base colour for the 3rd Iso Surface.
 
typedef void(TPainter3dAlgorithms::* LegoFunc_t) (Int_t, Int_t, Int_t &, Double_t *, Double_t *, Double_t *)
 
typedef void(TPainter3dAlgorithms::* SurfaceFunc_t) (Int_t, Int_t, Double_t *, Double_t *)
 

Public Member Functions

 TPainter3dAlgorithms ()
 pointer to surface function
 
 TPainter3dAlgorithms (Double_t *rmin, Double_t *rmax, Int_t system=1)
 Normal default constructor.
 
virtual ~TPainter3dAlgorithms ()
 Lego default destructor.
 
void BackBox (Double_t ang)
 Draw back surfaces of surrounding box.
 
void ClearRaster ()
 Clear screen.
 
void ColorFunction (Int_t nl, Double_t *fl, Int_t *icl, Int_t &irep)
 Set correspondence between function and color levels.
 
void DefineGridLevels (Int_t ndivz)
 Define the grid levels drawn in the background of surface and lego plots.
 
void DrawFaceGouraudShaded (Int_t *icodes, Double_t xyz[][3], Int_t np, Int_t *iface, Double_t *t)
 Draw the faces for the Gouraud Shaded Iso surfaces.
 
void DrawFaceMode1 (Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *t)
 Draw face - 1st variant (2 colors: 1st for external surface, 2nd for internal)
 
void DrawFaceMode2 (Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *t)
 Draw face - 2nd option (fill in correspondence with function levels)
 
void DrawFaceMode3 (Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *t)
 Draw face - 3rd option (draw face for stacked lego plot)
 
void DrawFaceMove1 (Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *tt)
 Draw face - 1st variant for "MOVING SCREEN" algorithm (draw face with level lines)
 
void DrawFaceMove2 (Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *tt)
 Draw face - 2nd variant for "MOVING SCREEN" algorithm (draw face for stacked lego plot)
 
void DrawFaceMove3 (Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *tt)
 Draw face - 3rd variant for "MOVING SCREEN" algorithm (draw level lines only)
 
void DrawFaceRaster1 (Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *tt)
 Draw face - 1st variant for "RASTER SCREEN" algorithm (draw face with level lines)
 
void DrawFaceRaster2 (Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *tt)
 Draw face - 2nd variant for "RASTER SCREEN" algorithm (draw face for stacked lego plot)
 
void DrawLevelLines (Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *tt)
 Draw level lines without hidden line removal.
 
void FillPolygon (Int_t n, Double_t *p, Double_t *f)
 Fill polygon with function values at vertexes.
 
void FillPolygonBorder (Int_t nn, Double_t *xy)
 Fill a polygon including border ("RASTER SCREEN")
 
void FindLevelLines (Int_t np, Double_t *f, Double_t *t)
 Find level lines for face.
 
void FindPartEdge (Double_t *p1, Double_t *p2, Double_t f1, Double_t f2, Double_t fmin, Double_t fmax, Int_t &kpp, Double_t *pp)
 Find part of edge where function defined on this edge has value from fmin to fmax
 
void FindVisibleDraw (Double_t *r1, Double_t *r2)
 Find visible parts of line (draw line)
 
void FindVisibleLine (Double_t *p1, Double_t *p2, Int_t ntmax, Int_t &nt, Double_t *t)
 Find visible part of a line ("RASTER SCREEN")
 
void FrontBox (Double_t ang)
 Draw front surfaces of surrounding box & axes.
 
void GouraudFunction (Int_t ia, Int_t ib, Double_t *f, Double_t *t)
 Find part of surface with luminosity in the corners.
 
void ImplicitFunction (TF3 *f3, Double_t *rmin, Double_t *rmax, Int_t nx, Int_t ny, Int_t nz, const char *chopt)
 Draw implicit function FUN(X,Y,Z) = 0 in cartesian coordinates using hidden surface removal algorithm "Painter".
 
void InitMoveScreen (Double_t xmin, Double_t xmax)
 Initialize "MOVING SCREEN" method.
 
void InitRaster (Double_t xmin, Double_t ymin, Double_t xmax, Double_t ymax, Int_t nx, Int_t ny)
 Initialize hidden lines removal algorithm (RASTER SCREEN)
 
void IsoSurface (Int_t ns, Double_t *s, Int_t nx, Int_t ny, Int_t nz, Double_t *x, Double_t *y, Double_t *z, const char *chopt)
 Draw set of iso-surfaces for a scalar function defined on a grid.
 
void LegoCartesian (Double_t ang, Int_t nx, Int_t ny, const char *chopt)
 Draw stack of lego-plots in cartesian coordinates.
 
void LegoCylindrical (Int_t iordr, Int_t na, Int_t nb, const char *chopt)
 Draw stack of lego-plots in cylindrical coordinates.
 
void LegoFunction (Int_t ia, Int_t ib, Int_t &nv, Double_t *ab, Double_t *vv, Double_t *t)
 Service function for Legos.
 
void LegoPolar (Int_t iordr, Int_t na, Int_t nb, const char *chopt)
 Draw stack of lego-plots in polar coordinates.
 
void LegoSpherical (Int_t ipsdr, Int_t iordr, Int_t na, Int_t nb, const char *chopt)
 Draw stack of lego-plots spheric coordinates.
 
void LightSource (Int_t nl, Double_t yl, Double_t xscr, Double_t yscr, Double_t zscr, Int_t &irep)
 Set light source.
 
void MarchingCube (Double_t fiso, Double_t p[8][3], Double_t f[8], Double_t g[8][3], Int_t &nnod, Int_t &ntria, Double_t xyz[][3], Double_t grad[][3], Int_t itria[][3])
 Topological decider for "Marching Cubes" algorithm Find set of triangles approximating the iso-surface F(x,y,z)=Fiso inside the cube.
 
void ModifyScreen (Double_t *r1, Double_t *r2)
 Modify SCREEN.
 
void SetColorDark (Color_t color, Int_t n=0)
 Store dark color for stack number n.
 
void SetColorMain (Color_t color, Int_t n=0)
 Store color for stack number n.
 
void SetDrawFace (DrawFaceFunc_t pointer)
 Store pointer to current algorithm to draw faces.
 
void SetEdgeAtt (Color_t color=1, Style_t style=1, Width_t width=1, Int_t n=0)
 
void SetIsoSurfaceParameters (Double_t fmin, Double_t fmax, Int_t ncolor, Int_t ic1, Int_t ic2, Int_t ic3)
 
void SetLegoFunction (LegoFunc_t pointer)
 Store pointer to current lego function.
 
void SetMesh (Int_t mesh=1)
 
void SetSurfaceFunction (SurfaceFunc_t pointer)
 Store pointer to current surface function.
 
void SideVisibilityDecode (Double_t val, Int_t &iv1, Int_t &iv2, Int_t &iv3, Int_t &iv4, Int_t &iv5, Int_t &iv6, Int_t &ir)
 Decode side visibilities and order along R for sector.
 
void SideVisibilityEncode (Int_t iopt, Double_t phi1, Double_t phi2, Double_t &val)
 Encode side visibilities and order along R for sector.
 
void Spectrum (Int_t nl, Double_t fmin, Double_t fmax, Int_t ic, Int_t idc, Int_t &irep)
 Set Spectrum.
 
void SurfaceCartesian (Double_t ang, Int_t nx, Int_t ny, const char *chopt)
 Draw surface in cartesian coordinate system.
 
void SurfaceCylindrical (Int_t iordr, Int_t na, Int_t nb, const char *chopt)
 Draw surface in cylindrical coordinates.
 
void SurfaceFunction (Int_t ia, Int_t ib, Double_t *f, Double_t *t)
 Service function for Surfaces.
 
void SurfacePolar (Int_t iordr, Int_t na, Int_t nb, const char *chopt)
 Draw surface in polar coordinates.
 
void SurfaceProperty (Double_t qqa, Double_t qqd, Double_t qqs, Int_t nnqs, Int_t &irep)
 Set surface property coefficients.
 
void SurfaceSpherical (Int_t ipsdr, Int_t iordr, Int_t na, Int_t nb, const char *chopt)
 Draw surface in spheric coordinates.
 
void ZDepth (Double_t xyz[52][3], Int_t &nface, Int_t iface[48][3], Double_t dface[48][6], Double_t abcd[48][4], Int_t *iorder)
 Z-depth algorithm for set of triangles.
 
- Public Member Functions inherited from TAttLine
 TAttLine ()
 AttLine default constructor.
 
 TAttLine (Color_t lcolor, Style_t lstyle, Width_t lwidth)
 AttLine normal constructor.
 
virtual ~TAttLine ()
 AttLine destructor.
 
void Copy (TAttLine &attline) const
 Copy this line attributes to a new TAttLine.
 
Int_t DistancetoLine (Int_t px, Int_t py, Double_t xp1, Double_t yp1, Double_t xp2, Double_t yp2)
 Compute distance from point px,py to a line.
 
virtual Color_t GetLineColor () const
 Return the line color.
 
virtual Style_t GetLineStyle () const
 Return the line style.
 
virtual Width_t GetLineWidth () const
 Return the line width.
 
virtual void Modify ()
 Change current line attributes if necessary.
 
virtual void ResetAttLine (Option_t *option="")
 Reset this line attributes to default values.
 
virtual void SaveLineAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1, Int_t widdef=1)
 Save line attributes as C++ statement(s) on output stream out.
 
virtual void SetLineAttributes ()
 Invoke the DialogCanvas Line attributes.
 
virtual void SetLineColor (Color_t lcolor)
 Set the line color.
 
virtual void SetLineColorAlpha (Color_t lcolor, Float_t lalpha)
 Set a transparent line color.
 
virtual void SetLineStyle (Style_t lstyle)
 Set the line style.
 
virtual void SetLineWidth (Width_t lwidth)
 Set the line width.
 
- Public Member Functions inherited from TAttFill
 TAttFill ()
 AttFill default constructor.
 
 TAttFill (Color_t fcolor, Style_t fstyle)
 AttFill normal constructor.
 
virtual ~TAttFill ()
 AttFill destructor.
 
void Copy (TAttFill &attfill) const
 Copy this fill attributes to a new TAttFill.
 
virtual Color_t GetFillColor () const
 Return the fill area color.
 
virtual Style_t GetFillStyle () const
 Return the fill area style.
 
virtual Bool_t IsTransparent () const
 
virtual void Modify ()
 Change current fill area attributes if necessary.
 
virtual void ResetAttFill (Option_t *option="")
 Reset this fill attributes to default values.
 
virtual void SaveFillAttributes (std::ostream &out, const char *name, Int_t coldef=1, Int_t stydef=1001)
 Save fill attributes as C++ statement(s) on output stream out.
 
virtual void SetFillAttributes ()
 Invoke the DialogCanvas Fill attributes.
 
virtual void SetFillColor (Color_t fcolor)
 Set the fill area color.
 
virtual void SetFillColorAlpha (Color_t fcolor, Float_t falpha)
 Set a transparent fill color.
 
virtual void SetFillStyle (Style_t fstyle)
 Set the fill area style.
 

Protected Member Functions

void MarchingCubeCase00 (Int_t k1, Int_t k2, Int_t k3, Int_t k4, Int_t k5, Int_t k6, Int_t &nnod, Int_t &ntria, Double_t xyz[52][3], Double_t grad[52][3], Int_t itria[48][3])
 Consideration of trivial cases: 1,2,5,8,9,11,14.
 
void MarchingCubeCase03 (Int_t &nnod, Int_t &ntria, Double_t xyz[52][3], Double_t grad[52][3], Int_t itria[48][3])
 Consider case No 3.
 
void MarchingCubeCase04 (Int_t &nnod, Int_t &ntria, Double_t xyz[52][3], Double_t grad[52][3], Int_t itria[48][3])
 Consider case No 4.
 
void MarchingCubeCase06 (Int_t &nnod, Int_t &ntria, Double_t xyz[52][3], Double_t grad[52][3], Int_t itria[48][3])
 Consider case No 6.
 
void MarchingCubeCase07 (Int_t &nnod, Int_t &ntria, Double_t xyz[52][3], Double_t grad[52][3], Int_t itria[48][3])
 Consider case No 7.
 
void MarchingCubeCase10 (Int_t &nnod, Int_t &ntria, Double_t xyz[52][3], Double_t grad[52][3], Int_t itria[48][3])
 Consider case No 10.
 
void MarchingCubeCase12 (Int_t &nnod, Int_t &ntria, Double_t xyz[52][3], Double_t grad[52][3], Int_t itria[48][3])
 Consider case No 12.
 
void MarchingCubeCase13 (Int_t &nnod, Int_t &ntria, Double_t xyz[52][3], Double_t grad[52][3], Int_t itria[48][3])
 Consider case No 13.
 
void MarchingCubeFindNodes (Int_t nnod, Int_t *ie, Double_t xyz[52][3], Double_t grad[52][3])
 Find nodes and normales.
 
void MarchingCubeMiddlePoint (Int_t nnod, Double_t xyz[52][3], Double_t grad[52][3], Int_t it[][3], Double_t *pxyz, Double_t *pgrad)
 Find middle point of a polygon.
 
void MarchingCubeSetTriangles (Int_t ntria, Int_t it[][3], Int_t itria[48][3])
 Set triangles (if parameter IALL=1, all edges will be visible)
 
void MarchingCubeSurfacePenetration (Double_t a00, Double_t a10, Double_t a11, Double_t a01, Double_t b00, Double_t b10, Double_t b11, Double_t b01, Int_t &irep)
 Check for surface penetration ("bottle neck")
 
void TestEdge (Double_t del, Double_t xyz[52][3], Int_t i1, Int_t i2, Int_t iface[3], Double_t abcd[4], Int_t &irep)
 Test edge against face (triangle)
 

Private Member Functions

void Luminosity (TView *view, Double_t *anorm, Double_t &flum)
 Find surface luminosity at given point.
 

Private Attributes

Double_tfAphi
 Upper limits of lego.
 
Int_t fColorBottom
 
Int_tfColorDark
 
Int_t fColorLevel [NumOfColorLevels+2]
 
Int_tfColorMain
 Coordinate system.
 
Int_t fColorTop
 
Double_t fD [NumOfSlices *2]
 
DrawFaceFunc_t fDrawFace
 
Double_t fDX
 
Double_t fDXrast
 
Double_t fDYrast
 
Int_tfEdgeColor
 
Int_t fEdgeIdx
 
Int_tfEdgeStyle
 
Int_tfEdgeWidth
 
Double_t fF8 [8]
 
Double_t fFmax
 IsoSurface minimum function value.
 
Double_t fFmin
 Number of histograms in the stack to be painted.
 
Double_t fFunLevel [NumOfColorLevels+1]
 
Double_t fG8 [8][3]
 
Int_t fIc1
 Number of colours per Iso surface.
 
Int_t fIc2
 Base colour for the 1st Iso Surface.
 
Int_t fIc3
 Base colour for the 2nd Iso Surface.
 
Int_t fIfrast
 
Int_t fJmask [30]
 
LegoFunc_t fLegoFunction
 pointer to face drawing function
 
Int_t fLevelLine [NumOfLevelLines]
 
Int_t fLoff
 
Int_t fMask [465]
 
Int_t fMesh
 
Int_t fNaphi
 
Int_t fNcolor
 IsoSurface maximum function value.
 
Int_t fNlevel
 
Int_t fNlines
 
Int_t fNqs
 
Int_t fNStack
 (=1 if mesh to draw, o otherwise)
 
Int_t fNT
 
Int_t fNxrast
 
Int_t fNyrast
 
Double_t fP8 [8][3]
 
Double_t fPlines [NumOfLevelLines *6]
 
Double_t fQA
 
Double_t fQD
 
Double_t fQS
 
Int_tfRaster
 
Double_t fRmax [3]
 Lower limits of lego.
 
Double_t fRmin [3]
 
SurfaceFunc_t fSurfaceFunction
 pointer to lego function
 
Int_t fSystem
 Size of fAphi.
 
Double_t fT [MaxNT *2]
 
Double_t fU [NumOfSlices *2]
 
Double_t fVls [NumOfLights *3]
 
Double_t fX0
 
Double_t fXrast
 
Double_t fYdl
 
Double_t fYls [NumOfLights]
 
Double_t fYrast
 

Static Private Attributes

static const Int_t MaxNT = 100
 
static const Int_t NumOfColorLevels = 256
 
static const Int_t NumOfLevelLines = 200
 
static const Int_t NumOfLights = 4
 
static const Int_t NumOfSlices = 2000
 

Additional Inherited Members

- Protected Attributes inherited from TAttLine
Color_t fLineColor
 Line color.
 
Style_t fLineStyle
 Line style.
 
Width_t fLineWidth
 Line width.
 
- Protected Attributes inherited from TAttFill
Color_t fFillColor
 Fill area color.
 
Style_t fFillStyle
 Fill area style.
 

#include </home/sftnight/build/workspace/root-makedoc-v624/rootspi/rdoc/src/v6-24-00-patches/hist/histpainter/src/TPainter3dAlgorithms.h>

Inheritance diagram for TPainter3dAlgorithms:
[legend]

Member Typedef Documentation

◆ DrawFaceFunc_t

typedef void(TPainter3dAlgorithms::* TPainter3dAlgorithms::DrawFaceFunc_t) (Int_t *, Double_t *, Int_t, Int_t *, Double_t *)

Base colour for the 3rd Iso Surface.

Definition at line 54 of file TPainter3dAlgorithms.h.

◆ LegoFunc_t

typedef void(TPainter3dAlgorithms::* TPainter3dAlgorithms::LegoFunc_t) (Int_t, Int_t, Int_t &, Double_t *, Double_t *, Double_t *)

Definition at line 55 of file TPainter3dAlgorithms.h.

◆ SurfaceFunc_t

typedef void(TPainter3dAlgorithms::* TPainter3dAlgorithms::SurfaceFunc_t) (Int_t, Int_t, Double_t *, Double_t *)

Definition at line 56 of file TPainter3dAlgorithms.h.

Constructor & Destructor Documentation

◆ TPainter3dAlgorithms() [1/2]

TPainter3dAlgorithms::TPainter3dAlgorithms ( )

pointer to surface function

Lego default constructor.

Definition at line 71 of file TPainter3dAlgorithms.cxx.

◆ TPainter3dAlgorithms() [2/2]

TPainter3dAlgorithms::TPainter3dAlgorithms ( Double_t rmin,
Double_t rmax,
Int_t  system = 1 
)

Normal default constructor.

rmin[3], rmax[3] are the limits of the lego object depending on the selected coordinate system

Definition at line 151 of file TPainter3dAlgorithms.cxx.

◆ ~TPainter3dAlgorithms()

TPainter3dAlgorithms::~TPainter3dAlgorithms ( )
virtual

Lego default destructor.

Definition at line 240 of file TPainter3dAlgorithms.cxx.

Member Function Documentation

◆ BackBox()

void TPainter3dAlgorithms::BackBox ( Double_t  ang)

Draw back surfaces of surrounding box.

Parameters
[in]angangle between X and Y axis

Definition at line 258 of file TPainter3dAlgorithms.cxx.

◆ ClearRaster()

void TPainter3dAlgorithms::ClearRaster ( )

Clear screen.

Definition at line 349 of file TPainter3dAlgorithms.cxx.

◆ ColorFunction()

void TPainter3dAlgorithms::ColorFunction ( Int_t  nl,
Double_t fl,
Int_t icl,
Int_t irep 
)

Set correspondence between function and color levels.

Parameters
[in]nlnumber of levels
[in]flfunction levels
[in]iclcolors for levels
[out]irepreturn code (0 OK, -1 error).

Definition at line 365 of file TPainter3dAlgorithms.cxx.

◆ DefineGridLevels()

void TPainter3dAlgorithms::DefineGridLevels ( Int_t  ndivz)

Define the grid levels drawn in the background of surface and lego plots.

The grid levels are aligned on the Z axis' main tick marks.

Definition at line 408 of file TPainter3dAlgorithms.cxx.

◆ DrawFaceGouraudShaded()

void TPainter3dAlgorithms::DrawFaceGouraudShaded ( Int_t icodes,
Double_t  xyz[][3],
Int_t  np,
Int_t iface,
Double_t t 
)

Draw the faces for the Gouraud Shaded Iso surfaces.

Definition at line 5849 of file TPainter3dAlgorithms.cxx.

◆ DrawFaceMode1()

void TPainter3dAlgorithms::DrawFaceMode1 ( Int_t icodes,
Double_t xyz,
Int_t  np,
Int_t iface,
Double_t t 
)

Draw face - 1st variant (2 colors: 1st for external surface, 2nd for internal)

Parameters
[in]icodesset of codes for the line (not used in this method)
[in]xyzcoordinates of nodes
[in]npnumber of nodes in face
[in]ifaceface
[in]tadditional function defined on this face (not used in this method)

Definition at line 449 of file TPainter3dAlgorithms.cxx.

◆ DrawFaceMode2()

void TPainter3dAlgorithms::DrawFaceMode2 ( Int_t icodes,
Double_t xyz,
Int_t  np,
Int_t iface,
Double_t t 
)

Draw face - 2nd option (fill in correspondence with function levels)

Parameters
[in]icodesset of codes for the line (not used in this method)
[in]xyzcoordinates of nodes
[in]npnumber of nodes
[in]ifaceface
[in]tadditional function defined on this face

Definition at line 499 of file TPainter3dAlgorithms.cxx.

◆ DrawFaceMode3()

void TPainter3dAlgorithms::DrawFaceMode3 ( Int_t icodes,
Double_t xyz,
Int_t  np,
Int_t iface,
Double_t t 
)

Draw face - 3rd option (draw face for stacked lego plot)

Parameters
[in]icodesset of codes for the line
[in]xyzcoordinates of nodes
[in]npnumber of nodes
[in]ifaceface
[in]tadditional function defined on this face (not used in this method)

Definition at line 555 of file TPainter3dAlgorithms.cxx.

◆ DrawFaceMove1()

void TPainter3dAlgorithms::DrawFaceMove1 ( Int_t icodes,
Double_t xyz,
Int_t  np,
Int_t iface,
Double_t tt 
)

Draw face - 1st variant for "MOVING SCREEN" algorithm (draw face with level lines)

Parameters
[in]icodesset of codes for the line
[in]xyzcoordinates of nodes
[in]npnumber of nodes
[in]ifaceface
[in]ttadditional function defined on this face

Definition at line 602 of file TPainter3dAlgorithms.cxx.

◆ DrawFaceMove2()

void TPainter3dAlgorithms::DrawFaceMove2 ( Int_t icodes,
Double_t xyz,
Int_t  np,
Int_t iface,
Double_t tt 
)

Draw face - 2nd variant for "MOVING SCREEN" algorithm (draw face for stacked lego plot)

Parameters
[in]icodesset of codes for the line
[in]xyzcoordinates of nodes
[in]npnumber of nodes
[in]ifaceface
[in]ttadditional function defined on this face (not used in this method)

Definition at line 692 of file TPainter3dAlgorithms.cxx.

◆ DrawFaceMove3()

void TPainter3dAlgorithms::DrawFaceMove3 ( Int_t icodes,
Double_t xyz,
Int_t  np,
Int_t iface,
Double_t tt 
)

Draw face - 3rd variant for "MOVING SCREEN" algorithm (draw level lines only)

Parameters
[in]icodesset of codes for the line
[in]xyzcoordinates of nodes
[in]npnumber of nodes
[in]ifaceface
[in]ttadditional function defined on this face

Definition at line 753 of file TPainter3dAlgorithms.cxx.

◆ DrawFaceRaster1()

void TPainter3dAlgorithms::DrawFaceRaster1 ( Int_t icodes,
Double_t xyz,
Int_t  np,
Int_t iface,
Double_t tt 
)

Draw face - 1st variant for "RASTER SCREEN" algorithm (draw face with level lines)

Parameters
[in]icodesset of codes for the line
[in]xyzcoordinates of nodes
[in]npnumber of nodes
[in]ifaceface
[in]ttadditional function defined on this face

Definition at line 907 of file TPainter3dAlgorithms.cxx.

◆ DrawFaceRaster2()

void TPainter3dAlgorithms::DrawFaceRaster2 ( Int_t icodes,
Double_t xyz,
Int_t  np,
Int_t iface,
Double_t tt 
)

Draw face - 2nd variant for "RASTER SCREEN" algorithm (draw face for stacked lego plot)

Parameters
[in]icodesset of codes for the line (not used in this method)
[in]xyzcoordinates of nodes
[in]npnumber of nodes
[in]ifaceface
[in]ttadditional function defined on this face (not used in this method)

Definition at line 996 of file TPainter3dAlgorithms.cxx.

◆ DrawLevelLines()

void TPainter3dAlgorithms::DrawLevelLines ( Int_t icodes,
Double_t xyz,
Int_t  np,
Int_t iface,
Double_t tt 
)

Draw level lines without hidden line removal.

Parameters
[in]icodesset of codes for the line
[in]xyzcoordinates of nodes
[in]npnumber of nodes
[in]ifaceface
[in]ttadditional function defined on this face

Definition at line 837 of file TPainter3dAlgorithms.cxx.

◆ FillPolygon()

void TPainter3dAlgorithms::FillPolygon ( Int_t  n,
Double_t p,
Double_t f 
)

Fill polygon with function values at vertexes.

Parameters
[in]nnumber of vertexes
[in]ppolygon
[in]ffunction values at nodes

Errors:

  • illegal number of vertexes in polygon
  • illegal call of FillPolygon: no levels

Definition at line 1049 of file TPainter3dAlgorithms.cxx.

◆ FillPolygonBorder()

void TPainter3dAlgorithms::FillPolygonBorder ( Int_t  nn,
Double_t xy 
)

Fill a polygon including border ("RASTER SCREEN")

Parameters
[in]nnnumber of polygon nodes
[in]xypolygon nodes

Definition at line 1126 of file TPainter3dAlgorithms.cxx.

◆ FindLevelLines()

void TPainter3dAlgorithms::FindLevelLines ( Int_t  np,
Double_t f,
Double_t t 
)

Find level lines for face.

Parameters
[in]npnumber of nodes
[in]fface
[in]tadditional function

Error: number of points for line not equal 2

Definition at line 1358 of file TPainter3dAlgorithms.cxx.

◆ FindPartEdge()

void TPainter3dAlgorithms::FindPartEdge ( Double_t p1,
Double_t p2,
Double_t  f1,
Double_t  f2,
Double_t  fmin,
Double_t  fmax,
Int_t kpp,
Double_t pp 
)

Find part of edge where function defined on this edge has value from fmin to fmax

Parameters
[in]p11st point
[in]p22nd point
[in]f1function value at 1st point
[in]f2function value at 2nd point
[in]fminmin value of layer
[in]fmaxmax value of layer
[out]kppcurrent number of point
[out]ppcoordinates of new face

Definition at line 1421 of file TPainter3dAlgorithms.cxx.

◆ FindVisibleDraw()

void TPainter3dAlgorithms::FindVisibleDraw ( Double_t r1,
Double_t r2 
)

Find visible parts of line (draw line)

Parameters
[in]r11-st point of the line
[in]r22-nd point of the line

Definition at line 1569 of file TPainter3dAlgorithms.cxx.

◆ FindVisibleLine()

void TPainter3dAlgorithms::FindVisibleLine ( Double_t p1,
Double_t p2,
Int_t  ntmax,
Int_t nt,
Double_t t 
)

Find visible part of a line ("RASTER SCREEN")

Parameters
[in]p11st point of the line
[in]p22nd point of the line
[in]ntmaxmax allowed number of visible segments
[out]ntnumber of visible segments of the line
[out]tvisible segments

Definition at line 1738 of file TPainter3dAlgorithms.cxx.

◆ FrontBox()

void TPainter3dAlgorithms::FrontBox ( Double_t  ang)

Draw front surfaces of surrounding box & axes.

Parameters
[in]angangle between X and Y axis

Definition at line 302 of file TPainter3dAlgorithms.cxx.

◆ GouraudFunction()

void TPainter3dAlgorithms::GouraudFunction ( Int_t  ia,
Int_t  ib,
Double_t face,
Double_t t 
)

Find part of surface with luminosity in the corners.

This method is used for Gouraud shading

Definition at line 1883 of file TPainter3dAlgorithms.cxx.

◆ ImplicitFunction()

void TPainter3dAlgorithms::ImplicitFunction ( TF3 f3,
Double_t rmin,
Double_t rmax,
Int_t  nx,
Int_t  ny,
Int_t  nz,
const char *  chopt 
)

Draw implicit function FUN(X,Y,Z) = 0 in cartesian coordinates using hidden surface removal algorithm "Painter".

Parameters
[in]rminmin scope coordinates
[in]rmaxmax scope coordinates
[in]nxnumber of steps along X
[in]nynumber of steps along Y
[in]nznumber of steps along Z
  • chopt = 'BF' from BACK to FRONT
  • chopt = 'FB' from FRONT to BACK

Definition at line 4110 of file TPainter3dAlgorithms.cxx.

◆ InitMoveScreen()

void TPainter3dAlgorithms::InitMoveScreen ( Double_t  xmin,
Double_t  xmax 
)

Initialize "MOVING SCREEN" method.

Parameters
[in]xminleft boundary
[in]xmaxright boundary

Definition at line 2021 of file TPainter3dAlgorithms.cxx.

◆ InitRaster()

void TPainter3dAlgorithms::InitRaster ( Double_t  xmin,
Double_t  ymin,
Double_t  xmax,
Double_t  ymax,
Int_t  nx,
Int_t  ny 
)

Initialize hidden lines removal algorithm (RASTER SCREEN)

Parameters
[in]xminXmin in the normalized coordinate system
[in]yminYmin in the normalized coordinate system
[in]xmaxXmax in the normalized coordinate system
[in]ymaxYmax in the normalized coordinate system
[in]nxnumber of pixels along X
[in]nynumber of pixels along Y

Definition at line 2044 of file TPainter3dAlgorithms.cxx.

◆ IsoSurface()

void TPainter3dAlgorithms::IsoSurface ( Int_t  ns,
Double_t s,
Int_t  nx,
Int_t  ny,
Int_t  nz,
Double_t x,
Double_t y,
Double_t z,
const char *  chopt 
)

Draw set of iso-surfaces for a scalar function defined on a grid.

Parameters
[in]nsnumber of iso-surfaces
[in]siso-surface values
[in]nxnumber of slices along X
[in]nynumber of slices along Y
[in]nznumber of slices along Z
[in]xslices along X
[in]yslices along Y
[in]zslices along Z
  • chopt‘ = 'BF’ from BACK to FRONT
  • chopt‘ = 'FB’ from FRONT to BACK

Definition at line 5542 of file TPainter3dAlgorithms.cxx.

◆ LegoCartesian()

void TPainter3dAlgorithms::LegoCartesian ( Double_t  ang,
Int_t  nx,
Int_t  ny,
const char *  chopt 
)

Draw stack of lego-plots in cartesian coordinates.

Parameters
[in]angangle between X ang Y (not used in this method)
[in]nxnumber of cells along X
[in]nynumber of cells along Y
  • chopt = 'BF' from BACK to FRONT
  • chopt = 'FB' from FRONT to BACK

Definition at line 2257 of file TPainter3dAlgorithms.cxx.

◆ LegoCylindrical()

void TPainter3dAlgorithms::LegoCylindrical ( Int_t  iordr,
Int_t  na,
Int_t  nb,
const char *  chopt 
)

Draw stack of lego-plots in cylindrical coordinates.

Parameters
[in]iordrorder of variables (0 - Z,PHI; 1 - PHI,Z)
[in]nanumber of steps along 1st variable
[in]nbnumber of steps along 2nd variable
  • chopt = 'BF' from BACK to FRONT
  • chopt = 'FB' from FRONT to BACK

Definition at line 2629 of file TPainter3dAlgorithms.cxx.

◆ LegoFunction()

void TPainter3dAlgorithms::LegoFunction ( Int_t  ia,
Int_t  ib,
Int_t nv,
Double_t ab,
Double_t vv,
Double_t t 
)

Service function for Legos.

Definition at line 2085 of file TPainter3dAlgorithms.cxx.

◆ LegoPolar()

void TPainter3dAlgorithms::LegoPolar ( Int_t  iordr,
Int_t  na,
Int_t  nb,
const char *  chopt 
)

Draw stack of lego-plots in polar coordinates.

Parameters
[in]iordrorder of variables (0 - R,PHI; 1 - PHI,R)
[in]nanumber of steps along 1st variable
[in]nbnumber of steps along 2nd variable
  • chopt = 'BF' from BACK to FRONT
  • chopt = 'FB' from FRONT to BACK

Definition at line 2414 of file TPainter3dAlgorithms.cxx.

◆ LegoSpherical()

void TPainter3dAlgorithms::LegoSpherical ( Int_t  ipsdr,
Int_t  iordr,
Int_t  na,
Int_t  nb,
const char *  chopt 
)

Draw stack of lego-plots spheric coordinates.

Parameters
[in]ipsdrpseudo-rapidity flag
[in]iordrorder of variables (0 - THETA,PHI; 1 - PHI,THETA)
[in]nanumber of steps along 1st variable
[in]nbnumber of steps along 2nd variable
  • chopt = 'BF' from BACK to FRONT
  • chopt = 'FB' from FRONT to BACK

Definition at line 2850 of file TPainter3dAlgorithms.cxx.

◆ LightSource()

void TPainter3dAlgorithms::LightSource ( Int_t  nl,
Double_t  yl,
Double_t  xscr,
Double_t  yscr,
Double_t  zscr,
Int_t irep 
)

Set light source.

Parameters
[in]nlsource number: 1 off all light sources, 0 set diffused light
[in]ylintensity of the light source
[in]xscr,yscr,zscrdirection of the light (in respect of the screen)
[out]irepreply (0 - O.K, -1 error)

Definition at line 3131 of file TPainter3dAlgorithms.cxx.

◆ Luminosity()

void TPainter3dAlgorithms::Luminosity ( TView view,
Double_t anorm,
Double_t flum 
)
private

Find surface luminosity at given point.

Parameters
[in]viewpointer on TView object
[in]anormsurface normal at given point
[out]flumluminosity

Definition at line 3195 of file TPainter3dAlgorithms.cxx.

◆ MarchingCube()

void TPainter3dAlgorithms::MarchingCube ( Double_t  fiso,
Double_t  p[8][3],
Double_t  f[8],
Double_t  g[8][3],
Int_t nnod,
Int_t ntria,
Double_t  xyz[][3],
Double_t  grad[][3],
Int_t  itria[][3] 
)

Topological decider for "Marching Cubes" algorithm Find set of triangles approximating the iso-surface F(x,y,z)=Fiso inside the cube.

Parameters
[in]fisofunction value for iso-surface
[in]pcube vertexes
[in]ffunction values at the vertexes
[in]gfunction gradients at the vertexes
[out]nnodnumber of nodes (maximum 13)
[out]ntrianumber of triangles (maximum 12)
[out]xyznodes
[out]gradnode normales (not normalized)
[out]itriatriangles

Definition at line 4408 of file TPainter3dAlgorithms.cxx.

◆ MarchingCubeCase00()

void TPainter3dAlgorithms::MarchingCubeCase00 ( Int_t  k1,
Int_t  k2,
Int_t  k3,
Int_t  k4,
Int_t  k5,
Int_t  k6,
Int_t nnod,
Int_t ntria,
Double_t  xyz[52][3],
Double_t  grad[52][3],
Int_t  itria[48][3] 
)
protected

Consideration of trivial cases: 1,2,5,8,9,11,14.

Parameters
[in]k1-k6edges intersected with iso-surface

Definition at line 4597 of file TPainter3dAlgorithms.cxx.

◆ MarchingCubeCase03()

void TPainter3dAlgorithms::MarchingCubeCase03 ( Int_t nnod,
Int_t ntria,
Double_t  xyz[52][3],
Double_t  grad[52][3],
Int_t  itria[48][3] 
)
protected

Consider case No 3.

Definition at line 4640 of file TPainter3dAlgorithms.cxx.

◆ MarchingCubeCase04()

void TPainter3dAlgorithms::MarchingCubeCase04 ( Int_t nnod,
Int_t ntria,
Double_t  xyz[52][3],
Double_t  grad[52][3],
Int_t  itria[48][3] 
)
protected

Consider case No 4.

Definition at line 4669 of file TPainter3dAlgorithms.cxx.

◆ MarchingCubeCase06()

void TPainter3dAlgorithms::MarchingCubeCase06 ( Int_t nnod,
Int_t ntria,
Double_t  xyz[52][3],
Double_t  grad[52][3],
Int_t  itria[48][3] 
)
protected

Consider case No 6.

Definition at line 4697 of file TPainter3dAlgorithms.cxx.

◆ MarchingCubeCase07()

void TPainter3dAlgorithms::MarchingCubeCase07 ( Int_t nnod,
Int_t ntria,
Double_t  xyz[52][3],
Double_t  grad[52][3],
Int_t  itria[48][3] 
)
protected

Consider case No 7.

Definition at line 4739 of file TPainter3dAlgorithms.cxx.

◆ MarchingCubeCase10()

void TPainter3dAlgorithms::MarchingCubeCase10 ( Int_t nnod,
Int_t ntria,
Double_t  xyz[52][3],
Double_t  grad[52][3],
Int_t  itria[48][3] 
)
protected

Consider case No 10.

Definition at line 4828 of file TPainter3dAlgorithms.cxx.

◆ MarchingCubeCase12()

void TPainter3dAlgorithms::MarchingCubeCase12 ( Int_t nnod,
Int_t ntria,
Double_t  xyz[52][3],
Double_t  grad[52][3],
Int_t  itria[48][3] 
)
protected

Consider case No 12.

Definition at line 4893 of file TPainter3dAlgorithms.cxx.

◆ MarchingCubeCase13()

void TPainter3dAlgorithms::MarchingCubeCase13 ( Int_t nnod,
Int_t ntria,
Double_t  xyz[52][3],
Double_t  grad[52][3],
Int_t  itria[48][3] 
)
protected

Consider case No 13.

Definition at line 4958 of file TPainter3dAlgorithms.cxx.

◆ MarchingCubeFindNodes()

void TPainter3dAlgorithms::MarchingCubeFindNodes ( Int_t  nnod,
Int_t ie,
Double_t  xyz[52][3],
Double_t  grad[52][3] 
)
protected

Find nodes and normales.

Parameters
[in]nnodnumber of nodes
[in]ieedges which have section node
[out]xyznodes
[out]gradode normales (not normalized)

Definition at line 5239 of file TPainter3dAlgorithms.cxx.

◆ MarchingCubeMiddlePoint()

void TPainter3dAlgorithms::MarchingCubeMiddlePoint ( Int_t  nnod,
Double_t  xyz[52][3],
Double_t  grad[52][3],
Int_t  it[][3],
Double_t pxyz,
Double_t pgrad 
)
protected

Find middle point of a polygon.

Parameters
[in]nnodnumber of nodes in the polygon
[in]xyznode coordinates
[in]gradnode normales
[in]itdivision of the polygons into triangles
[out]pxyzmiddle point coordinates
[out]pgradmiddle point normale

Definition at line 5133 of file TPainter3dAlgorithms.cxx.

◆ MarchingCubeSetTriangles()

void TPainter3dAlgorithms::MarchingCubeSetTriangles ( Int_t  ntria,
Int_t  it[][3],
Int_t  itria[48][3] 
)
protected

Set triangles (if parameter IALL=1, all edges will be visible)

Parameters
[in]ntrianumber of triangles
[in]ittriangles
[out]itriatriangles

Definition at line 5109 of file TPainter3dAlgorithms.cxx.

◆ MarchingCubeSurfacePenetration()

void TPainter3dAlgorithms::MarchingCubeSurfacePenetration ( Double_t  a00,
Double_t  a10,
Double_t  a11,
Double_t  a01,
Double_t  b00,
Double_t  b10,
Double_t  b11,
Double_t  b01,
Int_t irep 
)
protected

Check for surface penetration ("bottle neck")

Parameters
[in]axxvertex values for 1st face
[in]bxxvertex values for opposite face
[out]irep1,2: there is surface penetration, 0: there is not surface penetration

Definition at line 5167 of file TPainter3dAlgorithms.cxx.

◆ ModifyScreen()

void TPainter3dAlgorithms::ModifyScreen ( Double_t r1,
Double_t r2 
)

Modify SCREEN.

Parameters
[in]r11-st point of the line
[in]r22-nd point of the line

Definition at line 3236 of file TPainter3dAlgorithms.cxx.

◆ SetColorDark()

void TPainter3dAlgorithms::SetColorDark ( Color_t  color,
Int_t  n = 0 
)

Store dark color for stack number n.

Definition at line 3316 of file TPainter3dAlgorithms.cxx.

◆ SetColorMain()

void TPainter3dAlgorithms::SetColorMain ( Color_t  color,
Int_t  n = 0 
)

Store color for stack number n.

Definition at line 3326 of file TPainter3dAlgorithms.cxx.

◆ SetDrawFace()

void TPainter3dAlgorithms::SetDrawFace ( DrawFaceFunc_t  pointer)

Store pointer to current algorithm to draw faces.

Definition at line 3292 of file TPainter3dAlgorithms.cxx.

◆ SetEdgeAtt()

void TPainter3dAlgorithms::SetEdgeAtt ( Color_t  color = 1,
Style_t  style = 1,
Width_t  width = 1,
Int_t  n = 0 
)

Definition at line 3335 of file TPainter3dAlgorithms.cxx.

◆ SetIsoSurfaceParameters()

void TPainter3dAlgorithms::SetIsoSurfaceParameters ( Double_t  fmin,
Double_t  fmax,
Int_t  ncolor,
Int_t  ic1,
Int_t  ic2,
Int_t  ic3 
)
inline

Definition at line 88 of file TPainter3dAlgorithms.h.

◆ SetLegoFunction()

void TPainter3dAlgorithms::SetLegoFunction ( LegoFunc_t  pointer)

Store pointer to current lego function.

Definition at line 3300 of file TPainter3dAlgorithms.cxx.

◆ SetMesh()

void TPainter3dAlgorithms::SetMesh ( Int_t  mesh = 1)
inline

Definition at line 90 of file TPainter3dAlgorithms.h.

◆ SetSurfaceFunction()

void TPainter3dAlgorithms::SetSurfaceFunction ( SurfaceFunc_t  pointer)

Store pointer to current surface function.

Definition at line 3308 of file TPainter3dAlgorithms.cxx.

◆ SideVisibilityDecode()

void TPainter3dAlgorithms::SideVisibilityDecode ( Double_t  val,
Int_t iv1,
Int_t iv2,
Int_t iv3,
Int_t iv4,
Int_t iv5,
Int_t iv6,
Int_t ir 
)

Decode side visibilities and order along R for sector.

Parameters
[in]valencoded value
[out]iv1-iv6visibility of the sides
[out]irincrement along R

Definition at line 3352 of file TPainter3dAlgorithms.cxx.

◆ SideVisibilityEncode()

void TPainter3dAlgorithms::SideVisibilityEncode ( Int_t  iopt,
Double_t  phi1,
Double_t  phi2,
Double_t val 
)

Encode side visibilities and order along R for sector.

Parameters
[in]ioptoptions: 1: from BACK to FRONT 'BF', 2: from FRONT to BACK 'FB'
[in]phi11st phi of sector
[in]phi22nd phi of sector
[out]valencoded value

Definition at line 3384 of file TPainter3dAlgorithms.cxx.

◆ Spectrum()

void TPainter3dAlgorithms::Spectrum ( Int_t  nl,
Double_t  fmin,
Double_t  fmax,
Int_t  ic,
Int_t  idc,
Int_t irep 
)

Set Spectrum.

Parameters
[in]nlnumber of levels
[in]fminMIN function value
[in]fmaxMAX function value
[in]icinitial color index (for 1st level)
[in]idccolor index increment
[out]irepreply (0 O.K., -1 error)

Definition at line 3423 of file TPainter3dAlgorithms.cxx.

◆ SurfaceCartesian()

void TPainter3dAlgorithms::SurfaceCartesian ( Double_t  ang,
Int_t  nx,
Int_t  ny,
const char *  chopt 
)

Draw surface in cartesian coordinate system.

Parameters
[in]angangle between X ang Y (not used in this method)
[in]nxnumber of steps along X
[in]nynumber of steps along Y
  • chopt = 'BF' from BACK to FRONT
  • chopt = 'FB' from FRONT to BACK

Definition at line 3478 of file TPainter3dAlgorithms.cxx.

◆ SurfaceCylindrical()

void TPainter3dAlgorithms::SurfaceCylindrical ( Int_t  iordr,
Int_t  na,
Int_t  nb,
const char *  chopt 
)

Draw surface in cylindrical coordinates.

Parameters
[in]iordrorder of variables (0 - Z,PHI; 1 - PHI,Z)
[in]nanumber of steps along 1st variable
[in]nbnumber of steps along 2nd variable
  • chopt = 'BF' from BACK to FRONT
  • chopt = 'FB' from FRONT to BACK

Definition at line 3794 of file TPainter3dAlgorithms.cxx.

◆ SurfaceFunction()

void TPainter3dAlgorithms::SurfaceFunction ( Int_t  ia,
Int_t  ib,
Double_t f,
Double_t t 
)

Service function for Surfaces.

Definition at line 3546 of file TPainter3dAlgorithms.cxx.

◆ SurfacePolar()

void TPainter3dAlgorithms::SurfacePolar ( Int_t  iordr,
Int_t  na,
Int_t  nb,
const char *  chopt 
)

Draw surface in polar coordinates.

Parameters
[in]iordrorder of variables (0 - R,PHI, 1 - PHI,R)
[in]nanumber of steps along 1st variable
[in]nbnumber of steps along 2nd variable
  • chopt = 'BF' from BACK to FRONT
  • chopt = 'FB' from FRONT to BACK

Definition at line 3667 of file TPainter3dAlgorithms.cxx.

◆ SurfaceProperty()

void TPainter3dAlgorithms::SurfaceProperty ( Double_t  qqa,
Double_t  qqd,
Double_t  qqs,
Int_t  nnqs,
Int_t irep 
)

Set surface property coefficients.

Parameters
[in]qqadiffusion coefficient for diffused light [0.,1.]
[in]qqddiffusion coefficient for direct light [0.,1.]
[in]qqsdiffusion coefficient for reflected light [0.,1.]
[in]nnqspower coefficient for reflected light (.GE.1)

Lightness model formula: Y = YD*QA + > YLi*(QD*cosNi+QS*cosRi)

Parameters
[out]irepreply (0 - O.K, -1 error)

Definition at line 4083 of file TPainter3dAlgorithms.cxx.

◆ SurfaceSpherical()

void TPainter3dAlgorithms::SurfaceSpherical ( Int_t  ipsdr,
Int_t  iordr,
Int_t  na,
Int_t  nb,
const char *  chopt 
)

Draw surface in spheric coordinates.

Parameters
[in]ipsdrpseudo-rapidity flag
[in]iordrorder of variables (0 - THETA,PHI; 1 - PHI,THETA)
[in]nanumber of steps along 1st variable
[in]nbnumber of steps along 2nd variable
  • chopt = 'BF' from BACK to FRONT
  • chopt = 'FB' from FRONT to BACK

Definition at line 3917 of file TPainter3dAlgorithms.cxx.

◆ TestEdge()

void TPainter3dAlgorithms::TestEdge ( Double_t  del,
Double_t  xyz[52][3],
Int_t  i1,
Int_t  i2,
Int_t  iface[3],
Double_t  abcd[4],
Int_t irep 
)
protected

Test edge against face (triangle)

Parameters
[in]delprecision
[in]xyznodes
[in]i11-st node of edge
[in]i22-nd node of edge
[in]ifacetriangular face
[in]abcdface plane
[out]irep1: edge under face, 0: no decision, +1: edge before face

Definition at line 5466 of file TPainter3dAlgorithms.cxx.

◆ ZDepth()

void TPainter3dAlgorithms::ZDepth ( Double_t  xyz[52][3],
Int_t nface,
Int_t  iface[48][3],
Double_t  dface[48][6],
Double_t  abcd[48][4],
Int_t iorder 
)

Z-depth algorithm for set of triangles.

Parameters
[in]xyznodes
[in]nfacenumber of triangular faces
[in]ifacefaces (triangles)
[in]dfacearray for min-max scopes
[in]abcdarray for face plane equations
[out]iorderface order

Definition at line 5273 of file TPainter3dAlgorithms.cxx.

Member Data Documentation

◆ fAphi

Double_t* TPainter3dAlgorithms::fAphi
private

Upper limits of lego.

Definition at line 33 of file TPainter3dAlgorithms.h.

◆ fColorBottom

Int_t TPainter3dAlgorithms::fColorBottom
private

Definition at line 39 of file TPainter3dAlgorithms.h.

◆ fColorDark

Int_t* TPainter3dAlgorithms::fColorDark
private

Definition at line 37 of file TPainter3dAlgorithms.h.

◆ fColorLevel

Int_t TPainter3dAlgorithms::fColorLevel[NumOfColorLevels+2]
private

Definition at line 117 of file TPainter3dAlgorithms.h.

◆ fColorMain

Int_t* TPainter3dAlgorithms::fColorMain
private

Coordinate system.

Definition at line 36 of file TPainter3dAlgorithms.h.

◆ fColorTop

Int_t TPainter3dAlgorithms::fColorTop
private

Definition at line 38 of file TPainter3dAlgorithms.h.

◆ fD

Double_t TPainter3dAlgorithms::fD[NumOfSlices *2]
private

Definition at line 160 of file TPainter3dAlgorithms.h.

◆ fDrawFace

DrawFaceFunc_t TPainter3dAlgorithms::fDrawFace
private

Definition at line 59 of file TPainter3dAlgorithms.h.

◆ fDX

Double_t TPainter3dAlgorithms::fDX
private

Definition at line 154 of file TPainter3dAlgorithms.h.

◆ fDXrast

Double_t TPainter3dAlgorithms::fDXrast
private

Definition at line 174 of file TPainter3dAlgorithms.h.

◆ fDYrast

Double_t TPainter3dAlgorithms::fDYrast
private

Definition at line 175 of file TPainter3dAlgorithms.h.

◆ fEdgeColor

Int_t* TPainter3dAlgorithms::fEdgeColor
private

Definition at line 40 of file TPainter3dAlgorithms.h.

◆ fEdgeIdx

Int_t TPainter3dAlgorithms::fEdgeIdx
private

Definition at line 43 of file TPainter3dAlgorithms.h.

◆ fEdgeStyle

Int_t* TPainter3dAlgorithms::fEdgeStyle
private

Definition at line 41 of file TPainter3dAlgorithms.h.

◆ fEdgeWidth

Int_t* TPainter3dAlgorithms::fEdgeWidth
private

Definition at line 42 of file TPainter3dAlgorithms.h.

◆ fF8

Double_t TPainter3dAlgorithms::fF8[8]
private

Definition at line 204 of file TPainter3dAlgorithms.h.

◆ fFmax

Double_t TPainter3dAlgorithms::fFmax
private

IsoSurface minimum function value.

Definition at line 47 of file TPainter3dAlgorithms.h.

◆ fFmin

Double_t TPainter3dAlgorithms::fFmin
private

Number of histograms in the stack to be painted.

Definition at line 46 of file TPainter3dAlgorithms.h.

◆ fFunLevel

Double_t TPainter3dAlgorithms::fFunLevel[NumOfColorLevels+1]
private

Definition at line 116 of file TPainter3dAlgorithms.h.

◆ fG8

Double_t TPainter3dAlgorithms::fG8[8][3]
private

Definition at line 205 of file TPainter3dAlgorithms.h.

◆ fIc1

Int_t TPainter3dAlgorithms::fIc1
private

Number of colours per Iso surface.

Definition at line 49 of file TPainter3dAlgorithms.h.

◆ fIc2

Int_t TPainter3dAlgorithms::fIc2
private

Base colour for the 1st Iso Surface.

Definition at line 50 of file TPainter3dAlgorithms.h.

◆ fIc3

Int_t TPainter3dAlgorithms::fIc3
private

Base colour for the 2nd Iso Surface.

Definition at line 51 of file TPainter3dAlgorithms.h.

◆ fIfrast

Int_t TPainter3dAlgorithms::fIfrast
private

Definition at line 178 of file TPainter3dAlgorithms.h.

◆ fJmask

Int_t TPainter3dAlgorithms::fJmask[30]
private

Definition at line 180 of file TPainter3dAlgorithms.h.

◆ fLegoFunction

LegoFunc_t TPainter3dAlgorithms::fLegoFunction
private

pointer to face drawing function

Definition at line 60 of file TPainter3dAlgorithms.h.

◆ fLevelLine

Int_t TPainter3dAlgorithms::fLevelLine[NumOfLevelLines]
private

Definition at line 121 of file TPainter3dAlgorithms.h.

◆ fLoff

Int_t TPainter3dAlgorithms::fLoff
private

Definition at line 134 of file TPainter3dAlgorithms.h.

◆ fMask

Int_t TPainter3dAlgorithms::fMask[465]
private

Definition at line 181 of file TPainter3dAlgorithms.h.

◆ fMesh

Int_t TPainter3dAlgorithms::fMesh
private

Definition at line 44 of file TPainter3dAlgorithms.h.

◆ fNaphi

Int_t TPainter3dAlgorithms::fNaphi
private

Definition at line 34 of file TPainter3dAlgorithms.h.

◆ fNcolor

Int_t TPainter3dAlgorithms::fNcolor
private

IsoSurface maximum function value.

Definition at line 48 of file TPainter3dAlgorithms.h.

◆ fNlevel

Int_t TPainter3dAlgorithms::fNlevel
private

Definition at line 115 of file TPainter3dAlgorithms.h.

◆ fNlines

Int_t TPainter3dAlgorithms::fNlines
private

Definition at line 120 of file TPainter3dAlgorithms.h.

◆ fNqs

Int_t TPainter3dAlgorithms::fNqs
private

Definition at line 141 of file TPainter3dAlgorithms.h.

◆ fNStack

Int_t TPainter3dAlgorithms::fNStack
private

(=1 if mesh to draw, o otherwise)

Definition at line 45 of file TPainter3dAlgorithms.h.

◆ fNT

Int_t TPainter3dAlgorithms::fNT
private

Definition at line 155 of file TPainter3dAlgorithms.h.

◆ fNxrast

Int_t TPainter3dAlgorithms::fNxrast
private

Definition at line 176 of file TPainter3dAlgorithms.h.

◆ fNyrast

Int_t TPainter3dAlgorithms::fNyrast
private

Definition at line 177 of file TPainter3dAlgorithms.h.

◆ fP8

Double_t TPainter3dAlgorithms::fP8[8][3]
private

Definition at line 203 of file TPainter3dAlgorithms.h.

◆ fPlines

Double_t TPainter3dAlgorithms::fPlines[NumOfLevelLines *6]
private

Definition at line 122 of file TPainter3dAlgorithms.h.

◆ fQA

Double_t TPainter3dAlgorithms::fQA
private

Definition at line 138 of file TPainter3dAlgorithms.h.

◆ fQD

Double_t TPainter3dAlgorithms::fQD
private

Definition at line 139 of file TPainter3dAlgorithms.h.

◆ fQS

Double_t TPainter3dAlgorithms::fQS
private

Definition at line 140 of file TPainter3dAlgorithms.h.

◆ fRaster

Int_t* TPainter3dAlgorithms::fRaster
private

Definition at line 179 of file TPainter3dAlgorithms.h.

◆ fRmax

Double_t TPainter3dAlgorithms::fRmax[3]
private

Lower limits of lego.

Definition at line 32 of file TPainter3dAlgorithms.h.

◆ fRmin

Double_t TPainter3dAlgorithms::fRmin[3]
private

Definition at line 31 of file TPainter3dAlgorithms.h.

◆ fSurfaceFunction

SurfaceFunc_t TPainter3dAlgorithms::fSurfaceFunction
private

pointer to lego function

Definition at line 61 of file TPainter3dAlgorithms.h.

◆ fSystem

Int_t TPainter3dAlgorithms::fSystem
private

Size of fAphi.

Definition at line 35 of file TPainter3dAlgorithms.h.

◆ fT

Double_t TPainter3dAlgorithms::fT[MaxNT *2]
private

Definition at line 156 of file TPainter3dAlgorithms.h.

◆ fU

Double_t TPainter3dAlgorithms::fU[NumOfSlices *2]
private

Definition at line 159 of file TPainter3dAlgorithms.h.

◆ fVls

Double_t TPainter3dAlgorithms::fVls[NumOfLights *3]
private

Definition at line 137 of file TPainter3dAlgorithms.h.

◆ fX0

Double_t TPainter3dAlgorithms::fX0
private

Definition at line 153 of file TPainter3dAlgorithms.h.

◆ fXrast

Double_t TPainter3dAlgorithms::fXrast
private

Definition at line 172 of file TPainter3dAlgorithms.h.

◆ fYdl

Double_t TPainter3dAlgorithms::fYdl
private

Definition at line 135 of file TPainter3dAlgorithms.h.

◆ fYls

Double_t TPainter3dAlgorithms::fYls[NumOfLights]
private

Definition at line 136 of file TPainter3dAlgorithms.h.

◆ fYrast

Double_t TPainter3dAlgorithms::fYrast
private

Definition at line 173 of file TPainter3dAlgorithms.h.

◆ MaxNT

const Int_t TPainter3dAlgorithms::MaxNT = 100
staticprivate

Definition at line 152 of file TPainter3dAlgorithms.h.

◆ NumOfColorLevels

const Int_t TPainter3dAlgorithms::NumOfColorLevels = 256
staticprivate

Definition at line 114 of file TPainter3dAlgorithms.h.

◆ NumOfLevelLines

const Int_t TPainter3dAlgorithms::NumOfLevelLines = 200
staticprivate

Definition at line 119 of file TPainter3dAlgorithms.h.

◆ NumOfLights

const Int_t TPainter3dAlgorithms::NumOfLights = 4
staticprivate

Definition at line 133 of file TPainter3dAlgorithms.h.

◆ NumOfSlices

const Int_t TPainter3dAlgorithms::NumOfSlices = 2000
staticprivate

Definition at line 158 of file TPainter3dAlgorithms.h.

  • hist/histpainter/src/TPainter3dAlgorithms.h
  • hist/histpainter/src/TPainter3dAlgorithms.cxx