Logo ROOT  
Reference Guide
ROOT::Experimental::RFrame Class Reference

Holds an area where drawing on user coordinate-system can be performed.

Author
Axel Naumann axel@.nosp@m.cern.nosp@m..ch
Sergey Linev s.lin.nosp@m.ev@g.nosp@m.si.de
Date
2017-09-26
Warning
This is part of the ROOT 7 prototype! It will change without notice. It might trigger earthquakes. Feedback is welcome!

Definition at line 40 of file RFrame.hxx.

Classes

class  RFrameAttrs
 
class  RUserRanges
 
class  RZoomRequest
 

Public Member Functions

 RFrame (TRootIOCtor *)
 
RAttrLine & AttrBorder ()
 
RAttrFill & AttrFill ()
 
RAttrAxis & AttrX ()
 
RAttrAxis & AttrY ()
 
RAttrAxis & AttrZ ()
 
const RAttrLine & GetAttrBorder () const
 
const RAttrFill & GetAttrFill () const
 
const RAttrAxis & GetAttrX () const
 
const RAttrAxis & GetAttrY () const
 
const RAttrAxis & GetAttrZ () const
 
void GetClientRanges (unsigned connid, RUserRanges &ranges)
 Return ranges configured for the client. More...
 
bool GetGridX () const
 
bool GetGridY () const
 
const RAttrMargins & GetMargins () const
 
size_t GetNDimensions () const
 Get the number of axes. More...
 
RPadUserAxisBase & GetUserAxis (size_t dimension) const
 Get the current user coordinate system for a given dimension. More...
 
void GrowToDimensions (size_t nDimensions)
 Create nDimensions default axes for the user coordinate system. More...
 
RAttrMargins & Margins ()
 
RFrame & SetAttrBorder (const RAttrLine &border)
 
RFrame & SetAttrFill (const RAttrFill &fill)
 
RFrame & SetAttrX (const RAttrAxis &axis)
 
RFrame & SetAttrY (const RAttrAxis &axis)
 
RFrame & SetAttrZ (const RAttrAxis &axis)
 
RFrame & SetGridX (bool on=true)
 
RFrame & SetGridY (bool on=true)
 
RFrame & SetMargins (const RAttrMargins &margins)
 
void SetUserAxis (std::vector< std::unique_ptr< RPadUserAxisBase > > &&axes)
 Set the user coordinate system. More...
 
std::array< RPadLength::Normal, 2 > UserToNormal (const std::array< RPadLength::User, 2 > &pos) const
 Convert user coordinates to normal coordinates. More...
 
- Public Member Functions inherited from ROOT::Experimental::RDrawable
 RDrawable (const std::string &type)
 
virtual ~RDrawable ()
 
void ClearStyle ()
 
const std::string & GetCssClass () const
 
const std::string & GetCssType () const
 
const std::string & GetId () const
 
void SetCssClass (const std::string &cl)
 
void SetId (const std::string &id)
 
virtual void UseStyle (const std::shared_ptr< RStyle > &style)
 

Protected Member Functions

void AssignZoomRange (unsigned ndim, RAttrAxis &axis, const RUserRanges &ranges)
 Internal - assign client zoomed range to specified axis. More...
 
void GetAxisRanges (unsigned ndim, const RAttrAxis &axis, RUserRanges &ranges) const
 Internal - extract range for specified axis. More...
 
void PopulateMenu (RMenuItems &) override
 Provide context menu items. More...
 
- Protected Member Functions inherited from ROOT::Experimental::RDrawable
 RDrawable (const RDrawable &)=delete
 
virtual void CollectShared (Internal::RIOSharedVector_t &)
 
virtual std::unique_ptr< RDisplayItem > Display (const RDisplayContext &)
 Creates display item for drawable By default item contains drawable data itself. More...
 
virtual void Execute (const std::string &)
 
RAttrMap & GetAttrMap ()
 
const RAttrMap & GetAttrMap () const
 
Version_t GetVersion () const
 
virtual bool IsFrameRequired () const
 
bool MatchSelector (const std::string &selector) const
 Preliminary method which checks if drawable matches with given selector Following selector are allowed: "type" or "#id" or ".class_name" Here type is drawable kind like 'rect' or 'pad' id is drawable identifier, specified with RDrawable::SetId() method class_name is drawable class name, specified with RDrawable::SetCssClass() method. More...
 
RDrawable & operator= (const RDrawable &)=delete
 
virtual void PopulateMenu (RMenuItems &)
 
virtual void SetDrawableVersion (Version_t vers)
 

Private Member Functions

 RFrame ()
 
 RFrame (const RFrame &)=delete
 
 RFrame (std::vector< std::unique_ptr< RPadUserAxisBase > > &&coords)
 Constructor taking user coordinate system, position and extent. More...
 
RFrame & operator= (const RFrame &)=delete
 
void SetClientRanges (unsigned connid, const RUserRanges &ranges, bool ismainconn)
 Remember client range, can be used for drawing or stats box calculations. More...
 

Private Attributes

RFrameAttrs fAttr {this,""}
 ! own frame attributes More...
 
RAttrLine fAttrBorder {this, "border_"}
 ! More...
 
RAttrFill fAttrFill {this, "fill_"}
 ! More...
 
RAttrAxis fAttrX {this, "x_"}
 ! More...
 
RAttrAxis fAttrY {this, "y_"}
 ! More...
 
RAttrAxis fAttrZ {this, "z_"}
 ! More...
 
std::map< unsigned, RUserRanges > fClientRanges
 ! individual client ranges More...
 
RAttrMargins fMargins {this, "margin_"}
 ! More...
 
std::vector< std::unique_ptr< RPadUserAxisBase > > fUserCoord
 Mapping of user coordinates to normal coordinates, one entry per dimension. More...
 

Friends

class RPadBase
 

Additional Inherited Members

- Public Types inherited from ROOT::Experimental::RDrawable
using Version_t = uint64_t
 

#include <ROOT/RFrame.hxx>

Inheritance diagram for ROOT::Experimental::RFrame:
[legend]

Constructor & Destructor Documentation

◆ RFrame() [1/4]

ROOT::Experimental::RFrame::RFrame ( const RFrame &  )
privatedelete

◆ RFrame() [2/4]

ROOT::Experimental::RFrame::RFrame ( )
inlineprivate

Definition at line 144 of file RFrame.hxx.

◆ RFrame() [3/4]

RFrame::RFrame ( std::vector< std::unique_ptr< RPadUserAxisBase > > &&  coords)
explicitprivate

Constructor taking user coordinate system, position and extent.

Deprecated constructor, to be removed soon.

Definition at line 25 of file RFrame.cxx.

◆ RFrame() [4/4]

ROOT::Experimental::RFrame::RFrame ( TRootIOCtor *  )
inline

Definition at line 176 of file RFrame.hxx.

Member Function Documentation

◆ AssignZoomRange()

void RFrame::AssignZoomRange ( unsigned  ndim,
RAttrAxis &  axis,
const RUserRanges &  ranges 
)
protected

Internal - assign client zoomed range to specified axis.

Definition at line 51 of file RFrame.cxx.

◆ AttrBorder()

RAttrLine & ROOT::Experimental::RFrame::AttrBorder ( )
inline

Definition at line 184 of file RFrame.hxx.

◆ AttrFill()

RAttrFill & ROOT::Experimental::RFrame::AttrFill ( )
inline

Definition at line 188 of file RFrame.hxx.

◆ AttrX()

RAttrAxis & ROOT::Experimental::RFrame::AttrX ( )
inline

Definition at line 192 of file RFrame.hxx.

◆ AttrY()

RAttrAxis & ROOT::Experimental::RFrame::AttrY ( )
inline

Definition at line 196 of file RFrame.hxx.

◆ AttrZ()

RAttrAxis & ROOT::Experimental::RFrame::AttrZ ( )
inline

Definition at line 200 of file RFrame.hxx.

◆ GetAttrBorder()

const RAttrLine & ROOT::Experimental::RFrame::GetAttrBorder ( ) const
inline

Definition at line 182 of file RFrame.hxx.

◆ GetAttrFill()

const RAttrFill & ROOT::Experimental::RFrame::GetAttrFill ( ) const
inline

Definition at line 186 of file RFrame.hxx.

◆ GetAttrX()

const RAttrAxis & ROOT::Experimental::RFrame::GetAttrX ( ) const
inline

Definition at line 190 of file RFrame.hxx.

◆ GetAttrY()

const RAttrAxis & ROOT::Experimental::RFrame::GetAttrY ( ) const
inline

Definition at line 194 of file RFrame.hxx.

◆ GetAttrZ()

const RAttrAxis & ROOT::Experimental::RFrame::GetAttrZ ( ) const
inline

Definition at line 198 of file RFrame.hxx.

◆ GetAxisRanges()

void RFrame::GetAxisRanges ( unsigned  ndim,
const RAttrAxis &  axis,
RUserRanges &  ranges 
) const
protected

Internal - extract range for specified axis.

Definition at line 33 of file RFrame.cxx.

◆ GetClientRanges()

void RFrame::GetClientRanges ( unsigned  connid,
RUserRanges &  ranges 
)

Return ranges configured for the client.

Definition at line 109 of file RFrame.cxx.

◆ GetGridX()

bool ROOT::Experimental::RFrame::GetGridX ( ) const
inline

Definition at line 203 of file RFrame.hxx.

◆ GetGridY()

bool ROOT::Experimental::RFrame::GetGridY ( ) const
inline

Definition at line 206 of file RFrame.hxx.

◆ GetMargins()

const RAttrMargins & ROOT::Experimental::RFrame::GetMargins ( ) const
inline

Definition at line 178 of file RFrame.hxx.

◆ GetNDimensions()

size_t ROOT::Experimental::RFrame::GetNDimensions ( ) const
inline

Get the number of axes.

Definition at line 214 of file RFrame.hxx.

◆ GetUserAxis()

RPadUserAxisBase & ROOT::Experimental::RFrame::GetUserAxis ( size_t  dimension) const
inline

Get the current user coordinate system for a given dimension.

Definition at line 217 of file RFrame.hxx.

◆ GrowToDimensions()

void RFrame::GrowToDimensions ( size_t  nDimensions)

Create nDimensions default axes for the user coordinate system.

Deprecated, to be removed soon.

Definition at line 66 of file RFrame.cxx.

◆ Margins()

RAttrMargins & ROOT::Experimental::RFrame::Margins ( )
inline

Definition at line 180 of file RFrame.hxx.

◆ operator=()

RFrame & ROOT::Experimental::RFrame::operator= ( const RFrame &  )
privatedelete

◆ PopulateMenu()

void RFrame::PopulateMenu ( RMenuItems &  items)
overrideprotectedvirtual

Provide context menu items.

Reimplemented from ROOT::Experimental::RDrawable.

Definition at line 80 of file RFrame.cxx.

◆ SetAttrBorder()

RFrame & ROOT::Experimental::RFrame::SetAttrBorder ( const RAttrLine &  border)
inline

Definition at line 183 of file RFrame.hxx.

◆ SetAttrFill()

RFrame & ROOT::Experimental::RFrame::SetAttrFill ( const RAttrFill &  fill)
inline

Definition at line 187 of file RFrame.hxx.

◆ SetAttrX()

RFrame & ROOT::Experimental::RFrame::SetAttrX ( const RAttrAxis &  axis)
inline

Definition at line 191 of file RFrame.hxx.

◆ SetAttrY()

RFrame & ROOT::Experimental::RFrame::SetAttrY ( const RAttrAxis &  axis)
inline

Definition at line 195 of file RFrame.hxx.

◆ SetAttrZ()

RFrame & ROOT::Experimental::RFrame::SetAttrZ ( const RAttrAxis &  axis)
inline

Definition at line 199 of file RFrame.hxx.

◆ SetClientRanges()

void RFrame::SetClientRanges ( unsigned  connid,
const RUserRanges &  ranges,
bool  ismainconn 
)
private

Remember client range, can be used for drawing or stats box calculations.

Definition at line 95 of file RFrame.cxx.

◆ SetGridX()

RFrame & ROOT::Experimental::RFrame::SetGridX ( bool  on = true)
inline

Definition at line 202 of file RFrame.hxx.

◆ SetGridY()

RFrame & ROOT::Experimental::RFrame::SetGridY ( bool  on = true)
inline

Definition at line 205 of file RFrame.hxx.

◆ SetMargins()

RFrame & ROOT::Experimental::RFrame::SetMargins ( const RAttrMargins &  margins)
inline

Definition at line 179 of file RFrame.hxx.

◆ SetUserAxis()

void ROOT::Experimental::RFrame::SetUserAxis ( std::vector< std::unique_ptr< RPadUserAxisBase > > &&  axes)
inline

Set the user coordinate system.

Definition at line 220 of file RFrame.hxx.

◆ UserToNormal()

std::array< RPadLength::Normal, 2 > ROOT::Experimental::RFrame::UserToNormal ( const std::array< RPadLength::User, 2 > &  pos) const
inline

Convert user coordinates to normal coordinates.

Definition at line 223 of file RFrame.hxx.

Friends And Related Function Documentation

◆ RPadBase

friend class RPadBase
friend

Definition at line 42 of file RFrame.hxx.

Member Data Documentation

◆ fAttr

RFrameAttrs ROOT::Experimental::RFrame::fAttr {this,""}
private

! own frame attributes

Definition at line 134 of file RFrame.hxx.

◆ fAttrBorder

RAttrLine ROOT::Experimental::RFrame::fAttrBorder {this, "border_"}
private

!

Definition at line 129 of file RFrame.hxx.

◆ fAttrFill

RAttrFill ROOT::Experimental::RFrame::fAttrFill {this, "fill_"}
private

!

Definition at line 130 of file RFrame.hxx.

◆ fAttrX

RAttrAxis ROOT::Experimental::RFrame::fAttrX {this, "x_"}
private

!

Definition at line 131 of file RFrame.hxx.

◆ fAttrY

RAttrAxis ROOT::Experimental::RFrame::fAttrY {this, "y_"}
private

!

Definition at line 132 of file RFrame.hxx.

◆ fAttrZ

RAttrAxis ROOT::Experimental::RFrame::fAttrZ {this, "z_"}
private

!

Definition at line 133 of file RFrame.hxx.

◆ fClientRanges

std::map<unsigned, RUserRanges> ROOT::Experimental::RFrame::fClientRanges
private

! individual client ranges

Definition at line 135 of file RFrame.hxx.

◆ fMargins

RAttrMargins ROOT::Experimental::RFrame::fMargins {this, "margin_"}
private

!

Definition at line 128 of file RFrame.hxx.

◆ fUserCoord

std::vector<std::unique_ptr<RPadUserAxisBase> > ROOT::Experimental::RFrame::fUserCoord
private

Mapping of user coordinates to normal coordinates, one entry per dimension.

Definition at line 138 of file RFrame.hxx.

Libraries for ROOT::Experimental::RFrame:
[legend]

The documentation for this class was generated from the following files: