QWT之QwtClipper 类
来源:互联网 发布:淘宝店流量突然下降 编辑:程序博客网 时间:2024/06/05 14:25
QwtClipper 类提供了一些裁剪算法,均为静态函数。因此QwtClipper 类实际上是一个静态工具类,是全局函数的一个替代方案。
Some clipping algos.
具体说来包括三个算法:
- class QWT_EXPORT QwtClipper
- {
- public:
- static QPolygon clipPolygon( const QRect &,
- const QPolygon &, bool closePolygon = false ); // 裁剪多边形(整型坐标)
- static QPolygonF clipPolygonF( const QRectF &,
- const QPolygonF &, bool closePolygon = false ); // 裁剪多边形(浮点数坐标)
- static QVector<QwtInterval> clipCircle(
- const QRectF &, const QPointF &, double radius ); // 裁剪圆
- };
代码分析:
1)在通常的编码中,我们可能习惯将这些算法定义为全局函数,而在面向对象的系统设计中,过多的全局函数会带来混乱和困惑。如果按照类别(例如这里的“裁剪”)将其分类定义为静态方法。除了能达到全局访问的目的外,还能有效的实现封装。实为良策!
2)实现代码示例:
- /*!
- Circle clipping
- clipCircle() devides a circle into intervals of angles representing arcs
- of the circle. When the circle is completely inside the clip rectangle
- an interval [0.0, 2 * M_PI] is returned.
- \param clipRect Clip rectangle
- \param center Center of the circle
- \param radius Radius of the circle
- \return Arcs of the circle
- */
- QVector<QwtInterval> QwtClipper::clipCircle( const QRectF &clipRect,
- const QPointF ¢er, double radius )
- {
- QwtCircleClipper clipper( clipRect );
- return clipper.clipCircle( center, radius );
- }
QwtCircleClipper 类实现了“裁剪圆”算法的实际功能,但是其本身并未向外暴露,很好的实现了信息隐藏。
0 0
- QWT之QwtClipper 类
- Qwt源码解读之QwtClipper 类
- Qwt源码解读之QwtPainter类
- Qwt源码解读之QwtPoint3D类
- Qwt源码解读之QwtPointPolar类
- Qwt源码解读之QwtInterval 类
- Qwt源码解读之QwtSpline类
- Qwt源码解读之QwtLegend类
- Qwt源码解读之QwtColorMap颜色类
- Qwt源码解读之标尺相关类
- Qwt源码解读之QwtPlot类
- Qwt源码解读之缩放操作类
- Qwt源码解读之平移操作类
- Qwt源码解读之QwtPickerMachine类
- Qwt源码解读之QwtPlot类
- Qwt源码解读之标尺相关类
- Qwt源码解读之QwtWheel类
- Qwt源码解读之标尺相关类
- 学Android---布局(四)TableLayout
- postgis学习笔记
- Android GridView属性集合
- 如何完成MindMapper中主题形状的多变
- 错误:app Transport Security has blocked a cleartext HTTP......
- QWT之QwtClipper 类
- ArcGIS教程:影响路径距离(垂直系数)(一)
- eclipse配置外部工具利用javah编译生成头文件
- linux下动态库的使用
- 安装brew
- 邮箱注册调整到所属邮箱常用登录地址
- 欢迎使用Markdown编辑器写博客
- android短信接收/发送
- 程序员们 你们是这样设置密码的吗?