from weSkel.src.core.props.svd import SVDPlugÀ exécuter dans Maya avec weSkel disponible. Les types om.* désignent maya.api.OpenMaya.
Données SVD capturées pour un attribut.
SVDPlug conserve les données SVD d’un attribut. Le constructeur reçoit ces données ; pour les lire depuis Maya, utiliser svd_from_plug(plug).
objectSVDPlugfrom weSkel.src.core.props.svd import SVDPlugÀ exécuter dans Maya avec weSkel disponible. Les types om.* désignent maya.api.OpenMaya.
| Élément | Valeur |
|---|---|
| Classe | SVDPlug |
| 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.
SVDPlug(attr: str, source: Optional[str], value: Any, destinations: List[str] = []) → SVDPlug
| Paramètre | Type | Défaut |
|---|---|---|
attr |
str |
obligatoire |
source |
Optional[str] |
obligatoire |
value |
Any |
obligatoire |
destinations |
List[str] |
[] |
Les trois premiers paramètres sont obligatoires. destinations reçoit une nouvelle liste vide si omis. svd_from_plug(plug) -> SVDPlug, importé du même module, capture les noms de connexion et la valeur actuelle. Pour la copie profonde et la sérialisation, voir les comportements ci-dessous.
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 |
|---|---|---|---|
attr |
str |
L | Nom long capturé de l’attribut, sans nom de nœud. |
source |
Optional[str] |
L | Nom complet capturé de la source, ou None. |
value |
Any |
L | Valeur fournie lors de la capture ou de la construction. |
destinations |
List[str] |
L | Liste des noms complets capturés des destinations. |
| Type | Contrat |
|---|---|
str |
Nom long capturé de l’attribut, sans nom de nœud. |
| Type | Contrat |
|---|---|
Optional[str] |
Nom complet capturé de la source, ou None. |
| Type | Contrat |
|---|---|
Any |
Valeur fournie lors de la capture ou de la construction. |
| Type | Contrat |
|---|---|
List[str] |
Liste des noms complets capturés des destinations. |
La dataclass frozen empêche la réaffectation des champs, mais la liste destinations et une valeur mutable restent modifiables. Il ne s’agit pas d’une garantie d’immuabilité profonde.
Les noms capturés ne suivent pas les renommages. value peut contenir des objets Maya ; aucune sérialisation JSON générale ni copie indépendante de toute géométrie n’est garantie. Construire une entrée manuellement ne consulte pas Maya.
from uuid import uuid4from weSkel.src.core.node.dag.transform.lib import Transformfrom weSkel.src.core.props.svd import SVDPlug, svd_from_plug
node = Transform("sdk_capture_" + uuid4().hex[:8])try: node.create() plug = node.plugs["scaleX"] plug.value = 2.0 entry = svd_from_plug(plug) assert isinstance(entry, SVDPlug) plug.value = 5.0 assert entry.attr == "scale.scaleX" and entry.value == 2.0 assert entry.source is None and entry.destinations == [] print("SVDPlug: PASS")finally: node.delete(snapshot=False)Résultat attendu : SVDPlug: PASS. Les nœuds temporaires sont supprimés dans finally.
Voir aussi : SVDView · SVDSnapshot · FSEntry.