8.68. Create Surface Mesh (QuickMesh)
Group (Subgroup)
Surface Meshing (Generation)
Deprecation Notice
The “SurfaceNets” filter should be used instead. Search the filter list for “Surface Nets”.
Description
This Filter generates a Triangle Geometry from a grid Geometry (either an Image Geometry or a RectGrid Geometry) that represents a surface mesh of the present Features. The algorithm proceeds by creating a pair of Triangles for each face of the Cell where the neighboring Cells have a different Feature Id value. The meshing operation is extremely quick but can result in a surface mesh that is very “stair stepped”. The user is encouraged to use a smoothing operation to reduce this “blockiness”.
The user may choose any number of Cell Attribute Arrays to transfer to the created Triangle Geometry. The Faces will gain the values of the Cells from which they were created. Currently, the Filter disallows the transferring of data that has a multi-dimensional component dimensions vector. For example, scalar values and vector values are allowed to be transferred, but N x M matrices cannot currently be transferred.
This filter will ensure that the smaller of the 2 FaceLabel values will always be in the first component (component[0]). This will allow assumptions made in downstream filters to continue to work correctly.
This filter attempts to repair the windings for a mesh. This may not be possible due to the nature of how meshes are stored in the software. See Verify Traingle Winding documentation for detailed breakdown of nuance.
For more information on surface meshing, visit the tutorial.
Quick Surface Mesh output without any extra smoothing applied
Quick Surface Mesh output with Laplacian Smoothing filter applied.
NodeType = 2
NodeType = 3
NodeType = 4
Node Types
One of the arrays to come out of the algorithm is the “Node Type” vertex array. This array uses a value to label each vertex as to what kind of node it was determined to be during the meshing process.
Value |
Description |
---|---|
2 |
Node within the interior of the grain face. |
3 |
Node along a triple line |
4 |
Node that is a Quadruple point |
12 |
Node that is on the exterior of the mesh |
13 |
Node that is on the exterior of the mesh and is a triple line |
14 |
Node that is on the exterior of the mesh and is a quadruple point |
Exterior or Boundary Triangles
Each triangle that is created will have an 2 component attribute called Face Labels
that represent the Feature ID on either
side of the triangle. If one of the triangles represents the border of the virtual box then one of the FaceLables will
have a value of -1.
Notes
The Quick Mesh algorithm is very crude and naive in its implementation. This filter along with the Laplacian Smoothing filter can give you reasonable results. The newer filter that should replace both the Quick Mesh and the Laplacian Smoothing filter is the “Surface Nets” surface meshing algorithm. This will create the surface mesh and smooth in a single filter and give subjectively better results and perform much faster at both.
Input Parameter(s)
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
---|---|---|---|
Attempt to Fix Problem Voxels |
Bool |
See help page. |
|
Attempt to Make Windings Consistent |
Bool |
If true, attempts to repair the windings for the mesh. This may not be possible. See help page. |
|
Generate Triple Lines |
Bool |
Experimental feature. May not work. |
Input Cell Data
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
---|---|---|---|
Grid Geometry |
Geometry Selection |
Image, Rectilinear Grid |
The complete path to the Grid Geometry from which to create a Triangle Geometry |
Cell Feature Ids |
Array Selection |
Allowed Types: int32 Comp. Shape: 1 |
Specifies to which feature each cell belongs. |
Attribute Arrays to Transfer |
MultiArraySelection |
The paths to the Arrays specifying which Cell Attribute Arrays to transfer to the created Triangle Geometry |
Output Triangle Geometry
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
---|---|---|---|
Created Triangle Geometry |
DataGroupCreation |
The name of the created Triangle Geometry |
Output Vertex Data
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
---|---|---|---|
Vertex Data [AttributeMatrix] |
DataObjectName |
The complete path to the DataGroup where the Vertex Data of the Triangle Geometry will be created |
|
Node Type |
DataObjectName |
The name of the Array specifying the type of node in the Triangle Geometry |
Output Face Data
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
---|---|---|---|
Face Data [AttributeMatrix] |
DataObjectName |
The complete path to the DataGroup where the Face Data of the Triangle Geometry will be created |
|
Face Labels |
DataObjectName |
The name of the Array specifying which Features are on either side of each Face in the Triangle Geometry |
Output Face Feature Data
Parameter Name |
Parameter Type |
Parameter Notes |
Description |
---|---|---|---|
Face Feature Data [AttributeMatrix] |
DataObjectName |
The complete path to the DataGroup where the Feature Data will be stored. |
Example Pipelines
(01) SmallIN100 Quick Mesh
License & Copyright
Please see the description file distributed with this Plugin
DREAM3D-NX Help
If you need help, need to file a bug report or want to request a new feature, please head over to the DREAM3DNX-Issues GitHub site where the community of DREAM3D-NX users can help answer your questions.