12 #include <QtGui/QColor>
13 #include <QtCore/QDateTime>
14 #include <QtGui/QFont>
15 #include <QtCore/QList>
16 #include <QtCore/QMap>
17 #include <QtCore/QObject>
18 #include <QtCore/QString>
66 horizontalJustification(
"Left"),
67 verticalJustification(
"Bottom"),
69 followSelection(false),
77 const QString& uid = QString())
80 ? QString::number(QDateTime::currentMSecsSinceEpoch())
88 horizontalJustification(
"Left"),
89 verticalJustification(
"Bottom"),
91 followSelection(false),
92 timestamp(QDateTime::currentMSecsSinceEpoch()) {
133 bool autoPosition =
true);
142 QString addAnnotationAt(
const QString& text,
144 const QString&
id = QString());
151 bool removeAnnotation(
const QString&
id);
159 bool updateAnnotationText(
const QString&
id,
const QString& text);
167 bool updateAnnotationPosition(
const QString&
id,
const double position[3]);
175 bool setAnnotationVisible(
const QString&
id,
bool visible);
183 bool setAnnotationColor(
const QString&
id,
const QColor&
color);
191 bool setAnnotationFontSize(
const QString&
id,
int fontSize);
200 void applyLabelProperties(
210 void setDefaultLabelProperties(
224 QList<cvAnnotation> allAnnotations()
const;
229 QStringList annotationIds()
const;
234 int count()
const {
return m_annotations.size(); }
256 bool exportToFile(
const QString&
filename)
const;
264 bool importFromFile(
const QString&
filename,
bool merge =
true);
289 void updateTextActor(
const QString&
id);
290 void removeTextActor(
const QString&
id);
292 vtkPolyData* polyData);
300 bool worldToDisplay(
const double worldPos[3],
double displayPos[2]);
303 QMap<QString, cvAnnotation> m_annotations;
304 QMap<QString, vtkSmartPointer<vtkTextActor>> m_textActors;
Selection annotation manager.
void annotationsChanged()
Emitted when annotations change.
void annotationRemoved(const QString &id)
Emitted when annotation is removed.
int count() const
Get annotation count.
void annotationAdded(const QString &id)
Emitted when annotation is added.
void annotationUpdated(const QString &id)
Emitted when annotation is updated.
Encapsulates selection data without exposing VTK types.
constexpr Rgb yellow(MAX, MAX, 0)
#define QPCL_ENGINE_LIB_API
Annotation for a selection.
QString fontFamily
Font family (e.g., "Arial")
qint64 timestamp
Creation timestamp.
QString text
Annotation text.
int fontSize
Font size in points.
double opacity
Text opacity (0.0 to 1.0)
QString horizontalJustification
"Left", "Center", "Right"
bool visible
Visibility flag.
cvAnnotation(const QString &txt, const double pos[3], const QString &uid=QString())
bool followSelection
Auto-update position with selection.
QString verticalJustification
"Top", "Center", "Bottom"
Label properties structure.