QWT
7.0.1
Loading...
Searching...
No Matches
src
qwt_bezier.h
1
/******************************************************************************
2
* Qwt Widget Library
3
* Copyright (C) 1997 Josef Wilgen
4
* Copyright (C) 2002 Uwe Rathmann
5
*
6
* This library is free software; you can redistribute it and/or
7
* modify it under the terms of the Qwt License, Version 1.0
8
*
9
* Modified by ChenZongYan in 2024 <czy.t@163.com>
10
* Summary of major modifications (see ChangeLog.md for full history):
11
* 1. CMake build system & C++11 throughout.
12
* 2. Core panner/ zoomer refactored:
13
* - QwtPanner → QwtCachePanner (pixmap-cache version)
14
* - New real-time QwtPlotPanner derived from QwtPicker.
15
* 3. Zoomer supports multi-axis.
16
* 4. Parasite-plot framework:
17
* - QwtFigure, QwtPlotParasiteLayout, QwtPlotTransparentCanvas,
18
* - QwtPlotScaleEventDispatcher, built-in pan/zoom on axis.
19
* 5. New picker: QwtPlotSeriesDataPicker (works with date axis).
20
* 6. Raster & color-map extensions:
21
* - QwtGridRasterData (2-D table + interpolation)
22
* - QwtLinearColorMap::stopColors(), stopPos() API rename.
23
* 7. Bar-chart: expose pen/brush control.
24
* 8. Amalgamated build: single QwtPlot.h / QwtPlot.cpp pair in src-amalgamate.
25
*****************************************************************************/
26
27
#ifndef QWT_BEZIER_H
28
#define QWT_BEZIER_H
29
30
#include "qwt_global.h"
31
32
class
QPointF;
33
class
QPolygonF;
34
46
class
QWT_EXPORT
QwtBezier
47
{
48
public
:
49
QwtBezier
(
double
tolerance = 0.5 );
50
~QwtBezier
();
51
52
void
setTolerance(
double
tolerance );
53
double
tolerance()
const
;
54
55
QPolygonF toPolygon(
const
QPointF& p1,
const
QPointF& cp1,
56
const
QPointF& cp2,
const
QPointF& p2 )
const
;
57
58
void
appendToPolygon(
const
QPointF& p1,
const
QPointF& cp1,
59
const
QPointF& cp2,
const
QPointF& p2, QPolygonF& polygon )
const
;
60
61
static
QPointF pointAt(
const
QPointF& p1,
const
QPointF& cp1,
62
const
QPointF& cp2,
const
QPointF& p2,
double
t );
63
64
private
:
65
double
m_tolerance;
66
double
m_flatness;
67
};
68
73
inline
double
QwtBezier::tolerance
()
const
74
{
75
return
m_tolerance;
76
}
77
78
#endif
QwtBezier
An implementation of the de Casteljau’s Algorithm for interpolating Bézier curves.
Definition
qwt_bezier.h:47
QwtBezier::tolerance
double tolerance() const
Definition
qwt_bezier.h:73
Generated by
1.9.8