19 const double default_axis_min = 0.0;
20 const double default_axis_max = 1.0;
46 return std::make_pair(property<double>(
P_MIN), property<double>(
P_MAX));
83 auto result = std::make_unique<FixedBinAxisItem>();
84 result->setParameters(nbins, xmin, xmax);
90 return std::make_pair(property<double>(
P_MIN), property<double>(
P_MAX));
100 std::vector<double> result;
101 int nbins = property<int>(
P_NBINS);
102 double start = property<double>(
P_MIN);
103 double end = property<double>(
P_MAX);
104 double step = (end - start) / nbins;
106 result.resize(
static_cast<size_t>(nbins), 0.0);
107 for (
size_t i = 0; i < static_cast<size_t>(nbins); ++i)
108 result[i] = start + step * (i + 0.5);
118 setData(std::vector<double>{default_axis_min, default_axis_max});
129 auto result = std::make_unique<PointwiseAxisItem>();
130 result->setParameters(
data);
137 return binCenters().empty() ? std::make_pair(default_axis_min, default_axis_max)
138 : std::make_pair(
data.front(),
data.back());
148 return data<std::vector<double>>();
Base class for all axes items. Has min, max defined, but nothing else.
static const std::string P_MAX
BasicAxisItem(const std::string &model_type)
static const std::string P_MIN
Item to represent an axis with arbitrary binning.
BinnedAxisItem(const std::string &model_type)
Complex item holding mixed SessionItem types (single properties and other CompountItems).
T * addProperty(const std::string &name)
Adds property item of given type.
std::pair< double, double > range() const override
FixedBinAxisItem(const std::string &model_type=Constants::FixedBinAxisItemType)
static const std::string P_NBINS
std::vector< double > binCenters() const override
int size() const override
static std::unique_ptr< FixedBinAxisItem > create(int nbins, double xmin, double xmax)
void setParameters(int nbins, double xmin, double xmax)
std::vector< double > binCenters() const override
PointwiseAxisItem(const std::string &model_type=Constants::PointwiseAxisItemType)
std::pair< double, double > range() const override
void setParameters(const std::vector< double > &data)
int size() const override
static std::unique_ptr< PointwiseAxisItem > create(const std::vector< double > &data)
SessionItem * setEditable(bool value)
Sets editable flag to given value (fluent interface).
bool setData(const T &value, int role=ItemDataRole::DATA, bool direct=false)
Sets data for a given role.
T data(int role=ItemDataRole::DATA) const
Returns data of given type T for given role.
virtual SessionItem * setDisplayName(const std::string &name)
Sets display name (fluent interface).
void setProperty(const std::string &tag, const T &value)
Sets value to property item.
void set_range(double lower, double upper)
Sets lower, upper range of axis to given values.
static const std::string P_IS_LOG
ViewportAxisItem(const std::string &model_type=Constants::ViewportAxisItemType)
static const std::string P_TITLE
std::pair< double, double > range() const
Returns pair of lower, upper axis range.
materialitems.h Collection of materials to populate MaterialModel.