API Guide > Writing a Deformer Node >

# Deformers and Topology

Topology refers to the underlying structure of a shape, for example, a mesh's topology defines how the vertices are connected to the edges and the edges are connected to the faces for building the mesh. The topology of a NURBS surface is the number of divisions in the UV space. In the construction history, when the topology of a shape is changed frequently, it reorders the vertices. For example, if you select some vertices in a polygon with history and delete them, the polygon reorders the other vertices to maintain a tight packing.

Several deformers store the weights per-vertex including:

- clusters
- rigid skinning (jointClusters)
- smooth skinning (skinClusters)
- plug-in deformers (MPxDeformerNode)

Many deformers store weights using the index of the weighted vertex. If you change the vertex ordering after the deformer is applied, the vertex weight indices in the final shape might be different than what they are inside the deformer. This is because the construction history preserves the original topology in the deformer and modifies it later. This issue does not occur if you change the vertex ordering prior to the deformer because the weights get correlated with the new vertices.