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 29 of file TPainter3dAlgorithms.h.
Public Types | |
typedef void(TPainter3dAlgorithms::* | DrawFaceFunc_t) (Int_t *, Double_t *, Int_t, Int_t *, Double_t *) |
Pointer to the 3D function to be paint. More... | |
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 Types inherited from TObject | |
enum | { kIsOnHeap = 0x01000000 , kNotDeleted = 0x02000000 , kZombie = 0x04000000 , kInconsistent = 0x08000000 , kBitMask = 0x00ffffff } |
enum | { kSingleKey = BIT(0) , kOverwrite = BIT(1) , kWriteDelete = BIT(2) } |
enum | EDeprecatedStatusBits { kObjInCanvas = BIT(3) } |
enum | EStatusBits { kCanDelete = BIT(0) , kMustCleanup = BIT(3) , kIsReferenced = BIT(4) , kHasUUID = BIT(5) , kCannotPick = BIT(6) , kNoContextMenu = BIT(8) , kInvalidObject = BIT(13) } |
Public Member Functions | |
TPainter3dAlgorithms () | |
pointer to surface function More... | |
TPainter3dAlgorithms (Double_t *rmin, Double_t *rmax, Int_t system=1) | |
Normal default constructor. More... | |
virtual | ~TPainter3dAlgorithms () |
Lego default destructor. More... | |
void | BackBox (Double_t ang) |
Draw back surfaces of surrounding box. More... | |
void | ClearRaster () |
Clear screen. More... | |
void | ColorFunction (Int_t nl, Double_t *fl, Int_t *icl, Int_t &irep) |
Set correspondence between function and color levels. More... | |
void | DefineGridLevels (Int_t ndivz) |
Define the grid levels drawn in the background of surface and lego plots. More... | |
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. More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
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) More... | |
void | DrawLevelLines (Int_t *icodes, Double_t *xyz, Int_t np, Int_t *iface, Double_t *tt) |
Draw level lines without hidden line removal. More... | |
void | FillPolygon (Int_t n, Double_t *p, Double_t *f) |
Fill polygon with function values at vertexes. More... | |
void | FillPolygonBorder (Int_t nn, Double_t *xy) |
Fill a polygon including border ("RASTER SCREEN") More... | |
void | FindLevelLines (Int_t np, Double_t *f, Double_t *t) |
Find level lines for face. More... | |
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 More... | |
void | FindVisibleDraw (Double_t *r1, Double_t *r2) |
Find visible parts of line (draw line) More... | |
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") More... | |
void | FrontBox (Double_t ang) |
Draw front surfaces of surrounding box & axes. More... | |
void | GouraudFunction (Int_t ia, Int_t ib, Double_t *f, Double_t *t) |
Find part of surface with luminosity in the corners. More... | |
void | ImplicitFunction (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". More... | |
void | InitMoveScreen (Double_t xmin, Double_t xmax) |
Initialize "MOVING SCREEN" method. More... | |
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) More... | |
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. More... | |
void | LegoCartesian (Double_t ang, Int_t nx, Int_t ny, const char *chopt) |
Draw stack of lego-plots in cartesian coordinates. More... | |
void | LegoCylindrical (Int_t iordr, Int_t na, Int_t nb, const char *chopt) |
Draw stack of lego-plots in cylindrical coordinates. More... | |
void | LegoFunction (Int_t ia, Int_t ib, Int_t &nv, Double_t *ab, Double_t *vv, Double_t *t) |
Service function for Legos. More... | |
void | LegoPolar (Int_t iordr, Int_t na, Int_t nb, const char *chopt) |
Draw stack of lego-plots in polar coordinates. More... | |
void | LegoSpherical (Int_t ipsdr, Int_t iordr, Int_t na, Int_t nb, const char *chopt) |
Draw stack of lego-plots spheric coordinates. More... | |
void | LightSource (Int_t nl, Double_t yl, Double_t xscr, Double_t yscr, Double_t zscr, Int_t &irep) |
Set light source. More... | |
void | Luminosity (Double_t *anorm, Double_t &flum) |
Find surface luminosity at given point. More... | |
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. More... | |
void | ModifyScreen (Double_t *r1, Double_t *r2) |
Modify SCREEN. More... | |
void | SetColorDark (Color_t color, Int_t n=0) |
Store dark color for stack number n. More... | |
void | SetColorMain (Color_t color, Int_t n=0) |
Store color for stack number n. More... | |
void | SetDrawFace (DrawFaceFunc_t pointer) |
Store pointer to current algorithm to draw faces. More... | |
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. More... | |
void | SetMesh (Int_t mesh=1) |
void | SetSurfaceFunction (SurfaceFunc_t pointer) |
Store pointer to current surface function. More... | |
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. More... | |
void | SideVisibilityEncode (Int_t iopt, Double_t phi1, Double_t phi2, Double_t &val) |
Encode side visibilities and order along R for sector. More... | |
void | Spectrum (Int_t nl, Double_t fmin, Double_t fmax, Int_t ic, Int_t idc, Int_t &irep) |
Set Spectrum. More... | |
void | SurfaceCartesian (Double_t ang, Int_t nx, Int_t ny, const char *chopt) |
Draw surface in cartesian coordinate system. More... | |
void | SurfaceCylindrical (Int_t iordr, Int_t na, Int_t nb, const char *chopt) |
Draw surface in cylindrical coordinates. More... | |
void | SurfaceFunction (Int_t ia, Int_t ib, Double_t *f, Double_t *t) |
Service function for Surfaces. More... | |
void | SurfacePolar (Int_t iordr, Int_t na, Int_t nb, const char *chopt) |
Draw surface in polar coordinates. More... | |
void | SurfaceProperty (Double_t qqa, Double_t qqd, Double_t qqs, Int_t nnqs, Int_t &irep) |
Set surface property coefficients. More... | |
void | SurfaceSpherical (Int_t ipsdr, Int_t iordr, Int_t na, Int_t nb, const char *chopt) |
Draw surface in spheric coordinates. More... | |
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. More... | |
Public Member Functions inherited from TObject | |
TObject () | |
TObject constructor. More... | |
TObject (const TObject &object) | |
TObject copy ctor. More... | |
virtual | ~TObject () |
TObject destructor. More... | |
void | AbstractMethod (const char *method) const |
Use this method to implement an "abstract" method that you don't want to leave purely abstract. More... | |
virtual void | AppendPad (Option_t *option="") |
Append graphics object to current pad. More... | |
virtual void | Browse (TBrowser *b) |
Browse object. May be overridden for another default action. More... | |
ULong_t | CheckedHash () |
Check and record whether this class has a consistent Hash/RecursiveRemove setup (*) and then return the regular Hash value for this object. More... | |
virtual const char * | ClassName () const |
Returns name of class to which the object belongs. More... | |
virtual void | Clear (Option_t *="") |
virtual TObject * | Clone (const char *newname="") const |
Make a clone of an object using the Streamer facility. More... | |
virtual Int_t | Compare (const TObject *obj) const |
Compare abstract method. More... | |
virtual void | Copy (TObject &object) const |
Copy this to obj. More... | |
virtual void | Delete (Option_t *option="") |
Delete this object. More... | |
virtual Int_t | DistancetoPrimitive (Int_t px, Int_t py) |
Computes distance from point (px,py) to the object. More... | |
virtual void | Draw (Option_t *option="") |
Default Draw method for all objects. More... | |
virtual void | DrawClass () const |
Draw class inheritance tree of the class to which this object belongs. More... | |
virtual TObject * | DrawClone (Option_t *option="") const |
Draw a clone of this object in the current selected pad for instance with: gROOT->SetSelectedPad(gPad) . More... | |
virtual void | Dump () const |
Dump contents of object on stdout. More... | |
virtual void | Error (const char *method, const char *msgfmt,...) const |
Issue error message. More... | |
virtual void | Execute (const char *method, const char *params, Int_t *error=0) |
Execute method on this object with the given parameter string, e.g. More... | |
virtual void | Execute (TMethod *method, TObjArray *params, Int_t *error=0) |
Execute method on this object with parameters stored in the TObjArray. More... | |
virtual void | ExecuteEvent (Int_t event, Int_t px, Int_t py) |
Execute action corresponding to an event at (px,py). More... | |
virtual void | Fatal (const char *method, const char *msgfmt,...) const |
Issue fatal error message. More... | |
virtual TObject * | FindObject (const char *name) const |
Must be redefined in derived classes. More... | |
virtual TObject * | FindObject (const TObject *obj) const |
Must be redefined in derived classes. More... | |
virtual Option_t * | GetDrawOption () const |
Get option used by the graphics system to draw this object. More... | |
virtual const char * | GetIconName () const |
Returns mime type name of object. More... | |
virtual const char * | GetName () const |
Returns name of object. More... | |
virtual char * | GetObjectInfo (Int_t px, Int_t py) const |
Returns string containing info about the object at position (px,py). More... | |
virtual Option_t * | GetOption () const |
virtual const char * | GetTitle () const |
Returns title of object. More... | |
virtual UInt_t | GetUniqueID () const |
Return the unique object id. More... | |
virtual Bool_t | HandleTimer (TTimer *timer) |
Execute action in response of a timer timing out. More... | |
virtual ULong_t | Hash () const |
Return hash value for this object. More... | |
Bool_t | HasInconsistentHash () const |
Return true is the type of this object is known to have an inconsistent setup for Hash and RecursiveRemove (i.e. More... | |
virtual void | Info (const char *method, const char *msgfmt,...) const |
Issue info message. More... | |
virtual Bool_t | InheritsFrom (const char *classname) const |
Returns kTRUE if object inherits from class "classname". More... | |
virtual Bool_t | InheritsFrom (const TClass *cl) const |
Returns kTRUE if object inherits from TClass cl. More... | |
virtual void | Inspect () const |
Dump contents of this object in a graphics canvas. More... | |
void | InvertBit (UInt_t f) |
virtual Bool_t | IsEqual (const TObject *obj) const |
Default equal comparison (objects are equal if they have the same address in memory). More... | |
virtual Bool_t | IsFolder () const |
Returns kTRUE in case object contains browsable objects (like containers or lists of other objects). More... | |
R__ALWAYS_INLINE Bool_t | IsOnHeap () const |
virtual Bool_t | IsSortable () const |
R__ALWAYS_INLINE Bool_t | IsZombie () const |
virtual void | ls (Option_t *option="") const |
The ls function lists the contents of a class on stdout. More... | |
void | MayNotUse (const char *method) const |
Use this method to signal that a method (defined in a base class) may not be called in a derived class (in principle against good design since a child class should not provide less functionality than its parent, however, sometimes it is necessary). More... | |
virtual Bool_t | Notify () |
This method must be overridden to handle object notification. More... | |
void | Obsolete (const char *method, const char *asOfVers, const char *removedFromVers) const |
Use this method to declare a method obsolete. More... | |
void | operator delete (void *ptr) |
Operator delete. More... | |
void | operator delete[] (void *ptr) |
Operator delete []. More... | |
void * | operator new (size_t sz) |
void * | operator new (size_t sz, void *vp) |
void * | operator new[] (size_t sz) |
void * | operator new[] (size_t sz, void *vp) |
TObject & | operator= (const TObject &rhs) |
TObject assignment operator. More... | |
virtual void | Paint (Option_t *option="") |
This method must be overridden if a class wants to paint itself. More... | |
virtual void | Pop () |
Pop on object drawn in a pad to the top of the display list. More... | |
virtual void | Print (Option_t *option="") const |
This method must be overridden when a class wants to print itself. More... | |
virtual Int_t | Read (const char *name) |
Read contents of object with specified name from the current directory. More... | |
virtual void | RecursiveRemove (TObject *obj) |
Recursively remove this object from a list. More... | |
void | ResetBit (UInt_t f) |
virtual void | SaveAs (const char *filename="", Option_t *option="") const |
Save this object in the file specified by filename. More... | |
virtual void | SavePrimitive (std::ostream &out, Option_t *option="") |
Save a primitive as a C++ statement(s) on output stream "out". More... | |
void | SetBit (UInt_t f) |
void | SetBit (UInt_t f, Bool_t set) |
Set or unset the user status bits as specified in f. More... | |
virtual void | SetDrawOption (Option_t *option="") |
Set drawing option for object. More... | |
virtual void | SetUniqueID (UInt_t uid) |
Set the unique object id. More... | |
virtual void | SysError (const char *method, const char *msgfmt,...) const |
Issue system error message. More... | |
R__ALWAYS_INLINE Bool_t | TestBit (UInt_t f) const |
Int_t | TestBits (UInt_t f) const |
virtual void | UseCurrentStyle () |
Set current style settings in this object This function is called when either TCanvas::UseCurrentStyle or TROOT::ForceStyle have been invoked. More... | |
virtual void | Warning (const char *method, const char *msgfmt,...) const |
Issue warning message. More... | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) |
Write this object to the current directory. More... | |
virtual Int_t | Write (const char *name=0, Int_t option=0, Int_t bufsize=0) const |
Write this object to the current directory. More... | |
Public Member Functions inherited from TAttLine | |
TAttLine () | |
AttLine default constructor. More... | |
TAttLine (Color_t lcolor, Style_t lstyle, Width_t lwidth) | |
AttLine normal constructor. More... | |
virtual | ~TAttLine () |
AttLine destructor. More... | |
void | Copy (TAttLine &attline) const |
Copy this line attributes to a new TAttLine. More... | |
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. More... | |
virtual Color_t | GetLineColor () const |
Return the line color. More... | |
virtual Style_t | GetLineStyle () const |
Return the line style. More... | |
virtual Width_t | GetLineWidth () const |
Return the line width. More... | |
virtual void | Modify () |
Change current line attributes if necessary. More... | |
virtual void | ResetAttLine (Option_t *option="") |
Reset this line attributes to default values. More... | |
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. More... | |
virtual void | SetLineAttributes () |
Invoke the DialogCanvas Line attributes. More... | |
virtual void | SetLineColor (Color_t lcolor) |
Set the line color. More... | |
virtual void | SetLineColorAlpha (Color_t lcolor, Float_t lalpha) |
Set a transparent line color. More... | |
virtual void | SetLineStyle (Style_t lstyle) |
Set the line style. More... | |
virtual void | SetLineWidth (Width_t lwidth) |
Set the line width. More... | |
Public Member Functions inherited from TAttFill | |
TAttFill () | |
AttFill default constructor. More... | |
TAttFill (Color_t fcolor, Style_t fstyle) | |
AttFill normal constructor. More... | |
virtual | ~TAttFill () |
AttFill destructor. More... | |
void | Copy (TAttFill &attfill) const |
Copy this fill attributes to a new TAttFill. More... | |
virtual Color_t | GetFillColor () const |
Return the fill area color. More... | |
virtual Style_t | GetFillStyle () const |
Return the fill area style. More... | |
virtual Bool_t | IsTransparent () const |
virtual void | Modify () |
Change current fill area attributes if necessary. More... | |
virtual void | ResetAttFill (Option_t *option="") |
Reset this fill attributes to default values. More... | |
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. More... | |
virtual void | SetFillAttributes () |
Invoke the DialogCanvas Fill attributes. More... | |
virtual void | SetFillColor (Color_t fcolor) |
Set the fill area color. More... | |
virtual void | SetFillColorAlpha (Color_t fcolor, Float_t falpha) |
Set a transparent fill color. More... | |
virtual void | SetFillStyle (Style_t fstyle) |
Set the fill area style. More... | |
Static Public Member Functions | |
static void | SetF3 (TF3 *f3) |
Static function Store pointer to current implicit function. More... | |
static void | SetF3ClippingBoxOff () |
Static function Set the implicit function clipping box "off". More... | |
static void | SetF3ClippingBoxOn (Double_t xclip, Double_t yclip, Double_t zclip) |
Static function Set the implicit function clipping box "on" and define the clipping box. More... | |
Static Public Member Functions inherited from TObject | |
static Long_t | GetDtorOnly () |
Return destructor only flag. More... | |
static Bool_t | GetObjectStat () |
Get status of object stat flag. More... | |
static void | SetDtorOnly (void *obj) |
Set destructor only flag. More... | |
static void | SetObjectStat (Bool_t stat) |
Turn on/off tracking of objects in the TObjectTable. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
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. More... | |
void | MarchingCubeFindNodes (Int_t nnod, Int_t *ie, Double_t xyz[52][3], Double_t grad[52][3]) |
Find nodes and normales. More... | |
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. More... | |
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) More... | |
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") More... | |
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) More... | |
Protected Member Functions inherited from TObject | |
virtual void | DoError (int level, const char *location, const char *fmt, va_list va) const |
Interface to ErrorHandler (protected). More... | |
void | MakeZombie () |
Static Private Attributes | |
static TF3 * | fgCurrentF3 = 0 |
Clipping plane along Y. More... | |
static Int_t | fgF3Clipping = 0 |
Base colour for the 3rd Iso Surface. More... | |
static Double_t | fgF3XClip = 0. |
Clipping box is off (0) or on (1) More... | |
static Double_t | fgF3YClip = 0. |
Clipping plane along X. More... | |
static Double_t | fgF3ZClip = 0. |
Clipping plane along Y. More... | |
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. More... | |
Style_t | fLineStyle |
Line style. More... | |
Width_t | fLineWidth |
Line width. More... | |
Protected Attributes inherited from TAttFill | |
Color_t | fFillColor |
Fill area color. More... | |
Style_t | fFillStyle |
Fill area style. More... | |
#include <TPainter3dAlgorithms.h>
typedef void(TPainter3dAlgorithms::* TPainter3dAlgorithms::DrawFaceFunc_t) (Int_t *, Double_t *, Int_t, Int_t *, Double_t *) |
Pointer to the 3D function to be paint.
Definition at line 62 of file TPainter3dAlgorithms.h.
typedef void(TPainter3dAlgorithms::* TPainter3dAlgorithms::LegoFunc_t) (Int_t, Int_t, Int_t &, Double_t *, Double_t *, Double_t *) |
Definition at line 63 of file TPainter3dAlgorithms.h.
typedef void(TPainter3dAlgorithms::* TPainter3dAlgorithms::SurfaceFunc_t) (Int_t, Int_t, Double_t *, Double_t *) |
Definition at line 64 of file TPainter3dAlgorithms.h.
TPainter3dAlgorithms::TPainter3dAlgorithms | ( | ) |
pointer to surface function
Lego default constructor.
Definition at line 81 of file TPainter3dAlgorithms.cxx.
Normal default constructor.
rmin[3], rmax[3] are the limits of the lego object depending on the selected coordinate system
Definition at line 161 of file TPainter3dAlgorithms.cxx.
|
virtual |
Lego default destructor.
Definition at line 250 of file TPainter3dAlgorithms.cxx.
Draw back surfaces of surrounding box.
[in] | ang | angle between X and Y axis |
Definition at line 268 of file TPainter3dAlgorithms.cxx.
void TPainter3dAlgorithms::ClearRaster | ( | ) |
Clear screen.
Definition at line 359 of file TPainter3dAlgorithms.cxx.
Set correspondence between function and color levels.
[in] | nl | number of levels |
[in] | fl | function levels |
[in] | icl | colors for levels |
[out] | irep | return code (0 OK, -1 error). |
Definition at line 375 of file TPainter3dAlgorithms.cxx.
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 418 of file TPainter3dAlgorithms.cxx.
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 5880 of file TPainter3dAlgorithms.cxx.
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)
[in] | icodes | set of codes for the line (not used in this method) |
[in] | xyz | coordinates of nodes |
[in] | np | number of nodes in face |
[in] | iface | face |
[in] | t | additional function defined on this face (not used in this method) |
Definition at line 459 of file TPainter3dAlgorithms.cxx.
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)
[in] | icodes | set of codes for the line (not used in this method) |
[in] | xyz | coordinates of nodes |
[in] | np | number of nodes |
[in] | iface | face |
[in] | t | additional function defined on this face |
Definition at line 509 of file TPainter3dAlgorithms.cxx.
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)
[in] | icodes | set of codes for the line |
[in] | xyz | coordinates of nodes |
[in] | np | number of nodes |
[in] | iface | face |
[in] | t | additional function defined on this face (not used in this method) |
Definition at line 565 of file TPainter3dAlgorithms.cxx.
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)
[in] | icodes | set of codes for the line |
[in] | xyz | coordinates of nodes |
[in] | np | number of nodes |
[in] | iface | face |
[in] | tt | additional function defined on this face |
Definition at line 612 of file TPainter3dAlgorithms.cxx.
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)
[in] | icodes | set of codes for the line |
[in] | xyz | coordinates of nodes |
[in] | np | number of nodes |
[in] | iface | face |
[in] | tt | additional function defined on this face (not used in this method) |
Definition at line 702 of file TPainter3dAlgorithms.cxx.
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)
[in] | icodes | set of codes for the line |
[in] | xyz | coordinates of nodes |
[in] | np | number of nodes |
[in] | iface | face |
[in] | tt | additional function defined on this face |
Definition at line 763 of file TPainter3dAlgorithms.cxx.
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)
[in] | icodes | set of codes for the line |
[in] | xyz | coordinates of nodes |
[in] | np | number of nodes |
[in] | iface | face |
[in] | tt | additional function defined on this face |
Definition at line 917 of file TPainter3dAlgorithms.cxx.
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)
[in] | icodes | set of codes for the line (not used in this method) |
[in] | xyz | coordinates of nodes |
[in] | np | number of nodes |
[in] | iface | face |
[in] | tt | additional function defined on this face (not used in this method) |
Definition at line 1006 of file TPainter3dAlgorithms.cxx.
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.
[in] | icodes | set of codes for the line |
[in] | xyz | coordinates of nodes |
[in] | np | number of nodes |
[in] | iface | face |
[in] | tt | additional function defined on this face |
Definition at line 847 of file TPainter3dAlgorithms.cxx.
Fill polygon with function values at vertexes.
[in] | n | number of vertexes |
[in] | p | polygon |
[in] | f | function values at nodes |
Errors:
Definition at line 1059 of file TPainter3dAlgorithms.cxx.
Fill a polygon including border ("RASTER SCREEN")
[in] | nn | number of polygon nodes |
[in] | xy | polygon nodes |
Definition at line 1136 of file TPainter3dAlgorithms.cxx.
Find level lines for face.
[in] | np | number of nodes |
[in] | f | face |
[in] | t | additional function |
Error: number of points for line not equal 2
Definition at line 1368 of file TPainter3dAlgorithms.cxx.
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
[in] | p1 | 1st point |
[in] | p2 | 2nd point |
[in] | f1 | function value at 1st point |
[in] | f2 | function value at 2nd point |
[in] | fmin | min value of layer |
[in] | fmax | max value of layer |
[out] | kpp | current number of point |
[out] | pp | coordinates of new face |
Definition at line 1431 of file TPainter3dAlgorithms.cxx.
Find visible parts of line (draw line)
[in] | r1 | 1-st point of the line |
[in] | r2 | 2-nd point of the line |
Definition at line 1579 of file TPainter3dAlgorithms.cxx.
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")
[in] | p1 | 1st point of the line |
[in] | p2 | 2nd point of the line |
[in] | ntmax | max allowed number of visible segments |
[out] | nt | number of visible segments of the line |
[out] | t | visible segments |
Definition at line 1748 of file TPainter3dAlgorithms.cxx.
Draw front surfaces of surrounding box & axes.
[in] | ang | angle between X and Y axis |
Definition at line 312 of file TPainter3dAlgorithms.cxx.
Find part of surface with luminosity in the corners.
This method is used for Gouraud shading
Definition at line 1893 of file TPainter3dAlgorithms.cxx.
void TPainter3dAlgorithms::ImplicitFunction | ( | 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".
[in] | rmin | min scope coordinates |
[in] | rmax | max scope coordinates |
[in] | nx | number of steps along X |
[in] | ny | number of steps along Y |
[in] | nz | number of steps along Z |
chopt
= 'BF' from BACK to FRONTchopt
= 'FB' from FRONT to BACK Definition at line 4156 of file TPainter3dAlgorithms.cxx.
Initialize "MOVING SCREEN" method.
[in] | xmin | left boundary |
[in] | xmax | right boundary |
Definition at line 2029 of file TPainter3dAlgorithms.cxx.
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)
[in] | xmin | Xmin in the normalized coordinate system |
[in] | ymin | Ymin in the normalized coordinate system |
[in] | xmax | Xmax in the normalized coordinate system |
[in] | ymax | Ymax in the normalized coordinate system |
[in] | nx | number of pixels along X |
[in] | ny | number of pixels along Y |
Definition at line 2052 of file TPainter3dAlgorithms.cxx.
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.
[in] | ns | number of iso-surfaces |
[in] | s | iso-surface values |
[in] | nx | number of slices along X |
[in] | ny | number of slices along Y |
[in] | nz | number of slices along Z |
[in] | x | slices along X |
[in] | y | slices along Y |
[in] | z | slices along Z |
Definition at line 5573 of file TPainter3dAlgorithms.cxx.
Draw stack of lego-plots in cartesian coordinates.
[in] | ang | angle between X ang Y (not used in this method) |
[in] | nx | number of cells along X |
[in] | ny | number of cells along Y |
chopt
= 'BF' from BACK to FRONTchopt
= 'FB' from FRONT to BACK Definition at line 2265 of file TPainter3dAlgorithms.cxx.
Draw stack of lego-plots in cylindrical coordinates.
[in] | iordr | order of variables (0 - Z,PHI; 1 - PHI,Z) |
[in] | na | number of steps along 1st variable |
[in] | nb | number of steps along 2nd variable |
chopt
= 'BF' from BACK to FRONTchopt
= 'FB' from FRONT to BACK Definition at line 2637 of file TPainter3dAlgorithms.cxx.
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 2093 of file TPainter3dAlgorithms.cxx.
Draw stack of lego-plots in polar coordinates.
[in] | iordr | order of variables (0 - R,PHI; 1 - PHI,R) |
[in] | na | number of steps along 1st variable |
[in] | nb | number of steps along 2nd variable |
chopt
= 'BF' from BACK to FRONTchopt
= 'FB' from FRONT to BACK Definition at line 2422 of file TPainter3dAlgorithms.cxx.
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.
[in] | ipsdr | pseudo-rapidity flag |
[in] | iordr | order of variables (0 - THETA,PHI; 1 - PHI,THETA) |
[in] | na | number of steps along 1st variable |
[in] | nb | number of steps along 2nd variable |
chopt
= 'BF' from BACK to FRONTchopt
= 'FB' from FRONT to BACK Definition at line 2858 of file TPainter3dAlgorithms.cxx.
void TPainter3dAlgorithms::LightSource | ( | Int_t | nl, |
Double_t | yl, | ||
Double_t | xscr, | ||
Double_t | yscr, | ||
Double_t | zscr, | ||
Int_t & | irep | ||
) |
Set light source.
[in] | nl | source number: 1 off all light sources, 0 set diffused light |
[in] | xl | intensity of the light source |
[in] | xscr | yscr zscr direction of the light (in respect of the screen) |
[out] | irep | reply (0 - O.K, -1 error) |
Definition at line 3139 of file TPainter3dAlgorithms.cxx.
Find surface luminosity at given point.
[in] | anorm | surface normal at given point |
[out] | flum | luminosity |
Definition at line 3202 of file TPainter3dAlgorithms.cxx.
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.
[in] | fiso | function value for iso-surface |
[in] | p | cube vertexes |
[in] | f | function values at the vertexes |
[in] | g | function gradients at the vertexes |
[out] | nnod | number of nodes (maximum 13) |
[out] | ntria | number of triangles (maximum 12) |
[out] | xyz | nodes |
[out] | grad | node normales (not normalized) |
[out] | itria | triangles |
Definition at line 4439 of file TPainter3dAlgorithms.cxx.
|
protected |
Consideration of trivial cases: 1,2,5,8,9,11,14.
[in] | k1-k6 | edges intersected with iso-surface |
Definition at line 4628 of file TPainter3dAlgorithms.cxx.
|
protected |
Consider case No 3.
Definition at line 4671 of file TPainter3dAlgorithms.cxx.
|
protected |
Consider case No 4.
Definition at line 4700 of file TPainter3dAlgorithms.cxx.
|
protected |
Consider case No 6.
Definition at line 4728 of file TPainter3dAlgorithms.cxx.
|
protected |
Consider case No 7.
Definition at line 4770 of file TPainter3dAlgorithms.cxx.
|
protected |
Consider case No 10.
Definition at line 4859 of file TPainter3dAlgorithms.cxx.
|
protected |
Consider case No 12.
Definition at line 4924 of file TPainter3dAlgorithms.cxx.
|
protected |
Consider case No 13.
Definition at line 4989 of file TPainter3dAlgorithms.cxx.
|
protected |
Find nodes and normales.
[in] | nnod | number of nodes |
[in] | ie | edges which have section node |
[out] | xyz | nodes |
[out] | grad | ode normales (not normalized) |
Definition at line 5270 of file TPainter3dAlgorithms.cxx.
|
protected |
Find middle point of a polygon.
[in] | nnod | number of nodes in the polygon |
[in] | xyz | node coordinates |
[in] | grad | node normales |
[in] | it | division of the polygons into triangles |
[out] | pxyz | middle point coordinates |
[out] | pgrad | middle point normale |
Definition at line 5164 of file TPainter3dAlgorithms.cxx.
|
protected |
Set triangles (if parameter IALL=1, all edges will be visible)
[in] | ntria | number of triangles |
[in] | it | triangles |
[out] | itria | triangles |
Definition at line 5140 of file TPainter3dAlgorithms.cxx.
|
protected |
Check for surface penetration ("bottle neck")
[in] | axx | vertex values for 1st face |
[in] | bxx | vertex values for opposite face |
[out] | irep | 1,2: there is surface penetration, 0: there is not surface penetration |
Definition at line 5198 of file TPainter3dAlgorithms.cxx.
Modify SCREEN.
[in] | r1 | 1-st point of the line |
[in] | r2 | 2-nd point of the line |
Definition at line 3249 of file TPainter3dAlgorithms.cxx.
Store dark color for stack number n.
Definition at line 3362 of file TPainter3dAlgorithms.cxx.
Store color for stack number n.
Definition at line 3372 of file TPainter3dAlgorithms.cxx.
void TPainter3dAlgorithms::SetDrawFace | ( | DrawFaceFunc_t | pointer | ) |
Store pointer to current algorithm to draw faces.
Definition at line 3305 of file TPainter3dAlgorithms.cxx.
void TPainter3dAlgorithms::SetEdgeAtt | ( | Color_t | color = 1 , |
Style_t | style = 1 , |
||
Width_t | width = 1 , |
||
Int_t | n = 0 |
||
) |
Definition at line 3381 of file TPainter3dAlgorithms.cxx.
Static function Store pointer to current implicit function.
Definition at line 3330 of file TPainter3dAlgorithms.cxx.
|
static |
Static function Set the implicit function clipping box "off".
Definition at line 3339 of file TPainter3dAlgorithms.cxx.
|
static |
Static function Set the implicit function clipping box "on" and define the clipping box.
xclip, yclip and zclip is a point within the function range. All the function value having x<=xclip and y<=yclip and z>=zclip are clipped.
Definition at line 3350 of file TPainter3dAlgorithms.cxx.
|
inline |
Definition at line 96 of file TPainter3dAlgorithms.h.
void TPainter3dAlgorithms::SetLegoFunction | ( | LegoFunc_t | pointer | ) |
Store pointer to current lego function.
Definition at line 3313 of file TPainter3dAlgorithms.cxx.
Definition at line 98 of file TPainter3dAlgorithms.h.
void TPainter3dAlgorithms::SetSurfaceFunction | ( | SurfaceFunc_t | pointer | ) |
Store pointer to current surface function.
Definition at line 3321 of file TPainter3dAlgorithms.cxx.
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.
[in] | val | encoded value |
[out] | iv1-iv6 | visibility of the sides |
[out] | ir | increment along R |
Definition at line 3398 of file TPainter3dAlgorithms.cxx.
void TPainter3dAlgorithms::SideVisibilityEncode | ( | Int_t | iopt, |
Double_t | phi1, | ||
Double_t | phi2, | ||
Double_t & | val | ||
) |
Encode side visibilities and order along R for sector.
[in] | iopt | options: 1: from BACK to FRONT 'BF', 2: from FRONT to BACK 'FB' |
[in] | phi1 | 1st phi of sector |
[in] | phi2 | 2nd phi of sector |
[out] | val | encoded value |
Definition at line 3430 of file TPainter3dAlgorithms.cxx.
void TPainter3dAlgorithms::Spectrum | ( | Int_t | nl, |
Double_t | fmin, | ||
Double_t | fmax, | ||
Int_t | ic, | ||
Int_t | idc, | ||
Int_t & | irep | ||
) |
Set Spectrum.
[in] | nl | number of levels |
[in] | fmin | MIN function value |
[in] | fmax | MAX function value |
[in] | ic | initial color index (for 1st level) |
[in] | idc | color index increment |
[out] | irep | reply (0 O.K., -1 error) |
Definition at line 3469 of file TPainter3dAlgorithms.cxx.
void TPainter3dAlgorithms::SurfaceCartesian | ( | Double_t | ang, |
Int_t | nx, | ||
Int_t | ny, | ||
const char * | chopt | ||
) |
Draw surface in cartesian coordinate system.
[in] | ang | angle between X ang Y (not used in this method) |
[in] | nx | number of steps along X |
[in] | ny | number of steps along Y |
chopt
= 'BF' from BACK to FRONTchopt
= 'FB' from FRONT to BACK Definition at line 3524 of file TPainter3dAlgorithms.cxx.
void TPainter3dAlgorithms::SurfaceCylindrical | ( | Int_t | iordr, |
Int_t | na, | ||
Int_t | nb, | ||
const char * | chopt | ||
) |
Draw surface in cylindrical coordinates.
[in] | iordr | order of variables (0 - Z,PHI; 1 - PHI,Z) |
[in] | na | number of steps along 1st variable |
[in] | nb | number of steps along 2nd variable |
chopt
= 'BF' from BACK to FRONTchopt
= 'FB' from FRONT to BACK Definition at line 3840 of file TPainter3dAlgorithms.cxx.
Service function for Surfaces.
Definition at line 3592 of file TPainter3dAlgorithms.cxx.
Draw surface in polar coordinates.
[in] | iordr | order of variables (0 - R,PHI, 1 - PHI,R) |
[in] | na | number of steps along 1st variable |
[in] | nb | number of steps along 2nd variable |
chopt
= 'BF' from BACK to FRONTchopt
= 'FB' from FRONT to BACK Definition at line 3713 of file TPainter3dAlgorithms.cxx.
void TPainter3dAlgorithms::SurfaceProperty | ( | Double_t | qqa, |
Double_t | qqd, | ||
Double_t | qqs, | ||
Int_t | nnqs, | ||
Int_t & | irep | ||
) |
Set surface property coefficients.
[in] | qqa | diffusion coefficient for diffused light [0.,1.] |
[in] | qqd | diffusion coefficient for direct light [0.,1.] |
[in] | qqs | diffusion coefficient for reflected light [0.,1.] |
[in] | nncs | power coefficient for reflected light (.GE.1) |
Lightness model formula: Y = YD*QA + > YLi*(QD*cosNi+QS*cosRi)
[out] | irep | reply (0 - O.K, -1 error) |
Definition at line 4129 of file TPainter3dAlgorithms.cxx.
void TPainter3dAlgorithms::SurfaceSpherical | ( | Int_t | ipsdr, |
Int_t | iordr, | ||
Int_t | na, | ||
Int_t | nb, | ||
const char * | chopt | ||
) |
Draw surface in spheric coordinates.
[in] | ipsdr | pseudo-rapidity flag |
[in] | iordr | order of variables (0 - THETA,PHI; 1 - PHI,THETA) |
[in] | na | number of steps along 1st variable |
[in] | nb | number of steps along 2nd variable |
chopt
= 'BF' from BACK to FRONTchopt
= 'FB' from FRONT to BACK Definition at line 3963 of file TPainter3dAlgorithms.cxx.
|
protected |
Test edge against face (triangle)
[in] | del | precision |
[in] | xyz | nodes |
[in] | i1 | 1-st node of edge |
[in] | i2 | 2-nd node of edge |
[in] | iface | triangular face |
[in] | abcd | face plane |
[out] | irep | 1: edge under face, 0: no decision, +1: edge before face |
Definition at line 5497 of file TPainter3dAlgorithms.cxx.
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.
[in] | xyz | nodes |
[in] | nface | number of triangular faces |
[in] | iface | faces (triangles) |
[in] | dface | array for min-max scopes |
[in] | abcd | array for face plane equations |
[out] | iorder | face order |
Definition at line 5304 of file TPainter3dAlgorithms.cxx.
|
private |
Upper limits of lego.
Definition at line 34 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 40 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 38 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 129 of file TPainter3dAlgorithms.h.
|
private |
Coordinate system.
Definition at line 37 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 39 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 171 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 67 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 165 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 185 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 186 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 41 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 44 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 42 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 43 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 215 of file TPainter3dAlgorithms.h.
|
private |
IsoSurface minimum function value.
Definition at line 48 of file TPainter3dAlgorithms.h.
|
private |
Number of histograms in the stack to be painted.
Definition at line 47 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 128 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 216 of file TPainter3dAlgorithms.h.
|
staticprivate |
Clipping plane along Y.
Definition at line 58 of file TPainter3dAlgorithms.h.
|
staticprivate |
Base colour for the 3rd Iso Surface.
Definition at line 54 of file TPainter3dAlgorithms.h.
|
staticprivate |
Clipping box is off (0) or on (1)
Definition at line 55 of file TPainter3dAlgorithms.h.
|
staticprivate |
Clipping plane along X.
Definition at line 56 of file TPainter3dAlgorithms.h.
|
staticprivate |
Clipping plane along Y.
Definition at line 57 of file TPainter3dAlgorithms.h.
|
private |
Number of colours per Iso surface.
Definition at line 50 of file TPainter3dAlgorithms.h.
|
private |
Base colour for the 1st Iso Surface.
Definition at line 51 of file TPainter3dAlgorithms.h.
|
private |
Base colour for the 2nd Iso Surface.
Definition at line 52 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 189 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 191 of file TPainter3dAlgorithms.h.
|
private |
pointer to face drawing function
Definition at line 68 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 133 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 145 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 192 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 45 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 35 of file TPainter3dAlgorithms.h.
|
private |
IsoSurface maximum function value.
Definition at line 49 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 127 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 132 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 152 of file TPainter3dAlgorithms.h.
|
private |
(=1 if mesh to draw, o otherwise)
Definition at line 46 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 166 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 187 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 188 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 214 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 134 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 149 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 150 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 151 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 190 of file TPainter3dAlgorithms.h.
|
private |
Lower limits of lego.
Definition at line 33 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 32 of file TPainter3dAlgorithms.h.
|
private |
pointer to lego function
Definition at line 69 of file TPainter3dAlgorithms.h.
|
private |
Size of fAphi.
Definition at line 36 of file TPainter3dAlgorithms.h.
Definition at line 167 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 170 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 148 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 164 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 183 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 146 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 147 of file TPainter3dAlgorithms.h.
|
private |
Definition at line 184 of file TPainter3dAlgorithms.h.
|
staticprivate |
Definition at line 163 of file TPainter3dAlgorithms.h.
|
staticprivate |
Definition at line 126 of file TPainter3dAlgorithms.h.
|
staticprivate |
Definition at line 131 of file TPainter3dAlgorithms.h.
|
staticprivate |
Definition at line 144 of file TPainter3dAlgorithms.h.
|
staticprivate |
Definition at line 169 of file TPainter3dAlgorithms.h.