[zurück]

2.2. Entwicklung des Plugins (Polygone)

[vor]

Als nächstes können wir die Polygone hinzufügen.

// Quadrate setzen
...// Zähler zurücksetzen
......zz = 0;
...// Schleife
......for (j=0; j<Nv; j++)
......{
..........for (i=0; i<Nu; i++)
..........{
..............// Punkte für ein Quadrat definieren
.................P1 = i * (Nv + 1) + j;
.................P2 = i * (Nv + 1) + j + 1;
.................P3 = (i + 1) * (Nv + 1) + j + 1;
.................P4 = (i + 1) * (Nv + 1) + j;
..............// Quadrat.speichern
.................M->SetQuadrangle(zz,P1,P2,P3,P4);
..............// Zähler erhöhen
.................zz = zz + 1;
..........}
......}

Zur Benennung der 4 Punkte eines Quadrats können wir auf die Berechnung der Linien zurückgreifen. Wir greifen uns aus dem Gitternetz (siehe Abb. 1) 4 Punkte (P38, P39, P46, P45) als Beispiel heraus.


Abb. 4

Bei der Berechnung dieses Quadrates haben die Schleifenindizes die Werte i=5 und j=3. Die 4 Punkte ordnen wir im Uhrzeigersinn an.

 

Punkt

Formel

Resultat

 

38

i*(Nv + 1) + j

5*(6 + 1) + 3 = 38

 

39

i*(Nv + 1) + j + 1

5*(6 + 1) + 3 + 1 = 39

 

46

(i + 1)*(Nv + 1) + j + 1

(5 + 1)*(6 + 1) + 3 + 1 = 46

 

45

(i + 1)*(Nv + 1) + j

(5 + 1)*(6 + 1) + 3 = 45

Das Skript mit allen Linien und Quadraten kann getestet werden (M_Test4.cof), das Plugin ist damit fertig. Um es etwas komfortabler zu machen können wir noch einen Eingabedialog hinzufügen.


[zurück] [Inhaltsverzeichnis] [vor]