|  | Home · All Classes · Main Classes · Annotated · Grouped Classes · Functions |

# QLineF Class Reference

The QLineF class provides a two-dimensional vector that uses floating point coordinates for accuracy. More...

    #include <QLineF>

Part of the QtCore module.

- List of all members, including inherited members

### Public Types

- enum IntersectType { NoIntersection, UnboundedIntersection, BoundedIntersection }

### Public Functions

- QLineF ()
- QLineF ( const QPointF & pt1, const QPointF & pt2 )
- QLineF ( qreal x1, qreal y1, qreal x2, qreal y2 )
- QLineF ( const QLine & line )
- qreal angle ( const QLineF & line ) const
- qreal dx () const
- qreal dy () const
- IntersectType intersect ( const QLineF & other, QPointF * intersectionPoint ) const
- bool isNull () const
- qreal length () const
- QLineF normalVector () const
- QPointF p1 () const
- QPointF p2 () const
- QPointF pointAt ( qreal t ) const
- void setLength ( qreal length )
- QLine toLine () const
- void translate ( const QPointF & point )
- void translate ( qreal dx, qreal dy )
- QLineF unitVector () const
- qreal x1 () const
- qreal x2 () const
- qreal y1 () const
- qreal y2 () const
- bool operator!= ( const QLineF & d ) const
- bool operator== ( const QLineF & other ) const

### Related Non-Members

- QDataStream & operator<< ( QDataStream & stream, const QLineF & line )
- QDataStream & operator>> ( QDataStream & stream, QLineF & line )

## Detailed Description

The QLineF class provides a two-dimensional vector that uses floating point coordinates for accuracy.

A QLineF describes a finite length line on a two-dimensional surface. The start and end points of the line are specified using floating point coordinates for accuracy.

Use isNull() to determine whether the QLineF represents a valid line or a null line.

The positions of the line's end points can be found with the x1(), y1(), x2(), and y2() functions. The horizontal and vertical components of the line are returned by the dx() and dy() functions.

Convenience functions are provided for finding the lines's length(), the unitVector() along the line, whether two lines intersect(), and the angle() between two lines. The line's length can be changed using setLength().

Vector addition of two lines is supported through the use of the += operator.

The line can be translated along the length of another line with the moveBy() function, and can be traversed using a parameter with the pointAt() function.

See also QPointF, QSizeF, and QRectF.

## Member Type Documentation

### enum QLineF::IntersectType

Constant | Value | Description
--- | --- | ---
`QLineF::NoIntersection` | `0` | Indicates that the lines do not intersect; i.e. they are parallel.
`QLineF::UnboundedIntersection` | `2` | The two lines intersect, but not within the range defined by their lengths. This will be the case if the lines are not parallel.
`QLineF::BoundedIntersection` | `1` | The two lines intersect with each other within the start and end points of each line.

## Member Function Documentation

### QLineF::QLineF ()

Constructs a null line.

### QLineF::QLineF ( const QPointF & pt1, const QPointF & pt2 )

Constructs a line object that represents the line between pt1 and pt2.

### QLineF::QLineF ( qreal x1, qreal y1, qreal x2, qreal y2 )

Constructs a line object that represents the line between (x1, y1) and (x2, y2).

### QLineF::QLineF ( const QLine & line )

### qreal QLineF::angle ( const QLineF & line ) const

Returns the smallest angle between the given line and this line, not taking into account whether the lines intersect or not. The angle is specified in degrees.

### qreal QLineF::dx () const

Returns the horizontal component of the line's vector.

### qreal QLineF::dy () const

Returns the vertical component of the line's vector.

### IntersectType QLineF::intersect ( const QLineF & other, QPointF * intersectionPoint ) const

Returns a value indicating whether or not this line intersects the other line. By passing a valid object as intersectionPoint, it is possible to get the actual intersection point. The intersection point is undefined if the lines are parallel.

### bool QLineF::isNull () const

Returns true if the line is not set up with valid start and end point; otherwise returns false.

### qreal QLineF::length () const

Returns the length of the line.

See also setLength().

### QLineF QLineF::normalVector () const

Returns a line that is perpendicular to this line with the same starting point and length.

### QPointF QLineF::p1 () const

Returns the line's start point.

### QPointF QLineF::p2 () const

Returns the line's end point.

### QPointF QLineF::pointAt ( qreal t ) const

Returns the point at the parameterized position t, where the start and end point are defined to be at positions t=0 and t=1.

### void QLineF::setLength ( qreal length )

Sets the length of the line.

See also length().

### QLine QLineF::toLine () const

Rounds the end points of the line to integer coordinates and returns it as a QLine.

### void QLineF::translate ( const QPointF & point )

Translates this line with the point given.

### void QLineF::translate ( qreal dx, qreal dy )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Translates this line the distance dx and dy.

### QLineF QLineF::unitVector () const

Returns a normalized version of this line, starting at the same point as this line. A normalized line is a line of unit length (length() is equal to 1.0).

### qreal QLineF::x1 () const

Returns the x-coordinate of the line's start point.

### qreal QLineF::x2 () const

Returns the x-coordinate of the line's end point.

### qreal QLineF::y1 () const

Returns the y-coordinate of the line's start point.

### qreal QLineF::y2 () const

Returns the y-coordinate of the line's end point.

### bool QLineF::operator!= ( const QLineF & d ) const

### bool QLineF::operator== ( const QLineF & other ) const

Returns true if other is the same line as this line.

A line is identical if the two points are the same and their order is the same.

## Related Non-Members

### QDataStream & operator<< ( QDataStream & stream, const QLineF & line )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Writes the line to the stream and returns a reference to the stream.

See also Format of the QDataStream operators.

### QDataStream & operator>> ( QDataStream & stream, QLineF & line )

This is an overloaded member function, provided for convenience. It behaves essentially like the above function.

Reads a QLineF from the stream into the line and returns a reference to the stream.

See also Format of the QDataStream operators.