Méthodes propres.
| Méthode |
Type retourné |
Rôle |
get |
Optional[Plug] |
Résout un nom ou un index d’attribut ; repli sur le défaut ou un plug nul. |
find |
PlugArray |
Recherche par motif dans les noms incluant le nœud. |
keys |
list[str] |
Renvoie les noms des plugs inventoriés, avec leur préfixe de nœud. |
items |
list[tuple[str, Plug]] |
Renvoie les couples nom et plug de l’inventaire. |
refresh |
None |
Reconstruit immédiatement l’inventaire des plugs. |
rename_plug |
Plug |
Renomme un attribut dynamique et renvoie le plug renommé. |
has_plug |
bool |
Vérifie un nom sur le nœud, ou la non-nullité d’un MPlug fourni. |
attribute_names |
list[str] |
Renvoie les noms des plugs, incluant le nom du nœud. |
attribute_objects |
list[om.MObject] |
Renvoie les objets des attributs présents dans l’inventaire. |
get_attr_obj_at_index |
om.MObject |
Résout un index physique dans la liste native d’attributs du nœud. |
get_attr_fn_at_index |
om.MFnAttribute |
Renvoie le function set de l’attribut à cet index physique. |
of_type |
Optional[PlugArray] |
Filtre les plugs par type ; None si aucun ne correspond. |
add_enum_plug |
Plug |
Crée un attribut enum dynamique, numéroté à partir de zéro. |
add_generic_plug |
Plug |
Crée un attribut générique dynamique. |
add_matrix_plug |
Plug |
Crée un attribut matrice dynamique. |
add_message_plug |
Plug |
Crée un attribut message, scalaire ou multi. |
add_numeric_plug |
Plug |
Crée un attribut numérique avec défaut et bornes facultatives. |
add_bool_plug |
Plug |
Crée un attribut booléen dynamique. |
add_typed_plug |
Plug |
Crée un attribut typé ; fournir un type et des données par défaut compatibles. |
add_string_plug |
Plug |
Crée un attribut chaîne dynamique. |
add_unit_plug |
Plug |
Appel de création d’unité actuellement incompatible ; consulter la limite. |
ensure_matrix_plug |
Plug |
Retrouve une matrice dynamique compatible ou la crée. |
ensure_string_plug |
Plug |
Retrouve une chaîne dynamique compatible ou la crée. |
ensure_message_plug |
Plug |
Retrouve un message dynamique compatible ou le crée. |
set_locked |
None |
Affecte le verrouillage aux noms fournis, puis rafraîchit l’inventaire. |
set_keyable |
None |
Affecte le drapeau keyable aux noms fournis, puis rafraîchit. |
set_channel_box |
None |
Affecte le drapeau Channel Box aux noms fournis, puis rafraîchit. |
lock_all |
None |
Verrouille les plugs inventoriés. |
unlock_all |
None |
Déverrouille les plugs inventoriés. |
keyable_all |
None |
Active le drapeau keyable des plugs inventoriés. |
unkeyable_all |
None |
Désactive le drapeau keyable des plugs inventoriés. |
channel_box_all |
None |
Active le drapeau Channel Box des plugs inventoriés. |
no_channel_box_all |
None |
Désactive le drapeau Channel Box des plugs inventoriés. |
remove |
None |
Supprime un attribut du nœud et rafraîchit l’inventaire. |
clear_cache |
None |
Invalide l’inventaire ; le prochain accès à all le reconstruira. |
plugs.get(keyname: Union[int, str], default: Optional['Plug']=None)Méthode
| Paramètre |
Type |
Défaut |
keyname |
Union[int, str] |
obligatoire |
default |
Optional[Plug] |
None |
| Retour |
Contrat |
Optional[Plug] |
Résout un nom ou un index d’attribut ; repli sur le défaut ou un plug nul. |
Un nom absent ou un index invalide renvoie le défaut non nul fourni, sinon un Plug nul. Le retour ordinaire de plugs["absent"] est en revanche None. Les index entiers sont les positions natives des attributs du nœud, pas les indices logiques d’un multi.
plugs.find(pattern: str, where: str='attr')Méthode
| Paramètre |
Type |
Défaut |
pattern |
str |
obligatoire |
where |
str |
'attr' |
| Retour |
Contrat |
PlugArray |
Recherche par motif dans les noms incluant le nœud. |
Même en mode where="attr", la recherche porte sur un nom incluant le nœud. Utiliser par exemple "*scaleX". Les modes permis sont "attr", "long" et "short" ; mode invalide : ValueError si l’inventaire n’est pas vide.
plugs.keys(mode: str='attr')Méthode
| Paramètre |
Type |
Défaut |
mode |
str |
'attr' |
| Retour |
Contrat |
list[str] |
Renvoie les noms des plugs inventoriés, avec leur préfixe de nœud. |
Ces résultats incluent le préfixe de nœud, malgré les noms attr ou attribute_names. keys("attr") utilise long_name ; items("attr") utilise le nom natif name(). Pour un nom sans nœud, lire plug.long_attribute_name.
plugs.items(mode: str='attr')Méthode
| Paramètre |
Type |
Défaut |
mode |
str |
'attr' |
| Retour |
Contrat |
list[tuple[str, Plug]] |
Renvoie les couples nom et plug de l’inventaire. |
Ces résultats incluent le préfixe de nœud, malgré les noms attr ou attribute_names. keys("attr") utilise long_name ; items("attr") utilise le nom natif name(). Pour un nom sans nœud, lire plug.long_attribute_name.
plugs.refresh()Méthode
| Retour |
Contrat |
None |
Reconstruit immédiatement l’inventaire des plugs. |
L’inventaire mémorise la structure, pas les valeurs. Après un ajout ou retrait effectué hors de ce gestionnaire, appeler refresh(). Les enfants et éléments sont parcourus ; ne pas supposer que la liste contient seulement les attributs racines, ni que tous les objets d’attribut sont uniques.
plugs.rename_plug(old_name: str, new_name: str, *, force_refresh: bool=True)Méthode
| Paramètre |
Type |
Défaut |
old_name |
str |
obligatoire |
new_name |
str |
obligatoire |
force_refresh |
bool |
True |
| Retour |
Contrat |
Plug |
Renomme un attribut dynamique et renvoie le plug renommé. |
Réservé aux attributs dynamiques. Nom absent, nom de destination occupé ou attribut natif : ValueError. Le nom long et le nom court deviennent tous deux new_name. force_refresh=False évite la reconstruction immédiate de l’inventaire.
plugs.has_plug(plug: Union[str, om.MPlug])Méthode
| Paramètre |
Type |
Défaut |
plug |
Union[str, om.MPlug] |
obligatoire |
| Retour |
Contrat |
bool |
Vérifie un nom sur le nœud, ou la non-nullité d’un MPlug fourni. |
Avec un str, résout l’attribut sur le nœud géré. Avec un om.MPlug, teste seulement sa non-nullité : cela ne prouve pas son appartenance à ce nœud.
plugs.attribute_names(*, short: bool=True)Méthode
| Paramètre |
Type |
Défaut |
short |
bool |
True |
| Retour |
Contrat |
list[str] |
Renvoie les noms des plugs, incluant le nom du nœud. |
Ces résultats incluent le préfixe de nœud, malgré les noms attr ou attribute_names. keys("attr") utilise long_name ; items("attr") utilise le nom natif name(). Pour un nom sans nœud, lire plug.long_attribute_name.
plugs.attribute_objects()Méthode
| Retour |
Contrat |
list[om.MObject] |
Renvoie les objets des attributs présents dans l’inventaire. |
plugs.get_attr_obj_at_index(index: int)Méthode
| Paramètre |
Type |
Défaut |
index |
int |
obligatoire |
| Retour |
Contrat |
om.MObject |
Résout un index physique dans la liste native d’attributs du nœud. |
plugs.get_attr_fn_at_index(index: int)Méthode
| Paramètre |
Type |
Défaut |
index |
int |
obligatoire |
| Retour |
Contrat |
om.MFnAttribute |
Renvoie le function set de l’attribut à cet index physique. |
plugs.of_type(attr_types: Set[int])Méthode
| Paramètre |
Type |
Défaut |
attr_types |
Set[int] |
obligatoire |
| Retour |
Contrat |
Optional[PlugArray] |
Filtre les plugs par type ; None si aucun ne correspond. |
plugs.add_enum_plug(long_name: str, short_name: Optional[str]=None, enum_names: Optional[List[str]]=None, default_value: Optional[int]=None)Méthode
| Paramètre |
Type |
Défaut |
long_name |
str |
obligatoire |
short_name |
Optional[str] |
None |
enum_names |
Optional[List[str]] |
None |
default_value |
Optional[int] |
None |
| Retour |
Contrat |
Plug |
Crée un attribut enum dynamique, numéroté à partir de zéro. |
short_name=None reprend le nom long. default_value=None devient 0 ; les champs de enum_names sont numérotés 0, 1, 2…. L’inventaire est rafraîchi après création.
plugs.add_generic_plug(long_name: str, short_name: Optional[str]=None)Méthode
| Paramètre |
Type |
Défaut |
long_name |
str |
obligatoire |
short_name |
Optional[str] |
None |
| Retour |
Contrat |
Plug |
Crée un attribut générique dynamique. |
plugs.add_matrix_plug(long_name: str, short_name: Optional[str]=None, plug_type: Optional[int]=None, *, nice_name: Optional[str]=None, categories: Optional[Iterable[str]]=None)Méthode
| Paramètre |
Type |
Défaut |
long_name |
str |
obligatoire |
short_name |
Optional[str] |
None |
plug_type |
Optional[int] |
None |
nice_name |
Optional[str] |
None |
categories |
Optional[Iterable[str]] |
None |
| Retour |
Contrat |
Plug |
Crée un attribut matrice dynamique. |
Type par défaut : om.MFnMatrixAttribute.kDouble. Le nom court reprend le nom long si omis. nice_name et categories ajoutent des métadonnées d’attribut ; aucun défaut de matrice personnalisé n’est accepté par cette signature.
plugs.add_message_plug(long_name: str, short_name: Optional[str]=None, *, array: bool=False, index_matters: Optional[bool]=None)Méthode
| Paramètre |
Type |
Défaut |
long_name |
str |
obligatoire |
short_name |
Optional[str] |
None |
array |
bool |
False |
index_matters |
Optional[bool] |
None |
| Retour |
Contrat |
Plug |
Crée un attribut message, scalaire ou multi. |
index_matters n’est permis qu’avec array=True (ValueError sinon). False crée un multi de destination non lisible. Un ensure vérifie la forme multi et le flag demandé sans réécrire un attribut incompatible.
plugs.add_numeric_plug(long_name: str, short_name: Optional[str]=None, numeric_type: Optional[int]=None, default_value: Optional[float]=None, min_value: Optional[float]=None, max_value: Optional[float]=None)Méthode
| Paramètre |
Type |
Défaut |
long_name |
str |
obligatoire |
short_name |
Optional[str] |
None |
numeric_type |
Optional[int] |
None |
default_value |
Optional[float] |
None |
min_value |
Optional[float] |
None |
max_value |
Optional[float] |
None |
| Retour |
Contrat |
Plug |
Crée un attribut numérique avec défaut et bornes facultatives. |
short_name=None reprend le nom long. Le type numérique par défaut est om.MFnNumericData.kDouble, ou kBoolean pour add_bool_plug. Le défaut de valeur est zéro ; les bornes ne sont appliquées que si renseignées.
plugs.add_bool_plug(long_name: str, short_name: Optional[str]=None, default_value: Optional[bool]=None)Méthode
| Paramètre |
Type |
Défaut |
long_name |
str |
obligatoire |
short_name |
Optional[str] |
None |
default_value |
Optional[bool] |
None |
| Retour |
Contrat |
Plug |
Crée un attribut booléen dynamique. |
short_name=None reprend le nom long. Le type numérique par défaut est om.MFnNumericData.kDouble, ou kBoolean pour add_bool_plug. Le défaut de valeur est zéro ; les bornes ne sont appliquées que si renseignées.
plugs.add_typed_plug(long_name: str, short_name: Optional[str]=None, typed_type: Union[int, om.MTypeId, om.MFnData, None]=None, default_value: Optional[Any]=None)Méthode
| Paramètre |
Type |
Défaut |
long_name |
str |
obligatoire |
short_name |
Optional[str] |
None |
typed_type |
Union[int, om.MTypeId, om.MFnData, None] |
None |
default_value |
Optional[Any] |
None |
| Retour |
Contrat |
Plug |
Crée un attribut typé ; fournir un type et des données par défaut compatibles. |
Le défaut typed_type=None choisit om.MFnData.kNumeric, mais le défaut de données est une chaîne : cet appel sans type explicite échoue dans les Maya testés. Pour un tableau typé, fournir son om.MFnData et un objet de données om.MObject compatible ; une liste Python n’est pas automatiquement convertie. Pour une chaîne, préférer add_string_plug().
plugs.add_string_plug(long_name: str, short_name: Optional[str]=None, default_value: Optional[str]=None)Méthode
| Paramètre |
Type |
Défaut |
long_name |
str |
obligatoire |
short_name |
Optional[str] |
None |
default_value |
Optional[str] |
None |
| Retour |
Contrat |
Plug |
Crée un attribut chaîne dynamique. |
Sans valeur explicite, crée une chaîne vide. Le nom court reprend le nom long si omis. Utiliser ensure_string_plug() si l’attribut peut déjà exister.
plugs.add_unit_plug(long_name: str, short_name: Optional[str]=None, unit_type: Optional[int]=None, default_value: Optional[float]=None)Méthode
| Paramètre |
Type |
Défaut |
long_name |
str |
obligatoire |
short_name |
Optional[str] |
None |
unit_type |
Optional[int] |
None |
default_value |
Optional[float] |
None |
| Retour |
Contrat |
Plug |
Appel de création d’unité actuellement incompatible ; consulter la limite. |
Limite reproduite en Maya 2025.3 et 2026.3 : TypeError. Le chemin courant transmet quatre arguments à la création native. Ce constructeur d’attribut n’est pas présenté comme opérationnel ; les plugs d’unité déjà existants restent lisibles via Plug.
plugs.ensure_matrix_plug(long_name: str, short_name: Optional[str]=None, plug_type: Optional[int]=None, *, nice_name: Optional[str]=None, categories: Optional[Iterable[str]]=None)Méthode
| Paramètre |
Type |
Défaut |
long_name |
str |
obligatoire |
short_name |
Optional[str] |
None |
plug_type |
Optional[int] |
None |
nice_name |
Optional[str] |
None |
categories |
Optional[Iterable[str]] |
None |
| Retour |
Contrat |
Plug |
Retrouve une matrice dynamique compatible ou la crée. |
Un attribut existant doit être dynamique et compatible ; sinon RuntimeError, sans remplacement automatique. Les paramètres de nom court ne servent qu’à la création. Un ensure n’écrase pas une valeur ou une connexion existante.
plugs.ensure_string_plug(long_name: str, short_name: Optional[str]=None, default_value: Optional[str]=None)Méthode
| Paramètre |
Type |
Défaut |
long_name |
str |
obligatoire |
short_name |
Optional[str] |
None |
default_value |
Optional[str] |
None |
| Retour |
Contrat |
Plug |
Retrouve une chaîne dynamique compatible ou la crée. |
Un attribut existant doit être dynamique et compatible ; sinon RuntimeError, sans remplacement automatique. Les paramètres de nom court ne servent qu’à la création. Un ensure n’écrase pas une valeur ou une connexion existante.
plugs.ensure_message_plug(long_name: str, short_name: Optional[str]=None, *, array: bool=False, index_matters: Optional[bool]=None)Méthode
| Paramètre |
Type |
Défaut |
long_name |
str |
obligatoire |
short_name |
Optional[str] |
None |
array |
bool |
False |
index_matters |
Optional[bool] |
None |
| Retour |
Contrat |
Plug |
Retrouve un message dynamique compatible ou le crée. |
index_matters n’est permis qu’avec array=True (ValueError sinon). False crée un multi de destination non lisible. Un ensure vérifie la forme multi et le flag demandé sans réécrire un attribut incompatible.
plugs.set_locked(names: Sequence[str], state: bool)Méthode
| Paramètre |
Type |
Défaut |
names |
Sequence[str] |
obligatoire |
state |
bool |
obligatoire |
| Retour |
Contrat |
None |
Affecte le verrouillage aux noms fournis, puis rafraîchit l’inventaire. |
plugs.set_keyable(names: Sequence[str], state: bool)Méthode
| Paramètre |
Type |
Défaut |
names |
Sequence[str] |
obligatoire |
state |
bool |
obligatoire |
| Retour |
Contrat |
None |
Affecte le drapeau keyable aux noms fournis, puis rafraîchit. |
plugs.set_channel_box(names: Sequence[str], state: bool)Méthode
| Paramètre |
Type |
Défaut |
names |
Sequence[str] |
obligatoire |
state |
bool |
obligatoire |
| Retour |
Contrat |
None |
Affecte le drapeau Channel Box aux noms fournis, puis rafraîchit. |
plugs.lock_all()Méthode
| Retour |
Contrat |
None |
Verrouille les plugs inventoriés. |
plugs.unlock_all()Méthode
| Retour |
Contrat |
None |
Déverrouille les plugs inventoriés. |
plugs.keyable_all()Méthode
| Retour |
Contrat |
None |
Active le drapeau keyable des plugs inventoriés. |
plugs.unkeyable_all()Méthode
| Retour |
Contrat |
None |
Désactive le drapeau keyable des plugs inventoriés. |
plugs.channel_box_all()Méthode
| Retour |
Contrat |
None |
Active le drapeau Channel Box des plugs inventoriés. |
plugs.no_channel_box_all()Méthode
| Retour |
Contrat |
None |
Désactive le drapeau Channel Box des plugs inventoriés. |
plugs.remove(name: Union[str, om.MPlug])Méthode
| Paramètre |
Type |
Défaut |
name |
Union[str, om.MPlug] |
obligatoire |
| Retour |
Contrat |
None |
Supprime un attribut du nœud et rafraîchit l’inventaire. |
Noms absents et plugs nuls sont ignorés. La suppression effective utilise Maya et peut refuser un attribut natif ou non supprimable. Fournir un plug appartenant au nœud géré ; aucune validation de propriété n’est ajoutée pour un MPlug externe.
plugs.clear_cache()Méthode
| Retour |
Contrat |
None |
Invalide l’inventaire ; le prochain accès à all le reconstruira. |
L’inventaire mémorise la structure, pas les valeurs. Après un ajout ou retrait effectué hors de ce gestionnaire, appeler refresh(). Les enfants et éléments sont parcourus ; ne pas supposer que la liste contient seulement les attributs racines, ni que tous les objets d’attribut sont uniques.