PDA

Voir la version complète : comment garder la valeur precedente en coffee



paspas
13/01/2007, 02h59
salut

j' ai un peu honte de ma question mais je trouve pas dans le SDK :coup: comment on fait pour garder la valeur precedente d'une donne utilisateur (ou autre )

imaginon j' ai une DU un reel sa valeur est 10 je modifie cette DU imaginon a 15 comment sauvegarder ma valeur de 10 dans une variable ?

paspas

Jean-Laurent
13/01/2007, 08h27
Je pense que ça doit dépendre de ce que tu appelles "valeur précédente".
Je vois plusieurs possibilités:

- Si c'est une valeur à un instant précis: (Ex: La valeur à la première utilisation, ou au bout de 3 secondes)
On peut utiliser un conditionnel du type:

if (first) {variable_initiale = ma_variable;} ou if (t==3) {variable_3secondes = ma_variable;}

Ensuite ma_variable peut prendre toutes les valeurs qu'elle veut, on conserve sous la main l'ancienne valeur.

- Tu parles de la valeur qui précéde à chaque fois avant qu'elle ne soit changée:

ancienne_valeur=ma_variable;
ma_variable = 3*x*x+ ma_variable;

ma_formule = ma_variable + ancienne_valeur;

Il y a d'autres solutions, comme un tableau par exemple pour garder les 100 dernières valeurs etc...
Ou peut-être même beaucoup plus simple. :oops:

:odile:

paspas
15/01/2007, 17h50
merci

mais c' est pas exactement ce que je recherche ( ou j ai pas bien comprit) en fait ce que tu me donne c'est comment a l' interieure d'un cofee conservée une valeur

mon souci est de garde une valeur avant que elle ne rentre dans le coffee ( pas facile de m expliquer )

ex* j ai une DU* a 10 je la passe* a 15 avec le curseur de la DU* je vourait que le cofee me donne la difference entre la valeur precedente 10 et ma mouvelle valeur 15* *ici : 5* sans utilise d formule si posible car je connait jamait comment cette DU est modifiée .

ou comment conservee des valeurs pour que quand le coffee est recalculer la seconde fois les valeur de depart soit les valeur coonservee .



paspas

Jean-Laurent
15/01/2007, 18h22
Comme ta question était dans la partie programmation et que je baigne dans le coffee en ce moment, je suis parti sur mon idée. :wink:

Donc, tu voudrais faire ça en Xpresso et sans formule coffee. (Pas d'équations différentielles etc... :lol:)

Le gros problème dans ton exemple, c'est qu'il me semble que lorsqu' on bouge le slider d'une DU en Xpresso, le changement est instantané (pas le logiciel sous les yeux).
Dans ce cas là, la notion de valeur précédente, n'a plus de sens. Elle change progressivement.

Tu devrais poser la question dans la partie Xpresso et donner un exemple encore un peu plus précis de ce que tu veux faire. :odile:

paspas
15/01/2007, 18h41
Le gros problème dans ton exemple, c'est qu'il me semble que lorsqu' on bouge le slider d'une DU en Xpresso, le changement est instantané
c est le souce :cry2: :cry2:

en expresso je sais comment faire (plus ou moin) grace au noeud verouiller et une condition !


si tu veut le but j ai un coffee qui a un null qui se balade sur une cercle parametrique et je voudrait savoir si ce null monte ou dessend

la solution serait de recuperer les position relative ou absolue et de regarder .


mais le souci est que j aimerai tester la position et si cette position ne repond pas a la condition je reprend le valeur precedente

pour ce programme j utiilise la position d un point sur une spline le null se situe a 50% de la spline je deplace a 55% je teste , le teste est vrai il reste a 55% le teste est faut je revient a 50%

==> j ai besoin de garde la valeur de la DU avant sont changement

une autre question sait on passer des valeur d" un coffee a l autre ??

par exemple je cree un tag qui possede toute mes valeur je glisse ce tag dans un DU lien et le cofee recupere ces valeur

ou coffee sais il crée des container de valeur quelconque sans que ceux ci soit predefini soit pas C4D lui meme ou par une DU

ca fait baucoup de question mais tout est lier pour le plug que j aimerai realiser il faut savoir ce qui est possible ou pas pour ne pas etre bloquer a un moment donnee car on sait aventurer sur une cul de sac !

paspas qui remercice d 'avance tout les patient qui m aideront :prie:

paspas
16/01/2007, 14h15
salut
j ai un debut de piste ca :

doc->StartUndo();

doc->AddUndo(UNDO_OBJECT_BASEDATA, op);
op->SetName("Change");

doc->AddUndo(OBJECT_BASEDATA, op);
op->SetPosition(vector(100,0,0));

doc->EndUndo();

ces code fige les donne de l' objet et doc quoi que on fasse le noms reste "change " et positionner au vecteur (100,0,0,)

j ai pas encore tester mais je me demande si on recupere le container de op dans la boucle celui ci reste figer ?? (vais tester ce soir )

cette fonction a un foultitude de flag pour toute sorte de situation


paspas