Aller au contenu
weSkelDOCUMENTATION
Documentation/Référence API/SVDSnapshot

SVDSnapshot

Collection d’entrées SVD associées à un nœud.

ClassSVDSDK

SVDSnapshot associe un nom de nœud à un dictionnaire de SVDPlug. node.snapshot_svd(attrs) capture les attributs explicitement demandés.

objectSVDSnapshot
from 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.

snapshot.nodeLecture / écriture

Type Contrat
str Nom du nœud enregistré lors de la capture.

snapshot.dataLecture / écriture

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.

snapshot.add(svd_plug: SVDPlug)Méthode

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.

snapshot.attrs()Méthode

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 uuid4
from weSkel.src.core.node.dag.transform.lib import Transform
from 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.

Voir aussi : SVDView · SVDPlug · FSEntry.