Seite 1 von 1

(gelöst) QT 4.x boundingRect für einen Vektor ?

Verfasst: 19. Januar 2011 12:38
von Ritchie
Hallo Zusammen,

gibt es eigentlich eine einfache Lösung für das "boundingRect" eines einfachen Vectors (Linie).

Derzeit ziehe ich immer das entsprechende Rechteck, welches die Linie bedeckt, in der Routine an.

Optimal ist das nur für die 90° Linien. Diagonale Linien werden leicht oversized verarbeitet. Ist das normal ?

Edit: hier kann man es nachlesen....
http://doc.qt.nokia.com/latest/qrectf.html

Gruss R.

Verfasst: 19. Januar 2011 17:38
von upsala
Bei dem Code und der Beschreibung die du lieferst würde ich sagen: Ja.

Verfasst: 19. Januar 2011 19:51
von Ritchie

Code: Alles auswählen

QRectF Linien::boundingRect() const
{
  QRectF		SizeOfComponent;

   SizeOfComponent.setRect(	m_XPos1,
						m_YPos1,
						m_XPos2,
						m_YPos2);

   return SizeOfComponent;
}
Als Rückgabe ist ja ein QRectF, was immer ein Rechteck bedeutet oder gibt es andere Ansätze...

Gruss R.

Verfasst: 19. Januar 2011 20:38
von upsala
Keine Ahnung auf was du hinaus willst.

Wenn du das kleinste boundingRect() zu einer Linie haben willst, die möglich ist, gib den Winkel mit an.

Wenn du schnell herausfinden willst, ob eine Punkt in der Nähe einer Linie ist, verwende dein boundingRect() und die distance.

Ansonsten nimm QPainterPath damit kann gut beliebige Überschneidungen feststellen.