from weSkel.src.core.node.abstract.geometry_filter.lib import GeometryFilterIn Maya or in a Python script run by Maya / initialized mayapy, with weSkel available. Importing om is only required when using OpenMaya types in your own code.
Deformer foundation: envelope and input / output geometries.
from weSkel.src.core.node.abstract.geometry_filter.lib import GeometryFilterIn Maya or in a Python script run by Maya / initialized mayapy, with weSkel available. Importing om is only required when using OpenMaya types in your own code.
| Item | Value |
|---|---|
| Class | GeometryFilter |
| Module | weSkel.src.core.node.abstract.geometry_filter.lib |
| Direct parent | DGNode |
| Represented direct descendants | SkinCluster |
| Own members | 3 Python properties + 16 spec properties; 0 methods defined or overridden here. |
Parent members remain available. Each section includes collapsible tables grouped by parent class, with links to the full contracts. Private methods and standard Python mechanisms are outside this inventory.
Signature : GeometryFilter(node) → GeometryFilter or an already registered compatible subclass.
| Parameter | Accepted types | Default |
|---|---|---|
node |
str, om.MObject, om.MObjectHandle, om.MFnDependencyNode |
Required |
Wraps an existing node or stages a wrapper if the name is unresolved; creates no node. For another wrapper, pass other.mobject. The shared registry preserves identity and may return the existing concrete wrapper. Incompatible input can raise TypeError, and identity conflicts RuntimeError.
Accepts objects compatible with om.MFn.kGeometryFilt. To create a skinCluster, use the concrete SkinCluster wrapper, not the abstract geometryFilter type.
Python properties defined on this class. om means maya.api.OpenMaya. Spec-generated properties are detailed in the following section.
| Property | Return type | Access |
|---|---|---|
mfn_geometry_filter |
oma.MFnGeometryFilter | None |
R |
input_geometries |
om.MObjectArray |
R |
output_geometries |
om.MObjectArray |
R |
Live deformer function set, or None when missing or incompatible. oma means maya.api.OpenMayaAnim.
| Item | Type / behavior |
|---|---|
| Returns | oma.MFnGeometryFilter | None |
Input geometry objects returned by the function set. Empty array without a function set; does not stage connections.
| Item | Type / behavior |
|---|---|
| Returns | om.MObjectArray |
Output geometry objects returned by the function set. Empty array without a function set; separate from the output_geometry plugs.
| Item | Type / behavior |
|---|---|
| Returns | om.MObjectArray |
DGNode15| Property | Return type | Access | Description |
|---|---|---|---|
dep_fn |
om.MFnDependencyNode |
R | Live function set; unattached object when the node is missing. |
uuid |
str | None |
R | Live UUID, or the last staged value if still available. |
name |
str | None |
R/W | Live name, otherwise staged name. |
absolute_name |
str | None |
R | Absolute namespace name from MFnDependencyNode.absoluteName(); None without a node. |
stripped_name |
str | None |
R/W | Name without its namespace, or None when unnamed. |
namespace |
str | None |
R/W | Normalized namespace such as a:b; None at the root. |
plugs |
Plugs | None |
R | Live node plug manager; None otherwise. |
is_valid_dep_fn |
bool |
R | Function-set compatibility with the current MObject. |
is_default_node |
bool |
R | Whether this is a Maya default node; False without a node. |
is_from_referenced_file |
bool |
R | Whether the node comes from a referenced file; False without a node. |
is_locked |
bool |
R/W | Node lock, separate from plug locks. |
is_shared |
bool |
R | Shared state reported by Maya; False without a node. |
plugin_name |
str | None |
R | Associated Maya plugin name, possibly an empty string; None without a node. |
affect_animation |
bool |
R | Result of MFnDependencyNode.affectsAnimation(); False without a node. |
type |
str | None |
R/W | Live native type or staged type. |
Node10| Property | Return type | Access | Description |
|---|---|---|---|
mobject |
om.MObject |
R/W | Live Maya object, or a null object. |
mobject_handle |
om.MObjectHandle |
R/W | Handle associated with the node. |
api_type |
int | None |
R | Maya API type identifier. |
api_type_str |
str |
R | API type name, for example "kTime". |
exists |
bool |
R | The wrapper currently has a live node. |
is_null |
bool |
R | The returned Maya object is null. |
is_alive |
bool |
R | The object exists with a valid, live handle. |
is_valid_handle |
bool |
R | Validity of the stored handle. |
is_dag_node |
bool |
R | Compatibility with om.MFn.kDagNode. |
hash_code |
int |
R | Maya handle hash. |
Python and Maya names are reproduced exactly. Declared kind, Python return and declared default are different facts. A spec default is not necessarily the live node value, nor a value automatically written at creation.
The returns below describe this class descriptors; live observations use a network, container, transform, mesh or skinCluster as appropriate. Some plugs depend on the concrete type. A subclass may override a member and its write capabilities. Proxy names identify current results: do not import their private classes.
| Form | Usage |
|---|---|
_ValuePlugProxy |
.value reads the value; .plug gives a Plug, .mplug an MPlug. |
IndexedPathProxy |
Indexed access object. Resolution has limitations at this checkpoint: member cards provide verified alternatives using node.plugs[...]. |
| Flags / writing | stored, input, output, connectable describe the replay contract. They do not guarantee a native plug is editable in its current state. |
For writes where failure must be checked, use the Plug explicitly and verify live state: some descriptor setters can stage a value without propagating a Maya write error.
| Property | Maya plug | Returns |
|---|---|---|
block_gpu |
blockGPU |
_ValuePlugProxy · .value: bool |
envelope |
envelope |
_ValuePlugProxy · .value: float |
envelope_weights_list |
envelopeWeightsList |
ArrayCompoundProxy |
envelope_weights |
envelopeWeightsList[].envelopeWeights |
AttributeError (direct access) |
weight_function |
weightFunction |
Any (native data) |
input |
input |
ArrayCompoundProxy |
input_geometry |
input[].inputGeometry |
IndexedPathProxy |
group_id |
input[].groupId |
IndexedPathProxy |
component_tag_expression |
input[].componentTagExpression |
IndexedPathProxy |
map_64_bit_indices |
map64BitIndices |
TypedArrayProxy |
original_geometry |
originalGeometry |
TypedArrayProxy |
output_geometry |
outputGeometry |
TypedArrayProxy |
function |
function |
CompoundProxy |
fchild_1 |
function.fchild1 |
_ValuePlugProxy · .value: int |
fchild_2 |
function.fchild2 |
_ValuePlugProxy · .value: int |
fchild_3 |
function.fchild3 |
_ValuePlugProxy · .value: int |
Native deformer GPU evaluation block.
| Item | Type / behavior |
|---|---|
| Declared Maya path | blockGPU |
| Property return | _ValuePlugProxy · .value: bool |
| Declared spec kind | numeric:bool |
| Declared default | False |
| Flags | input, output, connectable, stored |
| Read the value | node.block_gpu.value |
| Assignment | node.block_gpu = value |
Overall deformer strength.
| Item | Type / behavior |
|---|---|
| Declared Maya path | envelope |
| Property return | _ValuePlugProxy · .value: float |
| Declared spec kind | numeric:float |
| Declared default | 1.0 |
| Flags | input, output, connectable, stored, keyable |
| Read the value | node.envelope.value |
| Assignment | node.envelope = value |
Envelope weight-list array.
| Item | Type / behavior |
|---|---|
| Declared Maya path | envelopeWeightsList |
| Property return | ArrayCompoundProxy |
| Declared spec kind | array:compound |
| Declared default | () |
| Flags | array, output, connectable, hidden |
| Plug access | node.envelope_weights_list.plug |
The property returns a structure. Edit an explicit child or use Plug operations; do not replace the proxy with a Python assignment.
Envelope weights beneath an indexed list.
| Item | Type / behavior |
|---|---|
| Declared Maya path | envelopeWeightsList[].envelopeWeights |
| Property return | AttributeError (direct access) |
| Declared spec kind | array:numeric:float |
| Declared default | () |
| Flags | array, output, connectable, hidden |
| Verified alternative · returns a Plug | node.plugs["envelopeWeightsList"][i1]["envelopeWeights"] |
Current limitation: descriptor resolution raises AttributeError in the verified case. Use the explicit path above with logical indices. The resulting Plug can then read .value or manage connections.
Native weight-function data; declared kind typed:unknown.
| Item | Type / behavior |
|---|---|
| Declared Maya path | weightFunction |
| Property return | Any (native data) |
| Declared spec kind | typed:unknown |
| Declared default | None |
| Flags | input, output, connectable, hidden |
The descriptor setter raises AttributeError. Manage connections with node.plugs[...]; this property does not return the connected node.
Deformer geometry-input array.
| Item | Type / behavior |
|---|---|
| Declared Maya path | input |
| Property return | ArrayCompoundProxy |
| Declared spec kind | array:compound |
| Declared default | () |
| Flags | array, input, output, connectable |
| Plug access | node.input.plug |
The property returns a structure. Edit an explicit child or use Plug operations; do not replace the proxy with a Python assignment.
Input geometry at the requested index.
| Item | Type / behavior |
|---|---|
| Declared Maya path | input[].inputGeometry |
| Property return | IndexedPathProxy |
| Declared spec kind | typed:geometry |
| Declared default | None |
| Flags | input, output, connectable |
| Indices | 1 logical index(es), in the order of [] in the Maya path. |
| Verified alternative · returns a Plug | node.plugs["input"][i1]["inputGeometry"] |
Current limitation: descriptor resolution raises AttributeError in the verified case. Use the explicit path above with logical indices. The resulting Plug can then read .value or manage connections.
Input group identifier.
| Item | Type / behavior |
|---|---|
| Declared Maya path | input[].groupId |
| Property return | IndexedPathProxy |
| Declared spec kind | numeric:int |
| Declared default | 0 |
| Flags | input, output, connectable |
| Indices | 1 logical index(es), in the order of [] in the Maya path. |
| Verified alternative · returns a Plug | node.plugs["input"][i1]["groupId"] |
Current limitation: descriptor resolution raises AttributeError in the verified case. Use the explicit path above with logical indices. The resulting Plug can then read .value or manage connections.
Component-tag selection expression.
| Item | Type / behavior |
|---|---|
| Declared Maya path | input[].componentTagExpression |
| Property return | IndexedPathProxy |
| Declared spec kind | typed:string |
| Declared default | '*' |
| Flags | input, output, connectable, stored |
| Indices | 1 logical index(es), in the order of [] in the Maya path. |
| Verified alternative · returns a Plug | node.plugs["input"][i1]["componentTagExpression"] |
Current limitation: descriptor resolution raises AttributeError in the verified case. Use the explicit path above with logical indices. The resulting Plug can then read .value or manage connections.
Native 64-bit index mapping.
| Item | Type / behavior |
|---|---|
| Declared Maya path | map64BitIndices |
| Property return | TypedArrayProxy |
| Declared spec kind | typed:intarray |
| Declared default | () |
| Flags | input, output, connectable, stored, hidden |
| Plug access | node.map_64_bit_indices.plug |
This attribute contains typed-array data, not necessarily a Maya multi-attribute. Read its contents with .plug.value; do not equate data indices with logical plug indices.
Original deformer geometries.
| Item | Type / behavior |
|---|---|
| Declared Maya path | originalGeometry |
| Property return | TypedArrayProxy |
| Declared spec kind | array:typed:geometry |
| Declared default | () |
| Flags | array, input, output, connectable |
| Plug access | node.original_geometry.plug |
| Logical element | node.original_geometry.element_plug(i).value |
Geometry output plugs; distinct from output_geometries.
| Item | Type / behavior |
|---|---|
| Declared Maya path | outputGeometry |
| Property return | TypedArrayProxy |
| Declared spec kind | array:typed:geometry |
| Declared default | () |
| Flags | array, output, connectable |
| Plug access | node.output_geometry.plug |
| Logical element | node.output_geometry.element_plug(i).value |
Native internal deformer data exposed by the specs.
| Item | Type / behavior |
|---|---|
| Declared Maya path | function |
| Property return | CompoundProxy |
| Declared spec kind | compound |
| Declared default | None |
| Flags | input, output, connectable, stored, hidden |
| Plug access | node.function.plug |
The property returns a structure. Edit an explicit child or use Plug operations; do not replace the proxy with a Python assignment.
First integer field of function.
| Item | Type / behavior |
|---|---|
| Declared Maya path | function.fchild1 |
| Property return | _ValuePlugProxy · .value: int |
| Declared spec kind | numeric:int |
| Declared default | 0 |
| Flags | input, output, connectable, stored, hidden |
| Read the value | node.fchild_1.value |
| Assignment | node.fchild_1 = value |
Second integer field of function.
| Item | Type / behavior |
|---|---|
| Declared Maya path | function.fchild2 |
| Property return | _ValuePlugProxy · .value: int |
| Declared spec kind | numeric:int |
| Declared default | 0 |
| Flags | input, output, connectable, stored, hidden |
| Read the value | node.fchild_2.value |
| Assignment | node.fchild_2 = value |
Third integer field of function.
| Item | Type / behavior |
|---|---|
| Declared Maya path | function.fchild3 |
| Property return | _ValuePlugProxy · .value: int |
| Declared spec kind | numeric:int |
| Declared default | 0 |
| Flags | input, output, connectable, stored, hidden |
| Read the value | node.fchild_3.value |
| Assignment | node.fchild_3 = value |
DGNode6| Property | Maya plug | Returns | Description |
|---|---|---|---|
message |
message |
None |
Node message plug; used for connections, with no numeric value. |
frozen |
frozen |
_ValuePlugProxy · .value: bool |
Native evaluation freeze state. |
is_historically_interesting |
isHistoricallyInteresting |
_ValuePlugProxy · .value: int |
Node interest level in Maya history. |
bin_membership |
binMembership |
_ValuePlugProxy · .value: str |
Maya bin membership. |
caching_enabled |
caching |
_ValuePlugProxy · .value: bool |
Native node caching switch. |
caching_node_state |
nodeState |
_ValuePlugProxy · .value: int |
Native nodeState evaluation state. |
No new public methods on this class. Use inherited methods below; an abstract base does not provide a new creatable Maya type.
DGNode7| Method | Returns | Description |
|---|---|---|
create |
None |
Creates a missing node; does nothing if it already exists. |
delete |
None |
Disconnects live connections, detaches the wrapper and deletes the node. |
snapshot |
DGSnapshot |
Captures and stores an identity and spec-driven SVD dictionary. |
snapshot_svd |
SVDSnapshot |
Captures Source / Value / Destinations for the requested list. |
svd |
SVDView |
Returns a read-only live view of source, value and destinations; it is not a frozen capture. |
finalize |
None |
Applies all sources, then undriven values, then destinations; enabled FSET dispatch follows. |
clear_attr_cache |
None |
Clears this instance attribute cache; does not delete nodes or clear the global wrapper registry. |
Node2| Method | Returns | Description |
|---|---|---|
has_fn(fn_type) |
bool |
Test compatibility with a Maya function set. |
clear_node_registry() |
None |
Detach registered wrappers and clear their shared registry. |
| Attribute | Type | Value / role |
|---|---|---|
NODE_TYPE |
str | None |
"geometryFilter" |
COMPATIBLE_MAYA_FN_TYPES |
tuple[int, ...] |
(om.MFn.kGeometryFilt,) |
SPEC_LAYERS |
list[SpecLayer] |
Parent layers + get_geometry_filter_specs_all |
Attributes defined or overridden here. NODE_REGISTRY is inherited from Node.
The GeometryFilterSnapshot types exported by these modules are TypedDict descriptions, not classes to instantiate for capture. Use node.snapshot().
| Point | Behavior |
|---|---|
| Identity | The wrapper follows the Maya object; a replacement with the same name is not the same node. |
| Reading | Live reads take priority; check exists before native operations. |
| Specs | Describe existing plugs; do not automatically add Maya attributes. |
| Examples | The demonstration creates and deletes only its own nodes with a random name suffix. |
Self-contained example for the Maya Python Script Editor. To run it in mayapy, initialize maya.standalone before this block and shut it down afterwards, as shown in the Node.
This test creates a skinCluster without bound geometry to demonstrate the base; it does not perform a skin bind.
from uuid import uuid4from weSkel.src.core.node.abstract.geometry_filter.lib import GeometryFilterfrom weSkel.src.core.node.dg.skin_cluster.lib import SkinCluster
node = SkinCluster("api_filter_" + uuid4().hex[:8])try: node.create() assert GeometryFilter(node.mobject) is node assert node.mfn_geometry_filter is not None node.envelope = 0.5 assert abs(node.envelope.value - 0.5) < 1e-6 assert len(node.input_geometries) == 0 assert len(node.output_geometries) == 0 print("GeometryFilter: envelope and empty geometry arrays OK")finally: node.delete(snapshot=False)Expected result : GeometryFilter: envelope and empty geometry arrays OK. Demonstration nodes are removed in finally.
SDK checkpoint 87c3486 reference. Inventory and examples checked against source under Maya 2025.3 and 2026.3; this does not validate the compiled package.