You are here

The High Level Graphics Primitives

They are produced by combination of the four basic graphics primitives or are only extension of (derive from) the basic primitives. They are located in the graf module. 

 The Curly Lines and the Curly Arcs are special kinds of lines which are used to draw Feynman diagrams. They are implemented respectively by TCurlyLine and TCurlyArc which inherit directly from TPolyLine.The Arrows are also lines and are implemented by the TArrow class. Some parts of the arrow are filled polygons (the heads) therefore TArrow needs also the filled area attributes and inherits from TAttFill to get them. bg_13.gif
 The Boxes are implemented by the class TBox. Boxes can be drawn as a simple line as a filled polygon or both therefore the class TBox inherits from TAttFill and TAttLine. Several graphics object inherist from the TBox: TDiamond, TPave etc... Some of them, like TPaveText, also contain text and therefore also inherit from the text attributes class TAttText
 The text produced by TText is a simple character string and cannot produce complex text like mathematical formulas, accents, etc ... . These functionalities are implemented by the TLatex class. The TLatex syntax is inspired from the LaTex system except that the control character "\" is replaced by "#" because in C++ "\" is used already as control character in strings. The picture on the right gives some example of physics formula written using TLatex.  
 The main "circular" graphics primitive is the Ellipse. From it derives the Arc and the Crown. These three primitives are respectively implemented by TEllipse, TArc and TCrown which can be drawn as lines of filled polygon and therefore inherit from both TAttLine and TAttFill. bg_02_0.gif
 Axis drawing is used every where in ROOT. This is implemented by the TGaxis class. This class uses the lines and text basic primitives to be rendered therefore it inherits from the text and lines attributes classes TAttText and TAttLine. bg_10.gif