5 #ifndef pqAnimationModel_h 6 #define pqAnimationModel_h 12 #include <QGraphicsScene> 15 #include <QStandardItemModel> 25 :
public QGraphicsScene
29 Q_PROPERTY(
ModeType mode READ mode WRITE setMode)
30 Q_PROPERTY(
int ticks READ ticks WRITE setTicks)
31 Q_PROPERTY(
double currentTime READ currentTime WRITE setCurrentTime)
32 Q_PROPERTY(
double startTime READ startTime WRITE setStartTime)
33 Q_PROPERTY(
double endTime READ endTime WRITE setEndTime)
34 Q_PROPERTY(
bool interactive READ interactive WRITE setInteractive)
83 double currentTime()
const;
91 double endTime()
const;
95 double zoomStartTime()
const;
99 double zoomEndTime()
const;
103 double zoomFactor()
const;
108 bool interactive()
const;
110 QAbstractItemModel* header();
111 QAbstractItemModel* enabledHeader();
113 void setRowHeight(
int);
114 int rowHeight()
const;
119 void positionZoom(
double zoomStartTime);
124 const QList<double>&
customTicks()
const {
return this->CustomTicks; }
130 void setEnabledHeaderToolTip(
const QString& val);
146 void setCurrentTime(
double);
150 void setStartTime(
double);
154 void setEndTime(
double);
158 void setInteractive(
bool);
163 void setTickMarks(
int num,
double* tick_marks);
168 void setTimePrecision(
int precision);
174 void setTimeNotation(
const QChar& notation);
185 void currentTimeSet(
double);
194 void trackNameChanged();
195 void enabledChanged();
198 QPolygonF timeBarPoly(
double time);
199 double positionFromTime(
double time);
200 double timeFromPosition(
double pos);
201 double timeFromTick(
int tick);
202 int tickFromTime(
double pos);
203 void drawForeground(QPainter* painter,
const QRectF& rect)
override;
210 QRectF drawTimeLabel(
double time,
const QRectF& row, QPainter* painter,
211 const QFontMetrics& metrics, QList<const QRectF*>
const& priorities);
213 void updateNewTime(QGraphicsSceneMouseEvent* mouseEvent);
214 bool hitTestCurrentTimePoly(
const QPointF& pos);
218 bool eventFilter(QObject* w, QEvent* e)
override;
220 void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* mouseEvent)
override;
221 void mousePressEvent(QGraphicsSceneMouseEvent* mouseEvent)
override;
222 void mouseMoveEvent(QGraphicsSceneMouseEvent* mouseEvent)
override;
223 void mouseReleaseEvent(QGraphicsSceneMouseEvent* mouseEvent)
override;
224 void wheelEvent(QGraphicsSceneWheelEvent* wheelEvent)
override;
226 double timeToNormalizedTime(
double)
const;
227 double normalizedTimeToTime(
double)
const;
233 int currentTicks()
const;
238 double CurrentTime = 0;
239 double StartTime = 0;
241 double ZoomStartTime = 0;
242 double ZoomEndTime = 1;
243 double ZoomFactor = 1;
245 bool Interactive =
false;
247 QList<double> CustomTicks;
250 bool CurrentTimeGrabbed =
false;
251 double NewCurrentTime = 0;
252 double TimeLineGrabbedPosition = 0;
253 double OldZoomStartTime = 0;
254 bool TimeLineGrabbed =
false;
257 int CurrentKeyFrameEdge = 0;
258 QPair<double, double> InteractiveRange;
259 QList<double> SnapHints;
261 QList<pqAnimationTrack*> Tracks;
264 QStandardItemModel Header;
267 QStandardItemModel EnabledHeader;
271 QString EnabledHeaderToolTip =
"Enable/Disable Track";
273 int TimePrecision = 6;
274 QChar TimeNotation =
'g';
277 #endif // pqAnimationModel_h #define PARAVIEW_DEPRECATED_IN_5_12_0(reason)
const QList< double > & customTicks() const
provides access to the custom ticks set using setTickMarks() method.
ModeType
Real, Sequence or Custom mode Real mode shows no tick marks for timesteps Sequence mode shows evenly ...
pqCheckBoxPixMaps is a helper class that can used to create pixmaps for checkboxs in various states...
const QString & enabledHeaderToolTip() const