alias_api.AlClusterMember

class alias_api.AlClusterMember

Bases: AlObject, AlAnimatable

Basic Interface to the object representing the relationship between an item and a cluster that it belongs to.

This class encapsulates the relationship that is cluster membership. Whenever an object is placed into a cluster an AlClusterMember object is created to represent the relationship.

Each AlClusterMember object knows the associated cluster object as well as the geometry object which represents the item in the cluster. Presently, this object can be an AlDagNode, AlSurfaceCV, AlCurveCV, or AlPolysetVertex.

If an AlDagNode is a member of an AlCluster then every AlSurfaceCV, AlCurveCV, or AlPolysetVertex that appears in the DAG hierarchy underneath the AlDagNode is affected by the AlCluster.

For example, if you wanted to set the percentage effects of all CVs that were affected by an AlCluster, you would use the first_member() method from the AlCluster object, then walk along the AlClusterMember list using the method next_cluster_member() in the AlClusterMember object. Whenever you encountered an AlDagNode member (as determined by the code fragment above) you would recursively walk down the dag node to find all AlSurfaceCVs and AlCurveCVs below it in the dag.

The AlClusterMember object may not be created or destroyed directly. The AlCluster object creates or destroys the AlClusterMember object when the memberships of the AlCluster object change.

The print() method is an aid to debugging code. It prints the current contents of the cluster member object.

cluster(self: alias_api.AlClusterMember) alias_api.AlCluster

This method returns the cluster that this cluster member belongs to.

copy_wrapper(self: alias_api.AlClusterMember) alias_api.AlObject

Return an exact duplicate of this AlClusterMember wrapper.

next_cluster_member(self: alias_api.AlClusterMember) alias_api.AlClusterMember

This function returns a pointer to the cluster member following this one in the cluster. If this is the last one then NULL is returned.

next_cluster_member_d(self: alias_api.AlClusterMember) int

Destructively points the current wrapper to the cluster member following this one in the cluster.

Returns

The status code result of the operation Success - the wrapper now points to the next cluster member InvalidObject - the cluster member was invalid Failure - there was no next cluster member

Return type

AlStatusCode

object(self: alias_api.AlClusterMember) alias_api.AlObject

This method returns the object that this cluster member references.

prev_cluster_member(self: alias_api.AlClusterMember) alias_api.AlClusterMember

This function returns a pointer to the cluster member preceding this one in the cluster. If this is the first one then NULL is returned.

prev_cluster_member_d(self: alias_api.AlClusterMember) int

Destructively points the current wrapper to the cluster member preceding this one in the cluster.

Returns

The status code result of the operation Success - the wrapper now points to the preceding cluster member InvalidObject - the cluster member was invalid Failure - there was no preceding cluster member

Return type

AlStatusCode

remove_from_cluster(self: alias_api.AlClusterMember, cluster: alias_api.AlCluster) int

Removes this cluster member from the cluster.

Parameters

cluster (AlCluster) – Is the cluster to be removed from

Returns

The status code result of the operation Success - if everything successful InvalidObject - if cluster is not valid InvalidArgument - clusterMember was not valid

Return type

AlStatusCode

type(self: alias_api.AlClusterMember) alias_api.AlObjectType

Return the AlClusterMember type identifier.