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

Alles rund um die Programmierung mit Qt
Antworten
Ritchie
Beiträge: 86
Registriert: 29. Januar 2007 19:41

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

Beitrag 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.
Zuletzt geändert von Ritchie am 20. Januar 2011 09:09, insgesamt 2-mal geändert.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag von upsala »

Bei dem Code und der Beschreibung die du lieferst würde ich sagen: Ja.
Ritchie
Beiträge: 86
Registriert: 29. Januar 2007 19:41

Beitrag 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.
upsala
Beiträge: 3946
Registriert: 5. Februar 2006 20:52
Wohnort: Landshut
Kontaktdaten:

Beitrag 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.
Antworten