QLineF Class
QLineFクラスは、浮動小数点精度の2次元ベクトルを提供します。詳細...
Header: | #include <QLineF> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS Core) target_link_libraries(mytarget PRIVATE Qt6::Core) |
qmake: | QT += core |
- 継承メンバを含む全メンバのリスト
- 非推奨メンバー
- QLineF は絵画クラスの一部です。
このクラスは等価比較可能です。
このクラスはQLine と等価比較可能です。
パブリック型
enum | IntersectionType { NoIntersection, UnboundedIntersection, BoundedIntersection } |
パブリック関数
QLineF() | |
QLineF(const QLine &line) | |
QLineF(const QPointF &p1, const QPointF &p2) | |
QLineF(qreal x1, qreal y1, qreal x2, qreal y2) | |
QPointF | p1() const |
QPointF | p2() const |
qreal | x1() const |
qreal | x2() const |
qreal | y1() const |
qreal | y2() const |
qreal | angle() const |
qreal | angleTo(const QLineF &line) const |
QPointF | center() const |
qreal | dx() const |
qreal | dy() const |
QLineF::IntersectionType | intersects(const QLineF &line, QPointF *intersectionPoint = nullptr) const |
bool | isNull() const |
qreal | length() const |
QLineF | normalVector() const |
QPointF | pointAt(qreal t) const |
void | setP1(const QPointF &p1) |
void | setP2(const QPointF &p2) |
void | setAngle(qreal angle) |
void | setLength(qreal length) |
void | setLine(qreal x1, qreal y1, qreal x2, qreal y2) |
void | setPoints(const QPointF &p1, const QPointF &p2) |
QLine | toLine() const |
void | translate(const QPointF &offset) |
void | translate(qreal dx, qreal dy) |
QLineF | translated(const QPointF &offset) const |
QLineF | translated(qreal dx, qreal dy) const |
QLineF | unitVector() const |
静的パブリック・メンバー
QLineF | fromPolar(qreal length, qreal angle) |
関連する非メンバー
(since 6.8) bool | qFuzzyCompare(const QLineF &lhs, const QLineF &rhs) |
(since 6.8) bool | qFuzzyIsNull(const QLineF &line) |
bool | operator!=(const QLineF &lhs, const QLineF &rhs) |
QDataStream & | operator<<(QDataStream &stream, const QLineF &line) |
bool | operator==(const QLineF &lhs, const QLineF &rhs) |
QDataStream & | operator>>(QDataStream &stream, QLineF &line) |
詳細説明
QLineF は、2 次元サーフェス上の有限長の線(または線分)を記述します。QLineF は、座標に浮動小数点精度を使用して線の始点と終点を定義します。この線の整数ベースのコピーを取得するには、toLine() 関数を使用します。
線の始点と終点の位置は、p1()、x1()、y1()、p2()、x2()、y2() 関数を使用して取得できます。dx() とdy() 関数は、それぞれ線の水平成分と垂直成分を返す。
線の長さは、length() 関数で取得でき、setLength() 関数で変更できる。同様に、angle() とsetAngle() は、それぞれ線の角度の取得と変更に使用する。QLineF が有効な線かヌル線かを判定するには、isNull ()関数を使用する。
intersects() 関数はこの線と指定された線のIntersectionType を決定し、angleTo() 関数は線間の角度を返す。さらに、unitVector ()関数は、この直線と同じ始点を持つが長さが1しかない直線を返し、normalVector ()関数は、この直線と同じ始点と長さで直交する直線を返す。
最後に、translate()関数を使用すると、指定したオフセットだけ平行移動させることができ、pointAt()関数を使用すると、平行移動させることができます。
制約
QLine は、 タイプの最小値と最大値に制限されます。この範囲外の値になる可能性のある を操作すると、未定義の動作になります。int
QLine
QLine 、QPolygonF 、QRectFも参照のこと 。
メンバ型ドキュメント
enum QLineF::IntersectionType
2本の線の交点を表す。
QLineF::UnboundedIntersection (境界のない交差) | QLineF::BoundedIntersection |
定数 | 値 | 説明 |
---|---|---|
QLineF::NoIntersection | 0 | 線が交差していない、つまり平行であることを示します。 |
QLineF::UnboundedIntersection | 2 | 2つの線は交差しますが、長さで定義された範囲内では交差しません。intersect() は、交点がどちらか一方の線の始点と終点の範囲内にある場合にもこの値を返します。 |
QLineF::BoundedIntersection | 1 | 2つの直線は、それぞれの直線の始点と終点で互いに交差します。 |
intersects()も参照 。
メンバ関数ドキュメント
[constexpr]
QLineF::QLineF()
ヌル線を構築する。
[constexpr]
QLineF::QLineF(const QLine &line)
与えられた整数ベースのline から QLineF オブジェクトを構築します。
toLine() およびQLine::toLineF()も参照 。
[constexpr]
QLineF::QLineF(const QPointF &p1, const QPointF &p2)
p1 とp2 の間の線を表す線オブジェクトを構築します。
[constexpr]
QLineF::QLineF(qreal x1, qreal y1, qreal x2, qreal y2)
(x1,y1) と (x2,y2) の間の線を表す線オブジェクトを構築します。
[constexpr]
QPointF QLineF::p1() const
線の始点を返す。
[constexpr]
QPointF QLineF::p2() const
関数は、線の終点を返します。
setP2()、x2()、y2() およびp1() も参照 。
[constexpr]
qreal QLineF::x1() const
x 座標関数は、線の始点の x 座標を返します。
p1() も参照 。
[constexpr]
qreal QLineF::x2() const
線の終点の x 座標を返す。
p2()も参照 。
[constexpr]
qreal QLineF::y1() const
線の始点のy座標を返します。
p1()も参照 。
[constexpr]
qreal QLineF::y2() const
線の終点のy座標を返す。
p2()も参照 。
qreal QLineF::angle() const
直線角度を度単位で返します。
戻り値は、0.0 から 360.0 までの範囲の値となります。角度は、原点 (x > 0) より右側の x 軸上の点から反時計回りに測定されます。
setAngle()も参照 。
qreal QLineF::angleTo(const QLineF &line) const
この直線から与えられたline への角度(度)を、直線の方向を考慮して返す。直線がその範囲内でintersect にならない場合は、延長された直線の交点が原点となる(QLineF::UnboundedIntersection を参照)。
返される値は、この直線が与えられたline と同じ角度を持つようにするために、反時計回りに何度足す必要があるかを表します。
intersects()も参照してください 。
[constexpr]
QPointF QLineF::center() const
この直線の中心点を返します。これは、0.5 *p1() + 0.5 *p2() と等価です。
[constexpr]
qreal QLineF::dx() const
直線ベクトルの水平成分を返します。
[constexpr]
qreal QLineF::dy() const
線のベクトルの垂直成分を返します。
[static]
QLineF QLineF::fromPolar(qreal length, qreal angle)
与えられたlength とangle を持つQLineF を返します。
直線の最初の点は原点になります。
角度の正の値は反時計回りを意味し、負の値は時計回りを意味します。0度は3時の位置です。
QLineF::IntersectionType QLineF::intersects(const QLineF &line, QPointF *intersectionPoint = nullptr) const
この線が、与えられたline と交差するかどうかを示す値を返す。
実際の交点は(ポインタが有効であれば)intersectionPoint に抽出される。線が平行である場合、交点は未定義である。
[constexpr]
bool QLineF::isNull() const
線が明確な始点と終点を持たない場合はtrue
を返し、そうでない場合はfalse
を返します。始点と終点は、qFuzzyCompare() が少なくとも1つの座標で区別できる場合、区別できるとみなされる。
注意: あいまい比較を使用しているため、length() が 0 ではない線に対して isNull() がtrue
を返すことがある。
qFuzzyCompare() およびlength()も参照 。
qreal QLineF::length() const
行の長さを返す。
[constexpr]
QLineF QLineF::normalVector() const
この直線に垂直で、始点と長さが同じ直線を返します。
unitVector() も参照 。
[constexpr]
QPointF QLineF::pointAt(qreal t) const
有限パラメータt で指定された位置にある点を返します。この関数は、 t = 0 の場合は直線の始点を返し、 t = 1 の場合は終点を返します。
void QLineF::setP1(const QPointF &p1)
線の始点をp1 に設定する。
void QLineF::setP2(const QPointF &p2)
この行の終点をp2 に設定する。
void QLineF::setAngle(qreal angle)
線の角度を、指定されたangle (度単位) に設定します。これは、線が指定された角度を持つように、線の 2 番目の点の位置を変更します。
角度の正の値は反時計回りを意味し、負の値は時計回りを意味する。0度は3時の位置である。
angle()も参照 。
void QLineF::setLength(qreal length)
線の長さを、与えられた有限の長さlength に設定する。QLineF は、線の終点p2() を移動して、線の長さを変更する。ただし、length() がゼロであった場合は、スケーリングは行わない。
length() およびunitVector()も参照 。
void QLineF::setLine(qreal x1, qreal y1, qreal x2, qreal y2)
この行の始点をx1,y1 に、終点をx2,y2 に設定する。
setP1()、setP2()、p1()、p2()も参照のこと 。
void QLineF::setPoints(const QPointF &p1, const QPointF &p2)
この行の始点をp1 に、終点をp2 に設定する。
setP1()、setP2()、p1() およびp2()も参照 。
[constexpr]
QLine QLineF::toLine() const
この行の整数ベースのコピーを返します。
返される行の始点と終点は、最も近い整数に丸められることに注意。
QLineF() およびQLine::toLineF()も参照 。
void QLineF::translate(const QPointF &offset)
この行を、与えられたoffset で変換する。
void QLineF::translate(qreal dx, qreal dy)
これはオーバーロードされた関数です。
この行をdx およびdy で指定された距離だけ平行移動します。
[constexpr]
QLineF QLineF::translated(const QPointF &offset) const
指定されたoffset によって翻訳されたこの行を返します。
[constexpr]
QLineF QLineF::translated(qreal dx, qreal dy) const
これはオーバーロードされた関数です。
この線をdx とdy で指定された距離に変換して返します。
QLineF QLineF::unitVector() const
この線の単位ベクトル、つまりこの線と同じ点から始まる長さ 1.0 の線を返します。
normalVector() およびsetLength()も参照 。
関連する非メンバー
[constexpr noexcept, since 6.8]
bool qFuzzyCompare(const QLineF &lhs, const QLineF &rhs)
行lhs が行rhs とほぼ等しい場合はtrue
を返し、そうでない場合はfalse
を返す。
線の始点と終点がほぼ等しい場合、線はほぼ等しいとみなされます。
この関数は Qt 6.8 で導入されました。
[constexpr noexcept, since 6.8]
bool qFuzzyIsNull(const QLineF &line)
線line の始点と終点がほぼ等しい場合はtrue
を返し、そうでない場合はfalse
を返します。
この関数は Qt 6.8 で導入されました。
[constexpr noexcept]
bool operator!=(const QLineF &lhs, const QLineF &rhs)
行lhs が行rhs と同じでない場合はtrue
を返します。
ある行が別の行と異なるのは、それらの始点または終点が異なる場合、または点の内部順序が異なる場合です。
QDataStream &operator<<(QDataStream &stream, const QLineF &line)
与えられたline を与えられたstream に書き込み、ストリームへの参照を返します。
Qt データ型のシリアライズも参照してください 。
[constexpr noexcept]
bool operator==(const QLineF &lhs, const QLineF &rhs)
行lhs が行rhs と同じ場合はtrue
を返します。
行は、始点と終点が同じで、点の内部順序が同じであれば、別の行と同じです。
QDataStream &operator>>(QDataStream &stream, QLineF &line)
与えられたstream から与えられたline に行を読み込み、ストリームへの参照を返します。
Qt データ型のシリアライズ」も参照してください 。
©2024 The Qt Company Ltd. 本書に含まれる文書の著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。