A poly-extrusion. 
XTRU is a poly-extrusion with fixed outline shape in x-y, a sequence of z extents (segments) and two end faces perpendicular to the z axis. The x-y outline is defined by an ordered list of points; the overall scale of the outline scales linearly between z points and the center can have an x-y offset specified at each segment end.
A TXTRU has the following parameters:
- name: name of the shape
 
- title: shape's title
 
- material: (see TMaterial)
 
- nxy: number of x-y vertex points constituting the outline – this number should be at least 3
 
- nz: number of planes perpendicular to the z axis where the scaling dimension of the section is given – this number should be at least 2
 
- Xvtx: array [nxy] of X coordinates of vertices
 
- Yvtx: array [nxy] of Y coordinates of vertices
 
- z: array [nz] of z plane positions
 
- scale: array [nz] of scale factors
 
- x0: array [nz] of x offsets
 
- y0: array [nz] of y offsets
 
All XTRU shapes are correctly rendered in wire mode but can encounter difficulty when rendered as a solid with hidden surfaces. These exceptions occur if the outline shape is not a convex polygon. Both the X3D and OpenGL renderers expect polygons to be convex. The OpenGL spec specifies that points defining a polygon using the GL_POLYGON primitive may be rendered as the convex hull of that set.
Solid rendering under X3D can also give unexpected artifacts if the combination of x-y-z offsets and scales for the segments are chosen in such a manner that they represent a concave shape when sliced along a plane parallel to the z axis.
Choosing sets of point that represent a malformed polygon is not supported, but testing for such a condition is not implemented and thus it is left to the user to avoid this mistake.
 
Definition at line 22 of file TXTRU.h.
 | 
|   | TXTRU () | 
|   | TXTRU shape - default constructor.  More...
  | 
|   | 
|   | TXTRU (const char *name, const char *title, const char *material, Int_t nyx, Int_t nz) | 
|   | TXTRU shape - normal constructor.  More...
  | 
|   | 
|   | TXTRU (const TXTRU &xtru) | 
|   | TXTRU copy constructor.  More...
  | 
|   | 
| virtual  | ~TXTRU () | 
|   | TXTRU destructor deallocates arrays.  More...
  | 
|   | 
| virtual void  | Copy (TObject &xtru) const | 
|   | TXTRU Copy method.  More...
  | 
|   | 
| virtual void  | DefineSection (Int_t secNum, Float_t z, Float_t scale=1., Float_t x0=0., Float_t y0=0.) | 
|   | Set z section iz information expand size of array if necessary.  More...
  | 
|   | 
| virtual void  | DefineVertex (Int_t pointNum, Float_t x, Float_t y) | 
|   | Set vertex point ipt to (x,y) expand size of array if necessary.  More...
  | 
|   | 
| virtual Int_t  | DistancetoPrimitive (Int_t px, Int_t py) | 
|   | Compute the distance from point px,py to a TXTRU by calculating the closest approach to each corner.  More...
  | 
|   | 
| virtual const TBuffer3D &  | GetBuffer3D (Int_t) const | 
|   | Get buffer 3d.  More...
  | 
|   | 
| virtual Int_t  | GetNxy () const | 
|   | 
| virtual Int_t  | GetNz () const | 
|   | 
| virtual Float_t  | GetOutlinePointX (Int_t pointNum) const | 
|   | Return x coordinate of a vertex point.  More...
  | 
|   | 
| virtual Float_t  | GetOutlinePointY (Int_t pointNum) const | 
|   | Return y coordinate of a vertex point.  More...
  | 
|   | 
| virtual Float_t *  | GetScale () const | 
|   | 
| virtual Float_t  | GetSectionScale (Int_t secNum) const | 
|   | Return scale factor for a z section.  More...
  | 
|   | 
| virtual Float_t  | GetSectionX0 (Int_t secNum) const | 
|   | Return x0 shift of a z section.  More...
  | 
|   | 
| virtual Float_t  | GetSectionY0 (Int_t secNum) const | 
|   | Return y0 shift of a z section.  More...
  | 
|   | 
| virtual Float_t  | GetSectionZ (Int_t secNum) const | 
|   | Return z of a z section.  More...
  | 
|   | 
| virtual Float_t *  | GetX0 () const | 
|   | 
| virtual Float_t *  | GetXvtx () const | 
|   | 
| virtual Float_t *  | GetY0 () const | 
|   | 
| virtual Float_t *  | GetYvtx () const | 
|   | 
| virtual Float_t *  | GetZ () const | 
|   | 
| TXTRU &  | operator= (const TXTRU &rhs) | 
|   | Deep assignment operator.  More...
  | 
|   | 
| virtual void  | Print (Option_t *option="") const | 
|   | Dump the info of this TXTRU shape Option:  More...
  | 
|   | 
| virtual void  | Sizeof3D () const | 
|   | Return total X3D needed by TNode::ls (when called with option "x")  More...
  | 
|   | 
| void  | SplitConcavePolygon (Bool_t split=kTRUE) | 
|   | (Dis)Enable the splitting of concave polygon outlines into multiple convex polygons.  More...
  | 
|   | 
| virtual void  | TruncateNxy (Int_t npts) | 
|   | Truncate the vertex list.  More...
  | 
|   | 
| virtual void  | TruncateNz (Int_t npts) | 
|   | Truncate the z section list.  More...
  | 
|   | 
|   | TShape () | 
|   | Shape default constructor.  More...
  | 
|   | 
|   | TShape (const char *name, const char *title, const char *material) | 
|   | Shape normal constructor.  More...
  | 
|   | 
|   | TShape (const TShape &) | 
|   | copy constructor  More...
  | 
|   | 
| virtual  | ~TShape () | 
|   | Shape default destructor.  More...
  | 
|   | 
| virtual const TBuffer3D &  | GetBuffer3D (Int_t reqSections) const | 
|   | Stub to avoid forcing implementation at this stage.  More...
  | 
|   | 
| TMaterial *  | GetMaterial () const | 
|   | 
| virtual Int_t  | GetNumber () const | 
|   | 
| Int_t  | GetVisibility () const | 
|   | 
| TShape &  | operator= (const TShape &) | 
|   | assignment operator  More...
  | 
|   | 
| virtual void  | Paint (Option_t *option="") | 
|   | This method is used only when a shape is painted outside a TNode.  More...
  | 
|   | 
| virtual void  | SetName (const char *name) | 
|   | Set the name of the TNamed.  More...
  | 
|   | 
| virtual void  | SetPoints (Double_t *points) const | 
|   | Set points.  More...
  | 
|   | 
| virtual void  | SetVisibility (Int_t vis) | 
|   | 
| void  | TransformPoints (Double_t *points, UInt_t NbPnts) const | 
|   | Transform points (LocalToMaster)  More...
  | 
|   | 
|   | TNamed () | 
|   | 
|   | TNamed (const char *name, const char *title) | 
|   | 
|   | TNamed (const TNamed &named) | 
|   | TNamed copy ctor.  More...
  | 
|   | 
|   | TNamed (const TString &name, const TString &title) | 
|   | 
| virtual  | ~TNamed () | 
|   | TNamed destructor.  More...
  | 
|   | 
| virtual void  | Clear (Option_t *option="") | 
|   | Set name and title to empty strings ("").  More...
  | 
|   | 
| 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 two TNamed objects.  More...
  | 
|   | 
| virtual void  | Copy (TObject &named) const | 
|   | Copy this to obj.  More...
  | 
|   | 
| virtual void  | FillBuffer (char *&buffer) | 
|   | Encode TNamed into output buffer.  More...
  | 
|   | 
| virtual const char *  | GetName () const | 
|   | Returns name of object.  More...
  | 
|   | 
| virtual const char *  | GetTitle () const | 
|   | Returns title of object.  More...
  | 
|   | 
| virtual ULong_t  | Hash () const | 
|   | Return hash value for this object.  More...
  | 
|   | 
| virtual Bool_t  | IsSortable () const | 
|   | 
| virtual void  | ls (Option_t *option="") const | 
|   | List TNamed name and title.  More...
  | 
|   | 
| TNamed &  | operator= (const TNamed &rhs) | 
|   | TNamed assignment operator.  More...
  | 
|   | 
| virtual void  | Print (Option_t *option="") const | 
|   | Print TNamed name and title.  More...
  | 
|   | 
| virtual void  | SetName (const char *name) | 
|   | Set the name of the TNamed.  More...
  | 
|   | 
| virtual void  | SetNameTitle (const char *name, const char *title) | 
|   | Set all the TNamed parameters (name and title).  More...
  | 
|   | 
| virtual void  | SetTitle (const char *title="") | 
|   | Set the title of the TNamed.  More...
  | 
|   | 
| virtual Int_t  | Sizeof () const | 
|   | Return size of the TNamed part of the TObject.  More...
  | 
|   | 
|   | 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...
  | 
|   | 
|   | 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...
  | 
|   | 
|   | 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...
  | 
|   | 
|   | TAtt3D () | 
|   | 
| virtual  | ~TAtt3D () | 
|   | 
| virtual void  | Sizeof3D () const | 
|   | Set total size of this 3D object (used by X3D interface).  More...
  | 
|   |