| 1 | import numpy as np
|
|---|
| 2 | from processmesh import processmesh
|
|---|
| 3 | from applyoptions import applyoptions
|
|---|
| 4 |
|
|---|
| 5 |
|
|---|
| 6 | def plot_vertexnumbering(md, options, fig, axgrid, gridindex):
|
|---|
| 7 | '''
|
|---|
| 8 | PLOT_VERTEXNUMBERING - plot vertex numbering
|
|---|
| 9 |
|
|---|
| 10 | Usage:
|
|---|
| 11 | plot_vertexnumbering(md, options, fig, axes)
|
|---|
| 12 |
|
|---|
| 13 | See also: PLOTMODEL
|
|---|
| 14 |
|
|---|
| 15 | '''
|
|---|
| 16 | #process data and model
|
|---|
| 17 | x, y, z, elements, is2d, isplanet = processmesh(md, [], options)
|
|---|
| 18 |
|
|---|
| 19 | ax = axgrid[gridindex]
|
|---|
| 20 | fig.delaxes(axgrid.cbar_axes[gridindex])
|
|---|
| 21 |
|
|---|
| 22 | if is2d:
|
|---|
| 23 | ax.triplot(x, y, elements)
|
|---|
| 24 | else:
|
|---|
| 25 | print('Not Implemented Yet')
|
|---|
| 26 |
|
|---|
| 27 | XPad = 0.1 * (np.nanmax(x) - np.nanmin(x))
|
|---|
| 28 | YPad = 0.1 * (np.nanmax(y) - np.nanmin(y))
|
|---|
| 29 | #plot mesh
|
|---|
| 30 | ax.triplot(x, y, elements)
|
|---|
| 31 | ax.set_xlim((np.min(x) - XPad, np.max(x) + XPad))
|
|---|
| 32 | ax.set_ylim((np.min(y) - YPad, np.max(y) + YPad))
|
|---|
| 33 |
|
|---|
| 34 | highlightpos = options.getfieldvalue('highlight', [])
|
|---|
| 35 | if highlightpos != 'none':
|
|---|
| 36 | #if just one element duplicate it to avoid coloring issues
|
|---|
| 37 | if type(highlightpos) == int:
|
|---|
| 38 | highlightpos = [highlightpos, highlightpos]
|
|---|
| 39 | #convert from to matlab numbering
|
|---|
| 40 | highlightpos = [pos - 1 for pos in highlightpos]
|
|---|
| 41 |
|
|---|
| 42 | # and numbers
|
|---|
| 43 | for i, Xcoord in enumerate(x):
|
|---|
| 44 | if i in highlightpos:
|
|---|
| 45 | props = dict(boxstyle='circle', pad=0.1, color='r')
|
|---|
| 46 | else:
|
|---|
| 47 | props = dict(boxstyle='circle', pad=0.1, color='w')
|
|---|
| 48 | ax.text(x[i], y[i], str(i + 1), ha='center', va='center', backgroundcolor='w', clip_on=True, bbox=props)
|
|---|
| 49 |
|
|---|
| 50 | #apply options
|
|---|
| 51 | options.addfielddefault('title', 'Vertex numbers (matlab indexation)')
|
|---|
| 52 | options.addfielddefault('colorbar', 'off')
|
|---|
| 53 | applyoptions(md, [], options, fig, axgrid, gridindex)
|
|---|