11 #ifndef _QWT_POINT_POLAR_H_ 12 #define _QWT_POINT_POLAR_H_ 1 14 #include "qwt_global.h" 17 #ifndef QT_NO_DEBUG_STREAM 36 void setPoint(
const QPointF & );
37 QPointF toPoint()
const;
42 double radius()
const;
43 double azimuth()
const;
48 void setRadius(
double );
49 void setAzimuth(
double );
88 d_azimuth( other.d_azimuth ),
89 d_radius( other.d_radius )
96 return d_radius >= 0.0;
102 return d_radius == 0.0;
141 #ifndef QT_NO_DEBUG_STREAM 142 QWT_EXPORT QDebug operator<<( QDebug,
const QwtPointPolar & );
145 inline QPoint qwtPolar2Pos(
const QPoint &pole,
146 double radius,
double angle )
148 const double x = pole.x() +
radius * qCos( angle );
149 const double y = pole.y() -
radius * qSin( angle );
151 return QPoint( qRound( x ), qRound( y ) );
154 inline QPoint qwtDegree2Pos(
const QPoint &pole,
155 double radius,
double angle )
157 return qwtPolar2Pos( pole,
radius, angle / 180.0 * M_PI );
160 inline QPointF qwtPolar2Pos(
const QPointF &pole,
161 double radius,
double angle )
163 const double x = pole.x() +
radius * qCos( angle );
164 const double y = pole.y() -
radius * qSin( angle );
166 return QPointF( x, y);
169 inline QPointF qwtDegree2Pos(
const QPointF &pole,
170 double radius,
double angle )
172 return qwtPolar2Pos( pole,
radius, angle / 180.0 * M_PI );
175 inline QPointF qwtFastPolar2Pos(
const QPointF &pole,
176 double radius,
double angle )
178 #if QT_VERSION < 0x040601 179 const double x = pole.x() +
radius * ::cos( angle );
180 const double y = pole.y() -
radius * ::sin( angle );
182 const double x = pole.x() +
radius * qFastCos( angle );
183 const double y = pole.y() -
radius * qFastSin( angle );
186 return QPointF( x, y);
189 inline QPointF qwtFastDegree2Pos(
const QPointF &pole,
190 double radius,
double angle )
192 return qwtFastPolar2Pos( pole,
radius, angle / 180.0 * M_PI );
198 qSqrt( qwtSqr( pos.x() ) + qwtSqr( pos.y() ) ) );
A point in polar coordinates.
Definition: qwt_point_polar.h:28
double & rAzimuth()
Returns the azimuth.
Definition: qwt_point_polar.h:124
bool isNull() const
Returns true if radius() >= 0.0.
Definition: qwt_point_polar.h:100
bool isValid() const
Returns true if radius() >= 0.0.
Definition: qwt_point_polar.h:94
double azimuth() const
Returns the azimuth.
Definition: qwt_point_polar.h:112
QwtPointPolar()
Definition: qwt_point_polar.h:65
double radius() const
Returns the radius.
Definition: qwt_point_polar.h:106
void setRadius(double)
Sets the radius to radius.
Definition: qwt_point_polar.h:130
void setAzimuth(double)
Sets the atimuth to atimuth.
Definition: qwt_point_polar.h:136
double & rRadius()
Returns the radius.
Definition: qwt_point_polar.h:118