5 #include "../canvas/MapDisplay.h"
6 #include "../canvas/Canvas.h"
9 #include <QtCore/QPropertyAnimation>
10 #include <QtGui/QPainter>
11 #include <QtCore/QVector>
16 QGraphicsPixmapItem(),
21 m_automaticPan(false),
34 int w = m_display->getDisplayPixmap()->width();
35 int h = m_display->getDisplayPixmap()->height();
45 return m_matrix.map(m_pos).toPoint();
50 m_duration = duration;
51 m_animation->setDuration(m_duration);
52 if(m_direction == QAbstractAnimation::Forward)
53 m_curTimeDuration = 0;
55 m_curTimeDuration = m_duration;
60 m_direction = direction;
61 setDuration(m_duration);
80 size_t size = m_time.count();
82 for(
size_t i = 0; i < size; ++i)
84 if(m_time[i] == iTime || m_time[i] > iTime)
90 for(
size_t i = size-1; i >= 0; --i)
92 if(m_time[i] == fTime || m_time[i] < fTime)
99 size_t tfim = ini + size;
101 m_SRID = m_display->getSRID();
102 m_animationRoute.clear();
103 m_animationTime.clear();
105 if(m_display->getSRID() !=
TE_UNKNOWN_SRS && m_display->getSRID() != m_route->getSRID())
110 for(
size_t i = ini; i < tfim; ++i)
112 std::auto_ptr<te::gm::Point> p(line.
getPointN(i));
113 m_animationRoute.push_back(QPointF(p->getX(), p->getY()));
114 m_animationTime.push_back(m_time[i]);
119 for(
size_t i = ini; i < tfim; ++i)
121 std::auto_ptr<te::gm::Point> p(m_route->getPointN(i));
122 m_animationRoute.push_back(QPointF(p->getX(), p->getY()));
123 m_animationTime.push_back(m_time[i]);
Point * getPointN(std::size_t i) const
It returns the specified point in this LineString.
double m_urx
Upper right corner x-coordinate.
A class to represent time instant.
double m_llx
Lower left corner x-coordinate.
LineString is a curve with linear interpolation between points.
An Envelope defines a 2D rectangular region.
#define TE_UNKNOWN_SRS
A numeric value to represent a unknown SRS identification in TerraLib.
double m_lly
Lower left corner y-coordinate.
double m_ury
Upper right corner y-coordinate.
void transform(int srid)
It converts the coordinate values of the linestring to the new spatial reference system.