QLineF Class
QLineFクラスは、浮動小数点精度の2次元ベクトルを提供します。詳細...
ヘッダー | #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
線の始点を返します。
setP1()、x1()、y1() およびp2()も参照 。
[constexpr]
QPointF QLineF::p2() const
線の終点を返します。
setP2()、x2()、y2() およびp1()も参照 。
[constexpr]
qreal QLineF::x1() const
線の始点の 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
G関数は、線の角度を度単位で返します。
戻り値は、0.0 から 360.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)
与えられたstream に与えられたline を書き込み、ストリームへの参照を返します。
Qt データ型のシリアライズも参照してください 。
[constexpr noexcept]
bool operator==(const QLineF &lhs, const QLineF &rhs)
線lhs が線rhs と同じならtrue
を返す。
始点と終点が同じで、点の内部順序が同じであれば、線は別の線と同一である。
QDataStream &operator>>(QDataStream &stream, QLineF &line)
与えられたstream から与えられたline に行を読み込み、ストリームへの参照を返します。
Qt データ型のシリアライズも参照してください 。
© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.