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

SVDPlug

Données SVD capturées pour un attribut.

ClassSVDSDK

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).

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

entry.attrLecture seule

Type Contrat
str Nom long capturé de l’attribut, sans nom de nœud.

entry.sourceLecture seule

Type Contrat
Optional[str] Nom complet capturé de la source, ou None.

entry.valueLecture seule

Type Contrat
Any Valeur fournie lors de la capture ou de la construction.

entry.destinationsLecture seule

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