from weSkel.src.core.props.svd import SVDSnapshotÀ exécuter dans Maya avec weSkel disponible. Les types om.* désignent maya.api.OpenMaya.
Collection d’entrées SVD associées à un nœud.
SVDSnapshot associe un nom de nœud à un dictionnaire de SVDPlug. node.snapshot_svd(attrs) capture les attributs explicitement demandés.
objectSVDSnapshotfrom weSkel.src.core.props.svd import SVDSnapshotÀ exécuter dans Maya avec weSkel disponible. Les types om.* désignent maya.api.OpenMaya.
| Élément | Valeur |
|---|---|
| Classe | SVDSnapshot |
| Module | weSkel.src.core.props.svd |
| Parent direct | object |
| Nature | dataclass; frozen=False |
| 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.
SVDSnapshot(node: str, data: Dict[str, SVDPlug] = {}) → SVDSnapshot
| Paramètre | Type | Défaut |
|---|---|---|
node |
str |
obligatoire |
data |
Dict[str, SVDPlug] |
{} |
node est un nom enregistré, pas une résolution Maya. Sans data, le dictionnaire est initialement vide. Pour capturer des données, utiliser node.snapshot_svd(("scaleX", "visibility")) sur un wrapper live avec des attributs existants.
Membres propres. L = lecture seule ; L/E = lecture et écriture.
| Champ | Type retourné | Accès | Rôle |
|---|---|---|---|
node |
str |
L/E | Nom du nœud enregistré lors de la capture. |
data |
Dict[str, SVDPlug] |
L/E | Dictionnaire associant les noms d’attributs aux entrées SVDPlug. |
| Type | Contrat |
|---|---|
str |
Nom du nœud enregistré lors de la capture. |
| Type | Contrat |
|---|---|
Dict[str, SVDPlug] |
Dictionnaire associant les noms d’attributs aux entrées SVDPlug. |
Méthodes propres.
| Méthode | Type retourné | Rôle |
|---|---|---|
add |
None |
Ajoute ou remplace une entrée à la clé svd_plug.attr. |
attrs |
Iterable[str] (dict_keys) |
Renvoie la vue des clés du dictionnaire data. |
| Paramètre | Type | Défaut |
|---|---|---|
svd_plug |
SVDPlug |
obligatoire |
| Retour | Contrat |
|---|---|
None |
Ajoute ou remplace une entrée à la clé svd_plug.attr. |
Modifie uniquement data. Aucun attribut n’est créé ou appliqué dans Maya. Une entrée du même nom remplace la précédente.
| Retour | Contrat |
|---|---|
Iterable[str] (dict_keys) |
Renvoie la vue des clés du dictionnaire data. |
Type concret : dict_keys, une vue dynamique. Utiliser list(snapshot.attrs()) pour figer la liste de noms.
Le conteneur est mutable ; add() peut remplacer une entrée. Il conserve un nom, pas une identité persistante de nœud. Chaque instance sans data fourni reçoit son propre dictionnaire.
Les clés sont les chemins longs capturés : scale.scaleX pour scaleX, par exemple.
Ce type n’est pas le dictionnaire renvoyé par node.snapshot(). Ne pas le passer directement à finalize(snapshot=...). Il ne possède aucune méthode automatique de sauvegarde, reconstruction de scène ou replay.
from uuid import uuid4from weSkel.src.core.node.dag.transform.lib import Transformfrom weSkel.src.core.props.svd import SVDSnapshot, svd_from_plug
node = Transform("sdk_snapshot_" + uuid4().hex[:8])try: node.create() node.plugs["scaleX"].value = 2.0 snapshot = node.snapshot_svd(("scaleX", "visibility")) assert isinstance(snapshot, SVDSnapshot) names = snapshot.attrs() node.plugs["scaleX"].value = 6.0 assert snapshot.data["scale.scaleX"].value == 2.0 snapshot.add(svd_from_plug(node.plugs["scaleY"])) assert "scale.scaleY" in names assert snapshot.node == node.name print("SVDSnapshot: PASS")finally: node.delete(snapshot=False)Résultat attendu : SVDSnapshot: PASS. Les nœuds temporaires sont supprimés dans finally.