VI10AddArcBetweenAngles
V = Vector
I = Image
Funzione utilizzata per la gestione della funzionalità Vector Image (oggetto presente su alcune versioni di Qpaint).
La funzione VI10AddArcBetweenAngles aggiunge, in coda alle istruzioni da processare nel Buffer per eseguire il disegno, un set di istruzioni per disegnare un arco il cui percorso va dal punto A al punto B di una circonferenza di cui vengono passate le coordinate X-Y del centro ed il raggio.
Il punto A e il punto B non vengono espressi con coordinate X-Y ma con angoli della circonferenza.
Le coordinate X e Y del punto B (calcolate all'interno della funzione) vengono inoltre impostate, a fine istruzione, come coordinate attuali.
Buffer |
IMPLEMENTAZIONE
VI10AddArcBetweenAngles (awBuffer, Centre_Xo, Centre_Yo, Angle_A, Angle_B, Radius)
Parametri:
IN/OUT | TIPO VARIABILE | NOME DI ESEMPIO | DIM | |
---|---|---|---|---|
IN | ARRSYS / ARRGBL | awBuffer | W | Array che funge da buffer per istruzioni/dati |
IN | CONST/ GLOBAL | Centre_Xo | W | Variabile contenente il valore della coordinata Xo del centro della circonferenza sulla quale viene tracciato l'arco. |
IN | CONST/ GLOBAL | Centre_Yo | W | Variabile contenente il valore della coordinata Yo del centro della circonferenza sulla quale viene tracciato l'arco. |
IN | CONST/ GLOBAL | Angle_A | W | Variabile contenente il valore dell'angolo A di inizio arco. (Espresso in decimi di grado) |
IN | CONST/ GLOBAL | Angle_B | W | Variabile contenente il valore dell'angolo B di fine arco. (Espresso in decimi di grado) |
IN | CONST/ GLOBAL | Radius | W | Variabile contenente il valore del raggio della circonferenza sulla quale si vuole tracciare l'arco. |
Esempio
TASK_00
MAIN: VI10InitBuffer (awBuffer) ;Inizializza il Buffer Color = 0 ;Imposta colore nero VI10AddPen (awBuffer, Color) ;Aggiunge il comando PEN Coord_X = 0 ;Imposta le coordinate per il MOVE Coord_Y = 70 VI10AddMove (awBuffer, Coord_X, Coord_Y) ;Aggiunge il comando MOVE Centre_Xo = 0 ;Imposta le coordinate del centro circonferenza Centre_Yo = 50 Angle_A = 200 ;Imposta l'angolo del punto A (20°) Angle_B = 900 ;Imposta l'angolo del punto B (90°) Radius = 20 ;Imposta il Raggio della circonferenza VI10AddArcBetweenAngles (awBuffer, Centre_Xo, Centre_Yo, Angle_A, Angle_B, Radius) ;Aggiunge Costruzione arco con angoli .... WAIT 1 JUMP MAIN END
Note
-
Considerata la figura sottostante:
la funzione traccia un arco dal punto A al punto B (espressi come angoli) della circonferenza individuata dalle coordinate X-Y del centro e dal raggio passato alla funzione.