On Thursday 15 April 2004 10:53, Matthieu Coutiere wrote:
Sujet peu abordé : Draw.
Bonjour,
Je voudrais, au choix :
* récupérer les points de début et de fin d'un segment
* récupérer la liste successive des points d'un polygone.
(le but est de déterminer l'angle entre 2 segments, ou l'angle d'un coin
d'un polygone 3 points)
Que ce soit pour une ligne ou un polygone la démarche est identique.
Les coordonnées des sommets sont stockés dans une séquence de séquence de
structures point (PolyPolygon selon la documentation SDK d'OpenOffice.org).
Il s'agit grosso modo d'un tableau à deux dimensions dont les éléments sont
des structures point (voir ci-dessous).
On arrive à récupérer les GluePoints (basiquement, il y aurait 4
GluePoints, même sur un segment, aux coordonnées bizarres) ; on arrive à
récupérer la position ; mais je n'ai pas réussi à récupérer les coordonnées
des points successifs.
Si "aShape" est une "LineShape" ou un "PolygonShape", pour récupérer les
coordonnées du premier segment :
aPoly = aShape.PolyPolygon ;on récupére la séquence de séquence de points
aPoints = aPoly(0) ;on récupère la séquence concernant les coordonnées des
sommets
aOriginCoord = aPoints(0)
# aOriginCoord contient une structure "com.sun.star.awt.Point"
# aOriginCoord.X et aOriginCoord.Y sont les coordonnées proprement dites du
premier sommet
aEndCoord = aPoints(1)
# aEndCoord contient une structure "com.sun.star.awt.Point"
# aEndCoord.X et aOriginCoord.Y sont les coordonnées proprement dites du
deuxième sommet
J'espère avoir aidé.