# assembly¶

Submodule extending the vtkAssembly object functionality.

## Assembly¶

class vedo.assembly.Assembly(*meshs)[source]

Bases: vtkRenderingCorePython.vtkAssembly, vedo.base.Base3DProp

Group many meshes as a single new mesh as a vtkAssembly.

clone()[source]

Make a clone copy of the object.

lighting(style='', ambient=None, diffuse=None, specular=None, specularPower=None, specularColor=None)[source]

Set the lighting type to all Mesh in the Assembly object.

Parameters
• style (str) – preset style, can be [metallic, plastic, shiny, glossy]

• ambient (float) – ambient fraction of emission [0-1]

• diffuse (float) – emission of diffused light in fraction [0-1]

• specular (float) – fraction of reflected light [0-1]

• specularPower (float) – precision of reflection [1-100]

• specularColor (color) – color that is being reflected by the surface

unpack(i=None)[source]

Unpack the list of objects from a Assembly.

If i is given, get i-th object from a Assembly. Input can be a string, in this case returns the first object whose name contains the given string.

## procrustesAlignment¶

vedo.assembly.procrustesAlignment(sources, rigid=False)[source]

Return an Assembly of aligned source meshes with the Procrustes algorithm. The output Assembly is normalized in size.

Procrustes algorithm takes N set of points and aligns them in a least-squares sense to their mutual mean. The algorithm is iterated until convergence, as the mean must be recomputed after each alignment.

The set of average points generated by the algorithm can be accessed with algoutput.info['mean'] as a numpy array.

Parameters

rigid (bool) – if True scaling is disabled.