from weSkel.src.core.props.svd import SVDViewÀ exécuter dans Maya avec weSkel disponible. Les types om.* désignent maya.api.OpenMaya.
Vue live des sources, valeurs et destinations d’un plug.
SVDView expose Source / Value / Destinations sans capturer de copie. Chaque propriété consulte le plug au moment de la lecture.
objectSVDViewfrom weSkel.src.core.props.svd import SVDViewÀ exécuter dans Maya avec weSkel disponible. Les types om.* désignent maya.api.OpenMaya.
| Élément | Valeur |
|---|---|
| Classe | SVDView |
| Module | weSkel.src.core.props.svd |
| Parent direct | object |
| Nature | dataclass; frozen=True |
| Propriétés issues des specs | Aucune. |
Cette fiche documente les membres définis par cette classe. Les mécanismes Python standard et les membres natifs hérités sont exclus des compteurs.
SVDView(plug: Plug) → SVDView
| Paramètre | Type | Défaut |
|---|---|---|
plug |
Plug |
obligatoire |
Fournir un Plug valide. node.svd("scaleX") est un autre point d’entrée. Le constructeur ne copie aucune valeur et ne contrôle pas les annotations à l’exécution.
Champs déclarés ; une dataclass frozen empêche la réaffectation, pas toutes les mutations imbriquées.
| Champ | Type retourné | Accès | Rôle |
|---|---|---|---|
plug |
Plug |
L | Plug consulté par la vue. |
| Type | Contrat |
|---|---|
Plug |
Plug consulté par la vue. |
Membres propres. L = lecture seule ; L/E = lecture et écriture.
| Propriété | Type retourné | Accès | Rôle |
|---|---|---|---|
attr_name |
str |
L | Nom long courant de l’attribut, sans préfixe de nœud. |
source |
Optional[Plug] |
L | Source logique courante, ou None. |
value |
Any |
L | Valeur relue dans Maya à chaque accès. |
destinations |
PlugArray |
L | Destinations logiques relues à chaque accès. |
| Type | Contrat |
|---|---|
str |
Nom long courant de l’attribut, sans préfixe de nœud. |
| Type | Contrat |
|---|---|
Optional[Plug] |
Source logique courante, ou None. |
| Type | Contrat |
|---|---|
Any |
Valeur relue dans Maya à chaque accès. |
| Type | Contrat |
|---|---|
PlugArray |
Destinations logiques relues à chaque accès. |
La dataclass est frozen : ses champs ne se réaffectent pas normalement. Cela ne rend pas le plug ni la scène immuables. Modifier le plug ailleurs change le résultat de la prochaine lecture.
value renvoie la valeur évaluée, même si une source existe. En replay SVD, la source a priorité sur une valeur locale. La vue ne valide pas son argument à la construction : un plug absent ou une identité supprimée peut faire échouer les lectures.
from uuid import uuid4from weSkel.src.core.node.dag.transform.lib import Transformfrom weSkel.src.core.props.svd import SVDView
node = Transform("sdk_live_" + uuid4().hex[:8])try: node.create() plug = node.plugs["scaleX"] view = SVDView(plug) plug.value = 2.0 assert view.value == 2.0 plug.value = 4.0 assert view.value == 4.0 assert view.source is None and len(view.destinations) == 0 assert view.attr_name == "scale.scaleX" print("SVDView: PASS")finally: node.delete(snapshot=False)Résultat attendu : SVDView: PASS. Les nœuds temporaires sont supprimés dans finally.
Voir aussi : SVDPlug · SVDSnapshot · FSEntry.