25 const QString T_MASKS =
"Mask Tag";
26 QStringList allowedMasks = QStringList() <<
"RectangleMask"
30 <<
"HorizontalLineMask"
32 <<
"RegionOfInterest";
75 return std::make_unique<Rectangle>(xlow, ylow, xup, yup);
104 const QString T_POINTS =
"Point tag";
105 registerTag(T_POINTS, 0, -1, QStringList() <<
"PolygonPoint");
112 std::vector<double> x, y;
117 return std::make_unique<Polygon>(x, y);
131 return std::make_unique<VerticalLine>(scale
146 return std::make_unique<HorizontalLine>(scale
176 return std::make_unique<Ellipse>(xcenter, ycenter, xradius, yradius, angle);
190 return std::make_unique<InfinitePlane>();
Defines class GUIHelpers functions.
Defines class InfinitePlane.
Defines MaskItems classes.
static const QString P_XRADIUS
static const QString P_YRADIUS
static const QString P_XCENTER
static const QString P_ANGLE
static const QString P_YCENTER
virtual std::unique_ptr< IShape2D > createShape(double scale) const
static const QString P_POSY
virtual std::unique_ptr< IShape2D > createShape(double scale) const
virtual std::unique_ptr< IShape2D > createShape(double scale) const
A base class for all mask items.
MaskItem(const QString &name)
static const QString P_IS_VISIBLE
static const QString P_MASK_VALUE
virtual std::unique_ptr< IShape2D > createShape(double scale=1.0) const
static const QString P_ISCLOSED
virtual std::unique_ptr< IShape2D > createShape(double scale) const
static const QString P_POSX
static const QString P_POSY
static RealLimits limitless()
Creates an object withoud bounds (default)
static const QString P_XUP
static const QString P_YLOW
RectangleItem(const QString &modelType="RectangleMask")
static const QString P_YUP
static const QString P_XLOW
virtual std::unique_ptr< IShape2D > createShape(double scale) const
void setItemName(const QString &name)
Set item name, add property if necessary.
SessionItem * addProperty(const QString &name, const QVariant &variant)
Add new property item and register new tag.
bool registerTag(const QString &name, int min=0, int max=-1, QStringList modelTypes={})
Add new tag to this item with given name, min, max and types.
void setVisible(bool enabled)
Flags accessors.
QVariant getItemValue(const QString &tag) const
Directly access value of item under given tag.
void setDefaultTag(const QString &tag)
Set default tag.
T * item(const QString &tag) const
void setItemValue(const QString &tag, const QVariant &variant)
Directly set value of item under given tag.
QVector< SessionItem * > getChildrenOfType(const QString &model_type) const
Returns a vector of all children of the given type.
QString modelType() const
Get model type.
void setEnabled(bool enabled)
SessionItem * getItem(const QString &tag="", int row=0) const
Returns item in given row of given tag.
SessionItem & setLimits(const RealLimits &value)
virtual std::unique_ptr< IShape2D > createShape(double scale) const
static const QString P_POSX
QString const & name(EShape k)