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

ControlPoint

Socle des géométries à points de contrôle : tweaks, UV et couleurs.

ClassAPI 2.0Base
objectNodeDGNodeContainerBaseDAGNodeGeometryShapeControlPoint
from weSkel.src.core.node.abstract.control_point.lib import ControlPoint

Dans Maya ou dans un script Python exécuté par Maya / mayapy initialisé, avec weSkel accessible. L’import de om n’est nécessaire que pour manipuler les types OpenMaya dans votre propre code.

Élément Valeur
Classe ControlPoint
Module weSkel.src.core.node.abstract.control_point.lib
Parent direct GeometryShape
Descendants directs représentés Curve, SurfaceShape
Membres propres 0 propriétés Python + 32 propriétés de specs ; 0 méthodes définies ou redéfinies ici.

Les membres des parents restent disponibles. Chaque rubrique propose des tableaux repliables par classe parente, avec un lien vers le contrat complet. Les méthodes privées et les mécanismes standard Python ne font pas partie de cet inventaire.

Signature : ControlPoint(node) → ControlPoint ou une sous-classe compatible déjà enregistrée.

Paramètre Types acceptés Défaut
node str, om.MObject, om.MObjectHandle, om.MFnDependencyNode, om.MDagPath, om.MFnDagNode Obligatoire

Enveloppe un nœud existant ou prépare un wrapper si le nom est introuvable ; ne crée aucun nœud. Pour un autre wrapper, passer other.mobject. Le registre partagé conserve l’identité et peut renvoyer le wrapper concret existant. Une entrée incompatible peut lever TypeError, et un conflit d’identité RuntimeError.

Cette base a un NODE_TYPE abstrait. La reconnaissance des types descendants dépend des classes concrètes déjà importées. Importer et utiliser Mesh, Curve ou Surface selon le nœud ; l’exemple en bas montre la lecture via cette base après import du wrapper concret. Ne pas appeler .create() pour tenter de créer le type abstrait.

Propriétés Python définies sur cette classe. om désigne maya.api.OpenMaya. Les propriétés issues des specs sont détaillées dans la section suivante.

Aucune propriété Python supplémentaire : cette classe ajoute les propriétés de specs ci-dessous et hérite des propriétés de ses parents.

Propriétés héritées de DAGNode20
Propriété Type retourné Accès Description
dag_fn om.MFnDagNode L Function set DAG live, ou objet non attaché si le nœud est absent ou invalide.
dag_path om.MDagPath L Un chemin vers le nœud courant ; chemin vide si indisponible.
has_valid_dag_path bool L Validité du chemin renvoyé par dag_path.
full_path_name str L Chemin DAG complet ; chaîne vide si le chemin est invalide.
short_name str L Chemin DAG partiel renvoyé par Maya, éventuellement plus long qu’un simple nom ; chaîne vide si invalide.
is_valid_dag_fn bool L Validité du function set pour l’objet courant.
is_shape bool L Compatibilité de l’objet courant avec om.MFn.kShape.
parents list[DAGNode] L Tous les parents natifs.
parent DAGNode | None L/E Premier parent uniquement ; None sous le world.
is_instanced bool L Indique plusieurs chemins / parents pour l’objet DAG ; False si absent.
children list[DAGNode] L Enfants directs, sans parcours récursif.
is_under_world bool L Nœud live directement sous le world ; False si absent.
child_count int L Nombre d’enfants directs du chemin ; 0 si invalide.
child_names list[str] L Chemins complets des enfants directs ; liste vide si le chemin est invalide.
shape_count int L Nombre de shapes directement sous ce chemin ; 0 si invalide.
shapes list[DAGNode] L Shapes enfants directes, y compris les shapes intermédiaires ; liste vide si invalide.
shape_orig DAGNode | None L Première shape enfant avec intermediateObject=True ; None si absente.
intermediate_shapes list[DAGNode] L Toutes les shapes enfants directes marquées intermédiaires.
draw_override_info om.MDAGDrawOverrideInfo | None L Informations natives d’override du chemin ; None si indisponibles.
fn_bounding_box om.MBoundingBox | None L Bounding box locale obtenue par le function set ; None si indisponible.
Propriétés héritées de DGNode15
Propriété Type retourné Accès Description
dep_fn om.MFnDependencyNode L Function set live ; objet non attaché si le nœud est absent.
uuid str | None L UUID live, ou dernière valeur mémorisée si elle reste disponible.
name str | None L/E Nom live, sinon nom mémorisé.
absolute_name str | None L Nom absolu de namespace renvoyé par MFnDependencyNode.absoluteName() ; None sans nœud.
stripped_name str | None L/E Nom sans namespace, ou None si aucun nom.
namespace str | None L/E Namespace normalisé comme a:b ; None à la racine.
plugs Plugs | None L Gestionnaire des plugs du nœud live ; None sinon.
is_valid_dep_fn bool L Compatibilité du function set avec le MObject courant.
is_default_node bool L Indique un nœud par défaut de Maya ; False sans nœud.
is_from_referenced_file bool L Indique un nœud issu d’un fichier référencé ; False sans nœud.
is_locked bool L/E Verrouillage du nœud, distinct des locks de plugs.
is_shared bool L État partagé renvoyé par Maya ; False sans nœud.
plugin_name str | None L Nom du plugin Maya associé, éventuellement chaîne vide ; None sans nœud.
affect_animation bool L Résultat de MFnDependencyNode.affectsAnimation() ; False sans nœud.
type str | None L/E Type natif live ou type mémorisé.
Propriétés héritées de Node10
Propriété Type retourné Accès Description
mobject om.MObject L/E Objet Maya live, ou objet nul.
mobject_handle om.MObjectHandle L/E Handle associé au nœud.
api_type int | None L Identifiant du type API Maya.
api_type_str str L Nom du type API, par exemple "kTime".
exists bool L Le wrapper possède actuellement un nœud live.
is_null bool L L’objet Maya retourné est nul.
is_alive bool L L’objet existe avec un handle valide et vivant.
is_valid_handle bool L Validité du handle mémorisé.
is_dag_node bool L Compatibilité avec om.MFn.kDagNode.
hash_code int L Hash du handle Maya.

Les noms Python et Maya sont reproduits exactement. Type déclaré, retour Python et défaut déclaré sont des informations différentes. Le défaut d’une spec n’est pas nécessairement la valeur live d’un nœud, ni une valeur automatiquement écrite à sa création.

Les retours ci-dessous décrivent les descriptors de cette classe ; les observations live utilisent un network, un container, un transform, un mesh ou un skinCluster selon la classe. Certains plugs dépendent du type concret. Une sous-classe peut redéfinir un membre et ses possibilités d’écriture. Les noms de proxies identifient le résultat actuel : ne pas importer leurs classes privées.

Forme Utilisation
_ValuePlugProxy .value lit la valeur ; .plug donne un Plug, .mplug un MPlug.
IndexedPathProxy Objet d’accès indexé. Sa résolution présente des limites au checkpoint documenté : les fiches donnent des alternatives vérifiées avec node.plugs[...].
Flags / écriture stored, input, output, connectable décrivent le contrat de replay. Ils ne garantissent pas qu’un plug natif soit modifiable dans son état courant.

Pour une écriture dont il faut vérifier l’échec, utiliser explicitement le Plug et contrôler le résultat live : certains setters de descriptors peuvent mémoriser la valeur sans propager une erreur d’écriture Maya.

Propriété Plug Maya Retour
blind_data_nodes blindDataNodes list[str]
color_set colorSet ArrayCompoundProxy
current_color_set currentColorSet _ValuePlugProxy · .value: str
color_name colorSet[].colorName IndexedPathProxy
clamped colorSet[].clamped IndexedPathProxy
representation colorSet[].representation IndexedPathProxy
color_set_points colorSet[].colorSetPoints AttributeError (accès direct)
color_set_points_r colorSet[].colorSetPoints[].colorSetPointsR IndexedPathProxy
color_set_points_g colorSet[].colorSetPoints[].colorSetPointsG IndexedPathProxy
color_set_points_b colorSet[].colorSetPoints[].colorSetPointsB IndexedPathProxy
color_set_points_a colorSet[].colorSetPoints[].colorSetPointsA IndexedPathProxy
control_points controlPoints ArrayCompoundProxy
control_points_x_value controlPoints[].xValue IndexedPathProxy
control_points_y_value controlPoints[].yValue IndexedPathProxy
control_points_z_value controlPoints[].zValue IndexedPathProxy
tweak tweak _ValuePlugProxy · .value: bool
relative_tweak relativeTweak _ValuePlugProxy · .value: bool
tweak_location tweakLocation Any (donnée native)
display_immediate displayImmediate _ValuePlugProxy · .value: bool
display_color_channel displayColorChannel _ValuePlugProxy · .value: str
display_colors displayColors _ValuePlugProxy · .value: bool
current_uv_set currentUVSet _ValuePlugProxy · .value: str
uv_set uvSet ArrayCompoundProxy
uv_set_name uvSet[].uvSetName IndexedPathProxy
uv_set_points uvSet[].uvSetPoints _DynNumericArrayProxy
uv_set_points_u uvSet[].uvSetPoints[].uvSetPointsU IndexedPathProxy
uv_set_points_v uvSet[].uvSetPoints[].uvSetPointsV IndexedPathProxy
uv_set_tweak_location uvSet[].uvSetTweakLocation IndexedPathProxy
uv_pivot uvPivot _ValuePlugProxy · .value: tuple[float, float]
uv_pivot_x uvPivot.uvPivotX _ValuePlugProxy · .value: float
uv_pivot_y uvPivot.uvPivotY _ValuePlugProxy · .value: float
weights weights TypedArrayProxy

node.blind_data_nodesConnexions

Données de liens vers les nœuds de blind data.

Élément Type / comportement
Chemin Maya déclaré blindDataNodes
Retour de la propriété list[str]
Type déclaré par la spec array:message
Défaut déclaré None
Flags array, output, connectable

La liste retournée n’est pas un inventaire garanti des nœuds connectés. Inspecter les sources et destinations via node.plugs[...] pour connaître les connexions réelles.

node.color_setAccès structuré

Tableau des color sets.

Élément Type / comportement
Chemin Maya déclaré colorSet
Retour de la propriété ArrayCompoundProxy
Type déclaré par la spec array:compound
Défaut déclaré None
Flags array, input, output, connectable, stored
Accès au plug node.color_set.plug

La propriété renvoie une structure. Modifier un enfant explicite ou utiliser les opérations du Plug ; ne pas remplacer le proxy par une affectation Python.

node.current_color_setLecture / écriture

Nom du color set courant.

Élément Type / comportement
Chemin Maya déclaré currentColorSet
Retour de la propriété _ValuePlugProxy · .value: str
Type déclaré par la spec typed:string
Défaut déclaré ''
Flags input, output, connectable, stored
Lire la valeur node.current_color_set.value
Affectation node.current_color_set = value

node.color_nameAccès limité

Nom du color set indexé.

Élément Type / comportement
Chemin Maya déclaré colorSet[].colorName
Retour de la propriété IndexedPathProxy
Type déclaré par la spec typed:string
Défaut déclaré ''
Flags input, output, connectable, stored, keyable
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["colorSet"][i1]["colorName"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.clampedAccès limité

État clamped du color set.

Élément Type / comportement
Chemin Maya déclaré colorSet[].clamped
Retour de la propriété IndexedPathProxy
Type déclaré par la spec numeric:bool
Défaut déclaré False
Flags input, output, connectable, stored, keyable
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["colorSet"][i1]["clamped"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.representationAccès limité

Mode de représentation des couleurs.

Élément Type / comportement
Chemin Maya déclaré colorSet[].representation
Retour de la propriété IndexedPathProxy
Type déclaré par la spec enum
Défaut déclaré 4
Flags input, output, connectable, stored, keyable
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["colorSet"][i1]["representation"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.color_set_pointsAccès limité

Couleurs sous un color set indexé.

Élément Type / comportement
Chemin Maya déclaré colorSet[].colorSetPoints
Retour de la propriété AttributeError (accès direct)
Type déclaré par la spec array:compound
Défaut déclaré None
Flags array, input, output, connectable, stored
Alternative vérifiée · retourne un Plug node.plugs["colorSet"][i1]["colorSetPoints"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.color_set_points_rAccès limité

Composante R de color_set_points.

Élément Type / comportement
Chemin Maya déclaré colorSet[].colorSetPoints[].colorSetPointsR
Retour de la propriété IndexedPathProxy
Type déclaré par la spec numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Indices 2 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["colorSet"][i1]["colorSetPoints"][i2]["colorSetPointsR"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.color_set_points_gAccès limité

Composante G de color_set_points.

Élément Type / comportement
Chemin Maya déclaré colorSet[].colorSetPoints[].colorSetPointsG
Retour de la propriété IndexedPathProxy
Type déclaré par la spec numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Indices 2 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["colorSet"][i1]["colorSetPoints"][i2]["colorSetPointsG"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.color_set_points_bAccès limité

Composante B de color_set_points.

Élément Type / comportement
Chemin Maya déclaré colorSet[].colorSetPoints[].colorSetPointsB
Retour de la propriété IndexedPathProxy
Type déclaré par la spec numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Indices 2 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["colorSet"][i1]["colorSetPoints"][i2]["colorSetPointsB"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.color_set_points_aAccès limité

Composante A de color_set_points.

Élément Type / comportement
Chemin Maya déclaré colorSet[].colorSetPoints[].colorSetPointsA
Retour de la propriété IndexedPathProxy
Type déclaré par la spec numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Indices 2 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["colorSet"][i1]["colorSetPoints"][i2]["colorSetPointsA"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.control_pointsAccès structuré

Tableau natif des control points / tweaks ; ce n’est pas une lecture universelle des positions finales.

Élément Type / comportement
Chemin Maya déclaré controlPoints
Retour de la propriété ArrayCompoundProxy
Type déclaré par la spec array:compound
Défaut déclaré None
Flags array, input, output, connectable, stored
Accès au plug node.control_points.plug

La propriété renvoie une structure. Modifier un enfant explicite ou utiliser les opérations du Plug ; ne pas remplacer le proxy par une affectation Python.

node.control_points_x_valueAccès limité

Composante X du control point indexé.

Élément Type / comportement
Chemin Maya déclaré controlPoints[].xValue
Retour de la propriété IndexedPathProxy
Type déclaré par la spec unit:distance
Défaut déclaré 0.0
Flags input, output, connectable, stored, keyable
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["controlPoints"][i1]["xValue"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.control_points_y_valueAccès limité

Composante Y du control point indexé.

Élément Type / comportement
Chemin Maya déclaré controlPoints[].yValue
Retour de la propriété IndexedPathProxy
Type déclaré par la spec unit:distance
Défaut déclaré 0.0
Flags input, output, connectable, stored, keyable
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["controlPoints"][i1]["yValue"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.control_points_z_valueAccès limité

Composante Z du control point indexé.

Élément Type / comportement
Chemin Maya déclaré controlPoints[].zValue
Retour de la propriété IndexedPathProxy
Type déclaré par la spec unit:distance
Défaut déclaré 0.0
Flags input, output, connectable, stored, keyable
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["controlPoints"][i1]["zValue"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.tweakLecture / écriture

État natif de tweak.

Élément Type / comportement
Chemin Maya déclaré tweak
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré par la spec numeric:bool
Défaut déclaré False
Flags input, output, connectable, stored
Lire la valeur node.tweak.value
Affectation node.tweak = value

node.relative_tweakLecture / écriture

Mode de tweak relatif.

Élément Type / comportement
Chemin Maya déclaré relativeTweak
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré par la spec numeric:bool
Défaut déclaré True
Flags input, output, connectable, stored
Lire la valeur node.relative_tweak.value
Affectation node.relative_tweak = value

node.tweak_locationLecture / connexions

Données natives de localisation des tweaks.

Élément Type / comportement
Chemin Maya déclaré tweakLocation
Retour de la propriété Any (donnée native)
Type déclaré par la spec generic:typed:data
Défaut déclaré None
Flags input, connectable, hidden

Le setter du descriptor lève AttributeError. Gérer les connexions avec node.plugs[...] ; cette propriété ne renvoie pas le nœud connecté.

node.display_immediateLecture / écriture

Option native d’affichage immédiat.

Élément Type / comportement
Chemin Maya déclaré displayImmediate
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré par la spec numeric:bool
Défaut déclaré False
Flags input, output, connectable, stored
Lire la valeur node.display_immediate.value
Affectation node.display_immediate = value

node.display_color_channelLecture / écriture

Canal de couleur affiché.

Élément Type / comportement
Chemin Maya déclaré displayColorChannel
Retour de la propriété _ValuePlugProxy · .value: str
Type déclaré par la spec typed:string
Défaut déclaré 'Ambient+Diffuse'
Flags input, output, connectable, stored
Lire la valeur node.display_color_channel.value
Affectation node.display_color_channel = value

node.display_colorsLecture / écriture

Activation de l’affichage des couleurs de composants.

Élément Type / comportement
Chemin Maya déclaré displayColors
Retour de la propriété _ValuePlugProxy · .value: bool
Type déclaré par la spec numeric:bool
Défaut déclaré False
Flags input, output, connectable, stored
Lire la valeur node.display_colors.value
Affectation node.display_colors = value

Le wrapper concret Mesh redéfinit cette propriété sans setter Python. Sur un Mesh, l’affectation directe lève AttributeError ; utiliser explicitement le plug natif si une modification est souhaitée.

node.current_uv_setLecture / écriture

Nom du UV set courant.

Élément Type / comportement
Chemin Maya déclaré currentUVSet
Retour de la propriété _ValuePlugProxy · .value: str
Type déclaré par la spec typed:string
Défaut déclaré 'map1'
Flags input, output, connectable, stored
Lire la valeur node.current_uv_set.value
Affectation node.current_uv_set = value

Le wrapper concret Mesh redéfinit cette propriété sans setter Python. Sur un Mesh, l’affectation directe lève AttributeError ; utiliser explicitement le plug natif si une modification est souhaitée.

node.uv_setAccès structuré

Tableau des UV sets.

Élément Type / comportement
Chemin Maya déclaré uvSet
Retour de la propriété ArrayCompoundProxy
Type déclaré par la spec array:compound
Défaut déclaré None
Flags array, input, output, connectable, stored
Accès au plug node.uv_set.plug

La propriété renvoie une structure. Modifier un enfant explicite ou utiliser les opérations du Plug ; ne pas remplacer le proxy par une affectation Python.

node.uv_set_nameAccès limité

Nom du UV set indexé.

Élément Type / comportement
Chemin Maya déclaré uvSet[].uvSetName
Retour de la propriété IndexedPathProxy
Type déclaré par la spec typed:string
Défaut déclaré ''
Flags input, output, connectable, stored, keyable
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["uvSet"][i1]["uvSetName"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.uv_set_pointsLecture / écriture

Paires UV du UV set ; accès via son élément parent pour choisir le set.

Élément Type / comportement
Chemin Maya déclaré uvSet[].uvSetPoints
Retour de la propriété _DynNumericArrayProxy
Type déclaré par la spec array:float2
Défaut déclaré (0.0, 0.0)
Flags array, input, output, connectable, stored

Pour sélectionner un UV set précis, utiliser node.plugs["uvSet"][i]["uvSetPoints"] et ses éléments. Ne pas interpréter l’indice du proxy direct comme le numéro du UV set.

node.uv_set_points_uAccès limité

Coordonnée U à deux indices logiques.

Élément Type / comportement
Chemin Maya déclaré uvSet[].uvSetPoints[].uvSetPointsU
Retour de la propriété IndexedPathProxy
Type déclaré par la spec numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Indices 2 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["uvSet"][i1]["uvSetPoints"][i2]["uvSetPointsU"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.uv_set_points_vAccès limité

Coordonnée V à deux indices logiques.

Élément Type / comportement
Chemin Maya déclaré uvSet[].uvSetPoints[].uvSetPointsV
Retour de la propriété IndexedPathProxy
Type déclaré par la spec numeric:float
Défaut déclaré 0.0
Flags input, output, connectable, stored
Indices 2 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["uvSet"][i1]["uvSetPoints"][i2]["uvSetPointsV"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.uv_set_tweak_locationAccès limité

Données de localisation des tweaks du UV set.

Élément Type / comportement
Chemin Maya déclaré uvSet[].uvSetTweakLocation
Retour de la propriété IndexedPathProxy
Type déclaré par la spec generic:typed:data
Défaut déclaré None
Flags input, connectable
Indices 1 indice(s) logique(s), dans l’ordre des [] du chemin Maya.
Alternative vérifiée · retourne un Plug node.plugs["uvSet"][i1]["uvSetTweakLocation"]

Limite actuelle : la résolution du descriptor échoue avec AttributeError sur le cas vérifié. Utiliser le chemin explicite ci-dessus et ses indices logiques. Le Plug permet ensuite de lire .value ou de gérer les connexions.

node.uv_pivotLecture / écriture

Pivot UV à deux composantes.

Élément Type / comportement
Chemin Maya déclaré uvPivot
Retour de la propriété _ValuePlugProxy · .value: tuple[float, float]
Type déclaré par la spec double2
Défaut déclaré (0.0, 0.0)
Flags input, output, connectable, stored, hidden
Lire la valeur node.uv_pivot.value
Affectation node.uv_pivot = value

node.uv_pivot_xLecture / écriture

Première composante du pivot UV.

Élément Type / comportement
Chemin Maya déclaré uvPivot.uvPivotX
Retour de la propriété _ValuePlugProxy · .value: float
Type déclaré par la spec numeric:double
Défaut déclaré 0.0
Flags input, output, connectable, stored
Lire la valeur node.uv_pivot_x.value
Affectation node.uv_pivot_x = value

node.uv_pivot_yLecture / écriture

Deuxième composante du pivot UV.

Élément Type / comportement
Chemin Maya déclaré uvPivot.uvPivotY
Retour de la propriété _ValuePlugProxy · .value: float
Type déclaré par la spec numeric:double
Défaut déclaré 0.0
Flags input, output, connectable, stored
Lire la valeur node.uv_pivot_y.value
Affectation node.uv_pivot_y = value

node.weightsLecture / connexions

Poids natifs des control points ; distincts des poids d’influences d’un skinCluster.

Élément Type / comportement
Chemin Maya déclaré weights
Retour de la propriété TypedArrayProxy
Type déclaré par la spec array:numeric:double
Défaut déclaré 1.0
Flags array, input, output, connectable
Accès au plug node.weights.plug
Élément logique node.weights.element_plug(i).value
Specs héritées de GeometryShape32
Propriété Plug Maya Retour Description
as_background asBackground _ValuePlugProxy · .value: bool Option native d’utilisation en arrière-plan.
depth_jitter depthJitter _ValuePlugProxy · .value: bool Option native de depth jitter.
primary_visiblity primaryVisibility _ValuePlugProxy · .value: bool Visibilité primaire au rendu.
antialiasing_level antialiasingLevel _ValuePlugProxy · .value: int Niveau d’antialiasing de la géométrie.
geometry_antialiasing_override geometryAntialiasingOverride _ValuePlugProxy · .value: bool Activation de l’override d’antialiasing.
component_tags componentTags ArrayCompoundProxy Tableau des tags de composants.
component_tag_name componentTags[].componentTagName IndexedPathProxy Nom du tag à l’indice demandé.
component_tag_contents componentTags[].componentTagContents IndexedPathProxy Contenu du tag de composants.
casts_shadows castsShadows _ValuePlugProxy · .value: bool Participation à la projection d’ombres.
hardware_fog_multiplier hardwareFogMultiplier _ValuePlugProxy · .value: float Multiplicateur de brouillard matériel.
ignore_self_shadowing ignoreSelfShadowing _ValuePlugProxy · .value: bool Option pour ignorer l’auto-ombrage.
max_shading_samples maxShadingSamples _ValuePlugProxy · .value: int Nombre maximal d’échantillons de shading.
receive_shadows receiveShadows _ValuePlugProxy · .value: bool Réception des ombres.
shading_samples shadingSamples _ValuePlugProxy · .value: int Nombre d’échantillons de shading.
shading_samples_override shadingSamplesOverride _ValuePlugProxy · .value: bool Activation de l’override des échantillons de shading.
inst_material_assign instMaterialAssign list[str] Données d’affectation de matériau par instance.
pick_texture pickTexture None Connexion native de sélection de texture.
comp_inst_obj_groups compInstObjGroups ArrayCompoundProxy Groupes de composants par instance.
comp_object_groups compInstObjGroups[].objectGroups AttributeError (accès direct) Groupes sous une instance de composants.
comp_object_grp_comp_list compInstObjGroups[].objectGroups[].objectGrpCompList IndexedPathProxy Liste de composants du groupe indexé.
comp_object_group_id compInstObjGroups[].objectGroups[].objectGroupId IndexedPathProxy Identifiant du groupe de composants indexé.
reference_object referenceObject None Connexion à l’objet de référence de la shape.
max_visibility_samples maxVisibilitySamples _ValuePlugProxy · .value: int Nombre maximal d’échantillons de visibilité.
max_visibility_samples_override maxVisibilitySamplesOverride _ValuePlugProxy · .value: bool Activation de l’override des échantillons de visibilité.
render_type renderType _ValuePlugProxy · .value: int Type de rendu natif de la shape.
render_volume renderVolume _ValuePlugProxy · .value: bool Option native de rendu volumique.
visible_fraction visibleFraction _ValuePlugProxy · .value: float Fraction visible native.
visible_in_reflections visibleInReflections _ValuePlugProxy · .value: bool Visibilité dans les réflexions.
visible_in_refractions visibleInRefractions _ValuePlugProxy · .value: bool Visibilité dans les réfractions.
volume_samples volumeSamples _ValuePlugProxy · .value: int Nombre d’échantillons de volume.
volume_samples_override volumeSamplesOverride _ValuePlugProxy · .value: bool Activation de l’override des échantillons de volume.
motion_blur motionBlur _ValuePlugProxy · .value: bool Participation au motion blur.
Specs héritées de DAGNode93
Propriété Plug Maya Retour Description
use_object_color useObjectColor _ValuePlugProxy · .value: int Mode d’utilisation de la couleur de l’objet.
visibility visibility _ValuePlugProxy · .value: bool Visibilité locale du nœud ; elle ne résume pas la visibilité de toute sa hiérarchie.
template template _ValuePlugProxy · .value: bool Affichage de l’objet en mode template.
lod_visibility lodVisibility _ValuePlugProxy · .value: bool Visibilité associée au niveau de détail.
object_color objectColor _ValuePlugProxy · .value: int Indice de couleur de l’objet.
object_color_rgb objectColorRGB _ValuePlugProxy · .value: tuple[float, float, float] Couleur RGB de l’objet.
object_color_r objectColorR _ValuePlugProxy · .value: float Composante R de object_color_rgb.
object_color_g objectColorG _ValuePlugProxy · .value: float Composante G de object_color_rgb.
object_color_b objectColorB _ValuePlugProxy · .value: float Composante B de object_color_rgb.
wire_color_rgb wireColorRGB _ValuePlugProxy · .value: tuple[float, float, float] Couleur RGB du wireframe.
wire_color_r wireColorRGB.wireColorR _ValuePlugProxy · .value: float Composante R de wire_color_rgb.
wire_color_g wireColorRGB.wireColorG _ValuePlugProxy · .value: float Composante G de wire_color_rgb.
wire_color_b wireColorRGB.wireColorB _ValuePlugProxy · .value: float Composante B de wire_color_rgb.
hidden_in_outliner hiddenInOutliner _ValuePlugProxy · .value: bool Masquage dans l’Outliner.
use_outliner_color useOutlinerColor _ValuePlugProxy · .value: bool Activation de la couleur personnalisée dans l’Outliner.
outliner_color outlinerColor _ValuePlugProxy · .value: tuple[float, float, float] Couleur RGB dans l’Outliner.
outliner_color_r outlinerColorR _ValuePlugProxy · .value: float Composante R de outliner_color.
outliner_color_g outlinerColorG _ValuePlugProxy · .value: float Composante G de outliner_color.
outliner_color_b outlinerColorB _ValuePlugProxy · .value: float Composante B de outliner_color.
ghosting ghosting _ValuePlugProxy · .value: bool Activation du ghosting Maya.
ghosting_mode ghostingMode _ValuePlugProxy · .value: int Mode de ghosting.
ghost_custom_steps ghostCustomSteps CompoundProxy Réglages composés des pas de ghosting.
ghost_pre_frames ghostCustomSteps.ghostPreFrames _ValuePlugProxy · .value: int Nombre de frames avant la frame courante.
ghost_post_frames ghostCustomSteps.ghostPostFrames _ValuePlugProxy · .value: int Nombre de frames après la frame courante.
ghosts_step ghostCustomSteps.ghostsStep _ValuePlugProxy · .value: int Pas entre les échantillons de ghosting.
ghost_frames ghostFrames TypedArrayProxy Liste native des frames de ghosting.
ghost_use_driver ghostUseDriver _ValuePlugProxy · .value: bool Utilisation d’un driver pour le ghosting.
ghost_driver ghostDriver None Connexion au driver de ghosting.
ghost_color_pre ghostColorPre _ValuePlugProxy · .value: tuple[float, float, float] Couleur des ghosts précédents.
ghost_color_pre_r ghostColorPre.ghostColorPreR _ValuePlugProxy · .value: float Composante R de ghost_color_pre.
ghost_color_pre_g ghostColorPre.ghostColorPreG _ValuePlugProxy · .value: float Composante G de ghost_color_pre.
ghost_color_pre_b ghostColorPre.ghostColorPreB _ValuePlugProxy · .value: float Composante B de ghost_color_pre.
ghost_color_post ghostColorPost _ValuePlugProxy · .value: tuple[float, float, float] Couleur des ghosts suivants.
ghost_color_post_r ghostColorPost.ghostColorPostR _ValuePlugProxy · .value: float Composante R de ghost_color_post.
ghost_color_post_g ghostColorPost.ghostColorPostG _ValuePlugProxy · .value: float Composante G de ghost_color_post.
ghost_color_post_b ghostColorPost.ghostColorPostB _ValuePlugProxy · .value: float Composante B de ghost_color_post.
ghost_opacity_range ghostOpacityRange _ValuePlugProxy · .value: tuple[float, float] Plage composée d’opacité du ghosting.
ghost_near_opacity ghostOpacityRange.ghostNearOpacity _ValuePlugProxy · .value: float Opacité des ghosts proches.
ghost_far_opacity ghostOpacityRange.ghostFarOpacity _ValuePlugProxy · .value: float Opacité des ghosts éloignés.
render_info renderInfo CompoundProxy Informations composées de rendu du nœud.
identification renderInfo.identification _ValuePlugProxy · .value: int Identifiant natif dans les informations de rendu.
layer_renderable renderInfo.layerRenderable _ValuePlugProxy · .value: bool Participation au rendu du layer.
layer_override_color renderInfo.layerOverrideColor _ValuePlugProxy · .value: int Indice de couleur de remplacement du layer.
render_layer_info renderLayerInfo ArrayCompoundProxy Tableau d’informations par render layer.
render_layer_id renderLayerInfo[].renderLayerId IndexedPathProxy Identifiant du render layer à l’indice demandé.
render_layer_renderable renderLayerInfo[].renderLayerRenderable IndexedPathProxy Participation au rendu du layer à l’indice demandé.
render_layer_color renderLayerInfo[].renderLayerColor IndexedPathProxy Indice de couleur du render layer.
selection_child_highlighting selectionChildHighlighting _ValuePlugProxy · .value: bool Surlignage des enfants lors de la sélection.
inst_obj_groups instObjGroups ArrayCompoundProxy Groupes d’appartenance par instance DAG.
object_groups instObjGroups[].objectGroups AttributeError (accès direct) Groupes de composants sous une instance DAG.
object_grp_comp_list instObjGroups[].objectGroups[].objectGrpCompList IndexedPathProxy Composants du groupe à deux indices logiques.
object_group_id instObjGroups[].objectGroups[].objectGroupId IndexedPathProxy Identifiant du groupe de composants.
object_grp_color instObjGroups[].objectGroups[].objectGrpColor IndexedPathProxy Indice de couleur du groupe de composants.
matrix matrix _ValuePlugProxy · .value: om.MMatrix Matrice locale évaluée par Maya.
inverse_matrix inverseMatrix _ValuePlugProxy · .value: om.MMatrix Inverse de la matrice locale.
parent_matrix parentMatrix TypedArrayProxy Matrices des parents, indexées par instance.
parent_inverse_matrix parentInverseMatrix TypedArrayProxy Inverses des matrices des parents.
world_matrix worldMatrix TypedArrayProxy Matrices monde, indexées par instance DAG.
world_inverse_matrix worldInverseMatrix TypedArrayProxy Inverses des matrices monde.
intermediate_object intermediateObject _ValuePlugProxy · .value: bool Marqueur Maya de shape intermédiaire.
draw_override drawOverride CompoundProxy Ensemble des overrides d’affichage.
override_enabled overrideEnabled _ValuePlugProxy · .value: bool Activation des overrides d’affichage.
override_display_type overrideDisplayType _ValuePlugProxy · .value: int Type d’affichage imposé par l’override.
override_level_of_detail overrideLevelOfDetail _ValuePlugProxy · .value: int Niveau de détail imposé par l’override.
override_shading overrideShading _ValuePlugProxy · .value: bool Activation du shading dans l’override.
override_texturing overrideTexturing _ValuePlugProxy · .value: bool Activation des textures dans l’override.
override_playback overridePlayback _ValuePlugProxy · .value: bool Affichage pendant la lecture, selon l’override.
override_visibility overrideVisibility _ValuePlugProxy · .value: bool Visibilité imposée par l’override.
override_color overrideColor _ValuePlugProxy · .value: int Indice de couleur de l’override.
hide_on_playback hideOnPlayback _ValuePlugProxy · .value: bool Masquage pendant la lecture.
override_rgb_colors overrideRGBColors _ValuePlugProxy · .value: bool Utilisation de la couleur RGB pour l’override.
override_color_rgb overrideColorRGB _ValuePlugProxy · .value: tuple[float, float, float] Couleur RGB de l’override.
override_color_r overrideColorRGB.overrideColorR _ValuePlugProxy · .value: float Composante R de override_color_rgb.
override_color_g overrideColorRGB.overrideColorG _ValuePlugProxy · .value: float Composante G de override_color_rgb.
override_color_b overrideColorRGB.overrideColorB _ValuePlugProxy · .value: float Composante B de override_color_rgb.
override_color_a overrideColorA _ValuePlugProxy · .value: float Composante alpha de la couleur d’override.
bounding_box boundingBox CompoundProxy Plugs composés de la bounding box ; distincts de fn_bounding_box.
bounding_box_min boundingBox.boundingBoxMin _ValuePlugProxy · .value: tuple[float, float, float] Coin minimum de la bounding box locale.
bounding_box_min_x boundingBox.boundingBoxMin.boundingBoxMinX _ValuePlugProxy · .value: float Composante X de bounding_box_min.
bounding_box_min_y boundingBox.boundingBoxMin.boundingBoxMinY _ValuePlugProxy · .value: float Composante Y de bounding_box_min.
bounding_box_min_z boundingBox.boundingBoxMin.boundingBoxMinZ _ValuePlugProxy · .value: float Composante Z de bounding_box_min.
bounding_box_max boundingBox.boundingBoxMax _ValuePlugProxy · .value: tuple[float, float, float] Coin maximum de la bounding box locale.
bounding_box_max_x boundingBox.boundingBoxMax.boundingBoxMaxX _ValuePlugProxy · .value: float Composante X de bounding_box_max.
bounding_box_max_y boundingBox.boundingBoxMax.boundingBoxMaxY _ValuePlugProxy · .value: float Composante Y de bounding_box_max.
bounding_box_max_z boundingBox.boundingBoxMax.boundingBoxMaxZ _ValuePlugProxy · .value: float Composante Z de bounding_box_max.
bounding_box_size boundingBox.boundingBoxSize _ValuePlugProxy · .value: tuple[float, float, float] Dimensions de la bounding box locale.
bounding_box_size_x boundingBox.boundingBoxSize.boundingBoxSizeX _ValuePlugProxy · .value: float Composante X de bounding_box_size.
bounding_box_size_y boundingBox.boundingBoxSize.boundingBoxSizeY _ValuePlugProxy · .value: float Composante Y de bounding_box_size.
bounding_box_size_z boundingBox.boundingBoxSize.boundingBoxSizeZ _ValuePlugProxy · .value: float Composante Z de bounding_box_size.
center center _ValuePlugProxy · .value: tuple[float, float, float] Centre de la bounding box locale.
center_x center.boundingBoxCenterX _ValuePlugProxy · .value: float Composante X de center.
center_y center.boundingBoxCenterY _ValuePlugProxy · .value: float Composante Y de center.
center_z center.boundingBoxCenterZ _ValuePlugProxy · .value: float Composante Z de center.
Specs héritées de ContainerBase21
Propriété Plug Maya Retour Description
black_box blackBox _ValuePlugProxy · .value: bool Présentation du container en boîte noire dans Maya.
border_connections borderConnections list[str] Données de connexions à la frontière du container.
creator creator _ValuePlugProxy · .value: str Métadonnée de créateur du container.
creation_date creationDate _ValuePlugProxy · .value: str Métadonnée de date de création.
custom_treatment customTreatment _ValuePlugProxy · .value: str Traitement personnalisé du container.
hyper_layout hyperLayout None Connexion au layout de l’Hypergraph.
icon_name iconName _ValuePlugProxy · .value: str Nom d’icône associé au container.
is_collapsed isCollapsed _ValuePlugProxy · .value: bool État replié du container dans les vues Maya.
is_hierarchical_connection isHierarchicalConnection TypedArrayProxy Indicateurs de connexions hiérarchiques.
rmb_command rmbCommand _ValuePlugProxy · .value: str Commande de menu contextuel associée au container.
template_name templateName _ValuePlugProxy · .value: str Nom du template du container.
template_path templatePath _ValuePlugProxy · .value: str Chemin du template du container.
template_version templateVersion _ValuePlugProxy · .value: int Version du template du container.
container_type containerType _ValuePlugProxy · .value: str Métadonnée de type du container.
ui_treatment uiTreatment _ValuePlugProxy · .value: int Mode de présentation du container.
view_mode viewMode _ValuePlugProxy · .value: int Mode de vue du container.
view_name viewName _ValuePlugProxy · .value: str Nom de la vue du container.
published_node_info publishedNodeInfo ArrayCompoundProxy Tableau des informations sur les nœuds publiés.
published_node publishedNodeInfo[].publishedNode IndexedPathProxy Connexion vers le nœud publié à un indice donné.
is_hierarchical_node publishedNodeInfo[].isHierarchicalNode IndexedPathProxy Indicateur hiérarchique d’un nœud publié.
published_node_type publishedNodeInfo[].publishedNodeType IndexedPathProxy Type déclaré d’un nœud publié.
Specs héritées de DGNode6
Propriété Plug Maya Retour Description
message message None Plug de message du nœud ; sert aux connexions, sans valeur numérique.
frozen frozen _ValuePlugProxy · .value: bool État natif de gel de l’évaluation.
is_historically_interesting isHistoricallyInteresting _ValuePlugProxy · .value: int Niveau d’intérêt du nœud dans l’historique Maya.
bin_membership binMembership _ValuePlugProxy · .value: str Appartenance aux bins Maya.
caching_enabled caching _ValuePlugProxy · .value: bool Activation du cache natif du nœud.
caching_node_state nodeState _ValuePlugProxy · .value: int État d’évaluation natif nodeState.

Aucune nouvelle méthode publique sur cette classe. Utiliser les méthodes héritées ci-dessous ; la présence d’une base abstraite ne fournit pas un nouveau type Maya créable.

Méthodes héritées de DAGNode5
Méthode Retour Description
create None Crée un nœud DAG absent avec son éventuel parent préparé.
delete None Utilise la suppression de DGNode.
snapshot DAGSnapshot Étend le dictionnaire DG avec parent (chemin partiel) et parent_long_name (chemin complet), et utilise schema_version="dag-1.0".
finalize None Mémorise le dictionnaire puis délègue le replay à DGNode.finalize().
set_parent None Reparente le nœud live.
Méthodes héritées de DGNode3
Méthode Retour Description
snapshot_svd SVDSnapshot Capture Source / Value / Destinations pour la liste demandée.
svd SVDView Renvoie une vue live en lecture seule de la source, de la valeur et des destinations ; ce n’est pas une capture figée.
clear_attr_cache None Vide le cache d’attributs de cette instance ; ne supprime aucun nœud et ne vide pas le registre global de wrappers.
Méthodes héritées de Node2
Méthode Retour Description
has_fn(fn_type) bool Tester la compatibilité avec un function set Maya.
clear_node_registry() None Détacher les wrappers enregistrés et vider leur registre partagé.
Attribut Type Valeur / rôle
NODE_TYPE str | None "controlPoint"
SPEC_LAYERS list[SpecLayer] Layers du parent + get_control_point_specs_all

Attributs définis ou redéfinis ici. NODE_REGISTRY est hérité de Node. COMPATIBLE_MAYA_FN_TYPES est hérité ; pour une classe avec NODE_TYPE explicite, son utilisation dépend aussi de la politique de compatibilité décrite dans le constructeur.

Les types ControlPointSnapshot exportés par ces modules sont des descriptions TypedDict, pas des classes à instancier pour effectuer une capture. Utiliser node.snapshot().

Point Comportement
Identité Le wrapper suit l’objet Maya ; un remplacement portant le même nom n’est pas le même nœud.
Lecture Lecture live prioritaire ; vérifier exists avant les opérations natives.
Specs Décrivent les plugs existants ; n’ajoutent pas automatiquement d’attributs Maya.
Exemples La démonstration crée et supprime uniquement ses propres nœuds nommés avec un suffixe aléatoire.

Exemple autonome pour le Script Editor Python de Maya. Pour l’exécuter depuis mayapy, initialiser maya.standalone avant ce bloc et le fermer ensuite, comme dans la référence Node.

La shape de démonstration est un mesh vide : le test concerne la propriété héritée, pas la création de topologie.

from uuid import uuid4
from weSkel.src.core.node.abstract.control_point.lib import ControlPoint
from weSkel.src.core.node.dag.mesh.lib import Mesh
from weSkel.src.core.node.dag.transform.lib import Transform
prefix = "api_shape_" + uuid4().hex[:8]
parent = Transform(prefix + "_parent")
node = Mesh(prefix + "Shape")
try:
parent.create()
node.parent = parent
node.create()
assert ControlPoint(node.mobject) is node
node.relative_tweak = False
assert node.relative_tweak.value is False
print("ControlPoint: inherited shape property OK")
finally:
node.delete(snapshot=False)
parent.delete(snapshot=False)

Résultat attendu : ControlPoint: inherited shape property OK. Les nœuds de démonstration sont supprimés dans le finally.

Référence du checkpoint SDK 87c3486. Inventaire et exemples vérifiés sur les sources sous Maya 2025.3 et 2026.3 ; cela ne valide pas le package compilé.