Domains and Handles Approach

The Domains and Handles approach involves dividing the mesh into domains containing elements or nodes and placing handles at the corners of those domains.

The domains and handles approach also allows for parametric morphing of lengths, angles, radii, and arc angles as well as morphing the mesh to match geometric data and other meshes. This approach is most useful for making detailed changes to any mesh (local domains) as well as general changes to space frame type meshes (global domains).

You can automatically divide the mesh into logical domains or you can manually define your own domains and handles. When the handles are moved, the shape of the mesh changes according to the domain boundaries. When the handles associated with a domain move, the shape of the domain changes, which in turn changes the positions of the nodes inside those domains. During the morphing process the mesh morphs in a logical way with nodes near the moving handles moving more and nodes near the stationary handles moving less. In the areas between the handles, the mesh is stretched or compressed to match the desired shape.

The amount each node moves with respect to each handle is relative to an internally calculated influence coefficient. The process for calculating the influence coefficients is somewhat time consuming, but once they are calculated they can be stored and applied rapidly. Thus, when handles and domains are initially set up or edited, HyperMorph spends an amount of time, proportional to the size of the new domains, calculating the handle influences. However, when handles are moved to morph the model, no calculations are necessary and the actual morphing occurs quickly. The advantage of this approach is that it makes morphing an interactive process, even for large models.

For very large domains, calculating influence coefficients can be time consuming. For domains that have more than 50,000 elements, although you can change this default limit, the large domain solver is used. The large domain solver much faster at morphing large domains, but the drawback is that it must be invoked every time you wish to morph, thus making morphing slower. However, for very large domains, the process of calculating influences can be too slow or too memory intensive, therefore the large domain solver makes it possible to morph such domains.

Domains and handles are divided into two basic groups, global domains and local domains.