Logo ROOT   master
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 *)
 
RAttrLineAttrBorder ()
 
RAttrFillAttrFill ()
 
RAttrAxisAttrX ()
 
RAttrAxisAttrY ()
 
RAttrAxisAttrZ ()
 
const RAttrLineGetAttrBorder () const
 
const RAttrFillGetAttrFill () const
 
const RAttrAxisGetAttrX () const
 
const RAttrAxisGetAttrY () const
 
const RAttrAxisGetAttrZ () const
 
void GetClientRanges (unsigned connid, RUserRanges &ranges)
 Return ranges configured for the client. More...
 
bool GetGridX () const
 
bool GetGridY () const
 
const RAttrMarginsGetMargins () const
 
size_t GetNDimensions () const
 Get the number of axes. More...
 
RPadUserAxisBaseGetUserAxis (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...
 
RAttrMarginsMargins ()
 
RFrameSetAttrBorder (const RAttrLine &border)
 
RFrameSetAttrFill (const RAttrFill &fill)
 
RFrameSetAttrX (const RAttrAxis &axis)
 
RFrameSetAttrY (const RAttrAxis &axis)
 
RFrameSetAttrZ (const RAttrAxis &axis)
 
RFrameSetGridX (bool on=true)
 
RFrameSetGridY (bool on=true)
 
RFrameSetMargins (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< RDisplayItemDisplay (const RDisplayContext &)
 Creates display item for drawable By default item contains drawable data itself. More...
 
virtual void Execute (const std::string &)
 
RAttrMapGetAttrMap ()
 
const RAttrMapGetAttrMap () 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...
 
RDrawableoperator= (const RDrawable &)=delete
 
virtual void SetDrawableVersion (Version_t vers)
 

Private Member Functions

 RFrame (const RFrame &)=delete
 
 RFrame ()
 
 RFrame (std::vector< std::unique_ptr< RPadUserAxisBase >> &&coords)
 Constructor taking user coordinate system, position and extent. More...
 
RFrameoperator= (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, RUserRangesfClientRanges
 ! 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.


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