16#ifndef ROOT7_RHistDrawable
17#define ROOT7_RHistDrawable
35namespace Experimental {
65 virtual bool Is3D()
const {
return false; }
79 std::unique_ptr<RDisplayItem>
item;
83 std::unique_ptr<RDrawableReply>
Process()
override
87 auto reply = std::make_unique<RReply>();
89 reply->item = hdraw->CreateHistDisplay(
GetContext());
118template <
int DIMENSIONS>
133 template <
class HIST>
136 fHistImpl = std::shared_ptr<HistImpl_t>(hist, hist->GetImpl());
149 std::unique_ptr<RDisplayItem>
CreateHistDisplay(
const RDisplayContext &)
override;
156 template <
class HIST>
179 std::unique_ptr<RDisplayItem>
CreateHistDisplay(
const RDisplayContext &)
override;
186 template <
class HIST>
205 bool Is3D() const final {
return true; }
210 template <
class HIST>
222 return std::make_shared<RHist1Drawable>(histimpl);
227 return std::make_shared<RHist1Drawable>(histimpl);
232 return std::make_shared<RHist1Drawable>(histimpl);
237 return std::make_shared<RHist1Drawable>(histimpl);
242 return std::make_shared<RHist2Drawable>(histimpl);
247 return std::make_shared<RHist2Drawable>(histimpl);
252 return std::make_shared<RHist2Drawable>(histimpl);
257 return std::make_shared<RHist2Drawable>(histimpl);
262 return std::make_shared<RHist3Drawable>(histimpl);
267 return std::make_shared<RHist3Drawable>(histimpl);
272 return std::make_shared<RHist3Drawable>(histimpl);
277 return std::make_shared<RHist3Drawable>(histimpl);
include TDocParser_001 C image html pict1_TDocParser_001 png width
Base class for RHistImplBase that abstracts out the histogram's PRECISION.
Drawing fill attributes for different objects.
Drawing line attributes for different objects.
RAttrMarker & SetStyle(int style)
The style of the marker.
Template class to access single value from drawable or other attributes.
Base class for replies on RDrawableRequest.
Base class for requests which can be submitted from the clients.
const RDrawable::RDisplayContext & GetContext() const
RDrawable * GetDrawable() const
Base class for drawable entities: objects that can be painted on a RPad.
virtual std::unique_ptr< RDisplayItem > Display(const RDisplayContext &)
Creates display item for drawable By default item contains drawable data itself.
double GetBarOffset() const
RAttrValue< bool > fText
! draw text
double GetBarWidth() const
std::unique_ptr< RDisplayItem > CreateHistDisplay(const RDisplayContext &) override
RHist1Drawable & Marker()
RHist1Drawable & Lego(int kind=0)
RHist1Drawable(const std::shared_ptr< HIST > &hist)
RHist1Drawable & Bar(double offset, double width, bool mode3d=false)
RAttrValue< double > fBarOffset
! bar offset
RHist1Drawable & Text(bool on=true)
RAttrValue< double > fBarWidth
! bar width
RHist1Drawable & Error(int kind=0)
RHist2Drawable & Surf(int kind=0)
RHist2Drawable & Contour(int kind=0)
RHist2Drawable & Box(int kind=0)
RHist2Drawable & Lego(int kind=0)
RHist2Drawable(const std::shared_ptr< HIST > &hist)
RAttrValue< bool > fText
! draw text
RHist2Drawable & Text(bool on=true)
std::unique_ptr< RDisplayItem > CreateHistDisplay(const RDisplayContext &) override
RHist2Drawable & Scatter()
std::unique_ptr< RDisplayItem > CreateHistDisplay(const RDisplayContext &) override
RHist3Drawable & Box(int kind=0)
RHist3Drawable(const std::shared_ptr< HIST > &hist)
RHist3Drawable & Scatter()
RHist3Drawable & Sphere(int kind=0)
std::unique_ptr< RDisplayItem > item
std::unique_ptr< RDrawableReply > Process() override
const RAttrMarker & GetAttrMarker() const
RAttrText fAttrText
! hist text attributes
std::unique_ptr< RDisplayItem > Display(const RDisplayContext &ctxt) override
Creates display item for drawable By default item contains drawable data itself.
std::string GetDrawKind() const
RHistDrawableBase & SetAttrLine(const RAttrLine &attr)
virtual std::unique_ptr< RDisplayItem > CreateHistDisplay(const RDisplayContext &)=0
const RAttrText & GetAttrText() const
RHistDrawableBase & Optimize(bool on=true)
virtual bool Is3D() const
RHistDrawableBase & SetAttrFill(const RAttrFill &fill)
const RAttrLine & GetAttrLine() const
RHistDrawableBase & SetAttrText(const RAttrText &attr)
RAttrFill fAttrFill
! hist fill attributes
void PopulateMenu(RMenuItems &) override
bool IsFrameRequired() const final
RAttrMarker & AttrMarker()
void SetDrawKind(const std::string &kind, int sub=-1)
const RAttrFill & GetAttrFill() const
RHistDrawableBase & SetAttrMarker(const RAttrMarker &attr)
RAttrLine fAttrLine
! hist line attributes
RAttrValue< std::string > fKind
! hist draw kind
RAttrValue< bool > fOptimize
! optimize drawing
RAttrMarker fMarkerAttr
! hist marker attributes
RAttrValue< int > fSub
! hist draw sub kind
Internal::RIOShared< HistImpl_t > fHistImpl
I/O capable reference on histogram.
std::shared_ptr< HistImpl_t > GetHist() const
virtual ~RHistDrawable()=default
void CollectShared(Internal::RIOSharedVector_t &vect) override
RHistDrawable(const std::shared_ptr< HIST > &hist)
std::vector< RIOSharedBase * > RIOSharedVector_t
auto GetDrawable(const std::shared_ptr< DRAWABLE > &drawable)
Central method to insert drawable in list of pad primitives By default drawable placed as is.
tbb::task_arena is an alias of tbb::interface7::task_arena, which doesn't allow to forward declare tb...