QLineF Class

QLineFクラスは、浮動小数点精度の2次元ベクトルを提供します。詳細...

Header: #include <QLineF>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

このクラスは等価比較可能です。

このクラスは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

QLineQPolygonFQRectFも参照のこと

メンバ型ドキュメント

enum QLineF::IntersectionType

2本の線の交点を表す。

QLineF::UnboundedIntersection (境界のない交差)QLineF::BoundedIntersection
定数説明
QLineF::NoIntersection0線が交差していない、つまり平行であることを示します。
QLineF::UnboundedIntersection22つの線は交差しますが、長さで定義された範囲内では交差しません。intersect() は、交点がどちらか一方の線の始点と終点の範囲内にある場合にもこの値を返します。
QLineF::BoundedIntersection12つの直線は、それぞれの直線の始点と終点で互いに交差します。

intersects()も参照

メンバ関数ドキュメント

[constexpr] QLineF::QLineF()

ヌル線を構築する。

[constexpr] QLineF::QLineF(const QLine &line)

与えられた整数ベースのline から QLineF オブジェクトを構築します。

toLine() およびQLine::toLineF()も参照

[constexpr] QLineF::QLineF(const QPointF &p1, const QPointF &p2)

p1p2 の間の線を表す線オブジェクトを構築します。

[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 座標関数は、線の始点の 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

直線ベクトルの水平成分を返します。

dy() およびpointAt()も参照

[constexpr] qreal QLineF::dy() const

線のベクトルの垂直成分を返します。

dx() およびpointAt()も参照

[static] QLineF QLineF::fromPolar(qreal length, qreal angle)

与えられたlengthangle を持つ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

行の長さを返す。

setLength() およびisNull()も参照

[constexpr] QLineF QLineF::normalVector() const

この直線に垂直で、始点と長さが同じ直線を返します。

unitVector() も参照

[constexpr] QPointF QLineF::pointAt(qreal t) const

有限パラメータt で指定された位置にある点を返します。この関数は、 t = 0 の場合は直線の始点を返し、 t = 1 の場合は終点を返します。

dx() およびdy()も参照

void QLineF::setP1(const QPointF &p1)

線の始点をp1 に設定する。

setP2() およびp1()参照のこと。

void QLineF::setP2(const QPointF &p2)

この行の終点をp2 に設定する。

setP1() および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

これはオーバーロードされた関数です。

この線をdxdy で指定された距離に変換して返します。

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.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。