from weSkel.src.core.props.svd import FSEntryÀ exécuter dans Maya avec weSkel disponible. Les types om.* désignent maya.api.OpenMaya.
Donnée hors plug destinée à un consommateur de function sets.
FSEntry transporte une donnée qui ne passe pas par un plug Maya. Sa construction n’exécute aucune opération de function set et ne modifie pas la scène.
Generic[ValueT]FSEntryfrom weSkel.src.core.props.svd import FSEntryÀ exécuter dans Maya avec weSkel disponible. Les types om.* désignent maya.api.OpenMaya.
| Élément | Valeur |
|---|---|
| Classe | FSEntry |
| Module | weSkel.src.core.props.svd |
| Parent direct | Generic[ValueT] |
| 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.
FSEntry(name: str, value: Optional[ValueT] = None, encode: Optional[Callable[[Any], Any]] = None, decode: Optional[Callable[[Any], Any]] = None) → FSEntry
| Paramètre | Type | Défaut |
|---|---|---|
name |
str |
obligatoire |
value |
Optional[ValueT] |
None |
encode |
Optional[Callable[[Any], Any]] |
None |
decode |
Optional[Callable[[Any], Any]] |
None |
Seul name est obligatoire. Les trois autres champs valent None par défaut. FSEntry[float] peut préciser le type attendu dans un éditeur ; ce paramètre générique n’effectue pas de conversion.
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 |
|---|---|---|---|
name |
str |
L | Identifiant de l’opération ou de la propriété hors plug. |
value |
Optional[ValueT] |
L | Valeur destinée au consommateur de cette entrée. |
encode |
Optional[Callable[[Any], Any]] |
L | Callable d’encodage facultatif, stocké sans exécution automatique. |
decode |
Optional[Callable[[Any], Any]] |
L | Callable de décodage facultatif, stocké sans exécution automatique. |
| Type | Contrat |
|---|---|
str |
Identifiant de l’opération ou de la propriété hors plug. |
| Type | Contrat |
|---|---|
Optional[ValueT] |
Valeur destinée au consommateur de cette entrée. |
| Type | Contrat |
|---|---|
Optional[Callable[[Any], Any]] |
Callable d’encodage facultatif, stocké sans exécution automatique. |
| Type | Contrat |
|---|---|
Optional[Callable[[Any], Any]] |
Callable de décodage facultatif, stocké sans exécution automatique. |
Méthodes propres.
| Méthode | Type retourné | Rôle |
|---|---|---|
as_dict |
Dict[str, Any] |
Produit un dictionnaire en remplaçant les deux callables par None. |
| Retour | Contrat |
|---|---|
Dict[str, Any] |
Produit un dictionnaire en remplaçant les deux callables par None. |
Utilise la conversion dataclass, qui copie récursivement les conteneurs usuels et peut copier d’autres objets. Les callables encode et decode ne sont pas appelés : leurs champs sont mis à None. Le contenu arbitraire de value n’est pas garanti sérialisable en JSON ; une donnée Maya peut aussi faire échouer la copie.
La dataclass est frozen, mais sa valeur peut rester mutable. ValueT est une information de typage, sans validation de type automatique à l’exécution.
Les noms reconnus et les valeurs acceptées dépendent du consommateur. Une entrée seule n’applique rien et as_dict() n’exécute pas les fonctions d’encodage ou de décodage.
from weSkel.src.core.props.svd import FSEntry
entry = FSEntry(name="example", value={"amount": 2.0}, encode=lambda value: {"encoded": value})data = entry.as_dict()assert data == {"name": "example", "value": {"amount": 2.0}, "encode": None, "decode": None}data["value"]["amount"] = 9.0assert entry.value["amount"] == 2.0print("FSEntry: PASS")Résultat attendu : FSEntry: PASS. Aucune modification de scène.
Voir aussi : SVDView · SVDPlug · SVDSnapshot.