PDA

Voir la version complète : Apprendre le coffee, le retour.



fr32c
24/03/2004, 12h55
y'a un certain temps, samir a posté ceci :

var i=0,sc=200;
var points=2;

main(doc,op)
{

var sp = op->GetDown();
var s = sp->GetPointCount();
var spn = sp->GetNext();
if(s==points) sp->Remove();

for&#40;i;i<sc;i++&#41;
&#123;
if&#40;spn==DT_NIL&#41; return FALSE;

var h = spn->GetContainer&#40;&#41;;
var close = h->GetData&#40;SPLINEOBJECT_CLOSED&#41;;

var spp = spn->GetPointCount&#40;&#41;;
var del=spn;
spn = spn->GetNext&#40;&#41;;

if&#40;spp==points&#41;
&#123;
del->Remove&#40;&#41;;
&#125;
else if&#40;close==1&#41;
&#123;
del->Remove&#40;&#41;;
&#125;
&#125;
&#125;


est-ce que ça embeterait les "pros" de traduire les quelques fonctions un peu ardues à comprendre ?
DT_NIL, var del=spn, par exemple...

je continue de feuilleter le sdk8

fr

Tengaal
24/03/2004, 13h19
Traduction du code :
sp = 1er objet enfant de op (objet portant le script COFFEE.
s = nombre de point de cet objet (objet polygonal ou spline donc)
spn = objet en 2e position dans op, après sp (next = suivant)

si s = points (en fait si s=2) alors on efface l'objet sp du projet.
Il faut certainement plus de 2 points dans l'objet...

***boucle de 0 à 199
si spn n'existe pas (DT_NIL=nil=valeur "vide") on quitte le script
l'équivalent serait également "if(!spn) return FALSE;"

h = container de spn (ensemble de ses paramètres)
close = paramètres SPLINEOBJECT_CLOSED du container h (spline fermée ou non)

spp = nombre de points de spn
del = objet spn (on stock le lien vers spn car ensuite spn est modifié)
spn = objet suivant de spn.

si spp = 2 alors del est effacé du projet
sinon si close=1 (spline fermée = TRUE) alors del est effacé également
l'équivalent serait "if (spp==points || close==1) del->Remove();"
"||" (2 x alt+"6") représente la condition OU
"&&" représente la condition ET

*** fin de la boucle

FIN DU SCRIPT ------------

Je pense que ce code sert à effacer des splines ayant 2 points ou étant fermées, dans un groupe contenant beaucoup d'objets spline, notamment dans le cas d'imports. Une sorte de programme de nettoyage automatique quoi ! :wink:

fr32c
24/03/2004, 13h28
merci tengaal, t'es trop fort.

je sens que je vais pouvoir avancer un peu en coffee avec l'aide de tout le monde ici.

fr

fr32c
24/03/2004, 17h28
y'a plein de scripts partout qui fonctionnaient pour la v6-7 et marchent plus du tout pour la v8...

mais je continue d'investiguer...

-edit-

le plus drole, dans le coffee, c'est que les programmers et tutoristes de chez maxon se font plaisir en expliquant :
http://www.maxoncomputer.com/tutorial_detail.asp?tutorialID=199&site=