Appendix D. Size Field Functions

The size field defines the sizes in the volume. Having volumetric sizes could pose problems where sizes are diffused across dead space, leading to unnecessary refinement. In addition to volumetric sizing, a new type of size definition (geodesic) is introduced to define the sizes along a surface rather than the volume. The geodesic sizing enables you to confine sizes to surfaces and avoid problems like dead space refinement.

The following size field functions are available.


Note:  These functions are not supported in a distributed parallel environment.


FeatureDescriptionFunction
Initialize geodesic sizingOn face zonesInitialize geodesic sizing on the specified face zones.
  • Specify the face zones using a face-zone-id-list, face-zone-name-list, or face-zone-name-pattern*.

  • Specify the max-size value.

(tgapi-size-field-initialize-geodesic-on-face-zones '(face-zone-name-list) max-size)
(tgapi-size-field-initialize-geodesic-on-face-zones '(face-zone-ID-list) max-size)
(tgapi-size-field-initialize-geodesic-on-face-zones "face-zone-name-pattern*" max-size)
On object face zone labelsInitialize geodesic sizing on the specified object face zone labels.
  • Specify the object-list or object-name-pattern* and the face zone labels using a face-zone-label-list or face-zone-label-name-pattern*.

  • Specify the max-size value.

(tgapi-size-field-initialize-geodesic-on-object-labels '(object-list) '(face-zone-label-list) max-size)
(tgapi-size-field-initialize-geodesic-on-object-labels '(object-list) "face-zone-label-name-pattern*" max-size)
(tgapi-size-field-initialize-geodesic-on-object-labels "object-name-pattern*" '(face-zone-label-list) max-size)
(tgapi-size-field-initialize-geodesic-on-object-labels "object-name-pattern*" "face-zone-label-name-pattern*" max-size)
On object face zonesInitialize geodesic sizing on the face zones for the specified objects.
  • Specify the object-list or object-name-pattern*.

  • Specify the max-size value.

(tgapi-size-field-initialize-geodesic-on-objects '(object-list) max-size)
(tgapi-size-field-initialize-geodesic-on-objects "object-name-pattern*" max-size)
Compute size fieldGeodesic sizesComputes geodesic sizes on face nodes based on the size controls specified.(tgapi-size-field-compute-geodesic '(size-control-name-list))
(tgapi-size-field-compute-geodesic '(size-control-name-pattern*))
(tgapi-size-field-compute-geodesic "size-control-name-pattern*)
Volumetric sizesComputes the volumetric size field based on the size controls specified.(tgapi-size-field-compute-volumetric '(size-control-name-list))
(tgapi-size-field-compute-volumetric '(size-control-name-pattern*))
(tgapi-size-field-compute-volumetric "size-control-name-pattern*")
Geodesic blended size fieldComputes the geodesic blended size field as follows.
  • The volumetric size field is computed based on all edge, face proximity and BOI controls.

  • Geodesic sizes are computed based on the remaining size controls.

  • Updates geodesic sizes based on volumetric sizes (the lower minimum size (geodesic or volumetric) will be used).

  • Hard sizes are computed last.

(tgapi-size-field-compute-geodesic-blended '(size-control-name-list))
(tgapi-size-field-compute-geodesic-blended '(size-control-name-pattern*))
(tgapi-size-field-compute-geodesic-blended "size-control-name-pattern*")
Update geodesic sizes with volumetric sizesOn face zonesUpdates nodal (geodesic) sizes based on the existing volumetric size field for the face zones specified. This requires the volumetric size field to be computed.

Specify the face zones using a face-zone-id-list, face-zone-name-list, or face-zone-name-pattern*.

Note:  Geodesic sizes need to be initialized and computed before attempting an update.

(tgapi-size-field-update-geodesic-with-volumetric-on-face-zones '(face-zone-id-list))
(tgapi-size-field-update-geodesic-with-volumetric-on-face-zones '(face-zone-name-list))
(tgapi-size-field-update-geodesic-with-volumetric-on-face-zones "face-zone-name-pattern*")
On object face zone labelsUpdates nodal (geodesic) sizes based on the existing volumetric size field for the face zone labels specified. This requires the volumetric size field to be computed.

Specify the object-name and the face zone labels using a face-zone-label-list or face-zone-label-name-pattern*.

Note:  Geodesic sizes need to be initialized and computed before attempting an update.

(tgapi-size-field-update-geodesic-with-volumetric-on-object-labels 'object-name '(face-zone-label-list))
(tgapi-size-field-update-geodesic-with-volumetric-on-object-labels 'object-name '(face-zone-label-name-pattern*))
(tgapi-size-field-update-geodesic-with-volumetric-on-object-labels 'object-name "face-zone-label-name-pattern*")
(tgapi-size-field-update-geodesic-with-volumetric-on-object-labels "object-name" '(face-zone-label-list))
(tgapi-size-field-update-geodesic-with-volumetric-on-object-labels "object-name" '(face-zone-label-name-pattern*))
(tgapi-size-field-update-geodesic-with-volumetric-on-object-labels "object-name" "face-zone-label-name-pattern*")
On object face zonesUpdates nodal (geodesic) sizes based on the existing volumetric size field for the face zones of the objects specified. This requires the volumetric size field to be computed.

Specify the object-list or object-name-pattern*.

Note:  Geodesic sizes need to be initialized and computed before attempting an update.

(tgapi-size-field-update-geodesic-with-volumetric-on-objects '(object-list))
(tgapi-size-field-update-geodesic-with-volumetric-on-objects "object-name-pattern*")
Scale geodesic sizesOn marked facesScales and limits geodesic sizes on the marked faces for the face zones specified.
  • Specify the face zones using a face-zone-id-list, face-zone-name-list, or face-zone-name-pattern*.

  • Specify the scale-factor.

  • Specify the values for min-size and max-size

(tgapi-size-field-scale-geodesic-on-marked-faces '(face-zone-id-list) scale-factor min-size max-size)
(tgapi-size-field-scale-geodesic-on-marked-faces '(face-zone-name-list) scale-factor min-size max-size)
(tgapi-size-field-scale-geodesic-on-marked-faces "face-zone-name-pattern*" scale-factor min-size max-size)
On face zonesScales and limits geodesic sizes on the faces for the face zones specified.
  • Specify the face zones using a face-zone-id-list, face-zone-name-list, or face-zone-name-pattern*.

  • Specify the scale-factor.

  • Specify the values for min-size and max-size

(tgapi-size-field-scale-geodesic-on-face-zones '(face-zone-id-list) scale-factor min-size max-size)
(tgapi-size-field-scale-geodesic-on-face-zones '(face-zone-name-list) scale-factor min-size max-size)
(tgapi-size-field-scale-geodesic-on-face-zones "face-zone-name-pattern*" scale-factor min-size max-size)
On object face zone labelsScales and limits geodesic sizes on the faces for the face zone labels specified.
  • Specify the object-name and the face zone labels using a face-zone-label-list or face-zone-label-name-pattern*.

  • Specify the scale-factor.

  • Specify the values for min-size and max-size

(tgapi-size-field-scale-geodesic-on-object-labels 'object-name '(face-zone-label-list) scale-factor min-size max-size)
(tgapi-size-field-scale-geodesic-on-object-labels 'object-name "face-zone-label-name-pattern*" scale-factor min-size max-size)
(tgapi-size-field-scale-geodesic-on-object-labels "object-name" '(face-zone-label-list) scale-factor min-size max-size)
(tgapi-size-field-scale-geodesic-on-object-labels "object-name" "face-zone-label-name-pattern*" scale-factor min-size max-size)
On object face zonesScales and limits geodesic sizes on the object face zones specified.
  • Specify the object-list or object-name-pattern*.

  • Specify the scale-factor.

  • Specify the values for min-size and max-size

(tgapi-size-field-scale-geodesic-on-objects '(object-list) '(face-zone-label-list) scale-factor min-size max-size)
(tgapi-size-field-scale-geodesic-on-object-labels "object-name-pattern*" "face-zone-label-name-pattern*" scale-factor min-size max-size)
Filter noiseOn face zonesRemoves refined surface mesh clusters generated by geodesic sizing on the specified face zones.
  • Specify the face zones using a face-zone-id-list, face-zone-name-list, or face-zone-name-pattern*.

  • Specify the growth-rate. It is recommended to use a growth rate value higher than the value used for computing the geodesic sizes (for example, 1.6).

  • Specify the face-count threshold. For face clusters whose count is less than the specified threshold value, the geodesic size values will be set to the average of the values on the cluster boundary.

Note:  Geodesic sizes need to be initialized and computed, but undiffused for the face zones specified.

(tgapi-size-field-filter-noise-geodesic '(face-zone-id-list) growth-rate face-count)
(tgapi-size-field-filter-noise-geodesic '(face-zone-name-list) growth-rate face-count)
(tgapi-size-field-filter-noise-geodesic "face-zone-name-pattern*" growth-rate face-count)
Diffuse geodesic sizingOn face zonesDiffuse geodesic sizing on the specified face zones. Diffusion can also happen on face zones which are not specified, if they can be reached by node flood filling.
  • Specify the face zones using a face-zone-id-list, face-zone-name-list, or face-zone-name-pattern*.

  • Specify the minimum and maximum size limits to apply for the node size (min-size, max-size.


    Important:  The sizes will be bounded to the min-size and max-size specified. The final minimum node size will be the maximum of (node-min-size, min-size) and final maximum node size will be the minimum of (node-max-size, max-size).

    It is recommended that you specify the global minimum size required, as you cannot revert to the earlier minimum size after size diffusion.


  • Specify the growth-rate to be applied to diffuse size geodesically (along the surface).

  • Choose whether to enable diffusion of free node sizes to other free nodes in proximity, even when they are not connected (set diffuse-across-free-edge? to #t or #f).

  • Specify the absolute range to be used to find free nodes in proximity for diffusion free-diffusion-range (when diffuse-across-free-edge? is enabled (#t).

(tgapi-size-field-diffuse-geodesic-on-face-zones '(face-zone-name-list) min-size max-size growth-rate diffuse-across-free-edge? free-diffusion-range)
(tgapi-size-field-diffuse-geodesic-on-face-zones '(face-zone-id-list) min-size max-size growth-rate diffuse-across-free-edge? free-diffusion-range)
(tgapi-size-field-diffuse-geodesic-on-face-zones "face-zone-name-pattern*" min-size max-size growth-rate diffuse-across-free-edge? free-diffusion-range)
On object face zone labelsDiffuse geodesic sizing on the specified object labels. Diffusion can also happen on face zone labels which are not specified, if they can be reached by node flood filling.
  • Specify the object face zone labels using the object-name and the label-name-list or label-name-pattern*.

  • Specify the minimum and maximum size limits to apply for the node size (min-size, max-size.


    Important:  The sizes will be bounded to the min-size and max-size specified. The final minimum node size will be the maximum of (node-min-size, min-size) and final maximum node size will be the minimum of (node-max-size, max-size).


  • Specify the growth-rate to be applied to diffuse size geodesically (along the surface).

  • Choose whether to enable diffusion of free node sizes to other free nodes in proximity, even when they are not connected (set diffuse-across-free-edge? to #t or #f).

  • Specify the absolute range to be used to find free nodes in proximity for diffusion free-diffusion-range (when diffuse-across-free-edge? is enabled (#t).

(tgapi-size-field-diffuse-geodesic-on-object-labels 'object-name '(label-name-list) min-size max-size growth-rate diffuse-across-free-edge? free-diffusion-range)
(tgapi-size-field-diffuse-geodesic-on-object-labels 'object-name "label-name-pattern*" min-size max-size growth-rate diffuse-across-free-edge? free-diffusion-range)
(tgapi-size-field-diffuse-geodesic-on-object-labels "object-name" '(label-name-list) min-size max-size growth-rate diffuse-across-free-edge? free-diffusion-range)
(tgapi-size-field-diffuse-geodesic-on-object-labels "object-name" "label-name-pattern*" min-size max-size growth-rate diffuse-across-free-edge? free-diffusion-range)