Option:Adaptive triangles
From DocR21
Note: Although Spatial recommends that you use the current Faceter, this option remains in use for those who use the pre-R21 Faceter.
Contents |
Action
Controls whether triangles are further sub-divided to ensure that tolerances specified in the refinement object are met.
Name String
adaptive_triangles
Scheme
| Type | Values | Default |
|---|---|---|
| boolean | #f, #t | #f |
C++
| Type | Values | Default |
|---|---|---|
| logical | FALSE, TRUE | FALSE |
Description
This option enables adaptive refinement of triangles. When adaptive refinement is on, triangles in the facet mesh are refined until they meet tolerances, or facet edges become smaller than the surface tolerance, or until there is no improvement seen.
The faceting time increases when this option is on because the standard faceting algorithm is used to produce the starting point for adaptive refinement. Some overhead occurs by checking if the mesh meets tolerances the first time. On the other hand, the time taken depends on how much adaptive refinement fixes: the more there is to fix, the longer it takes. The increase in faceting time with the option turned on is not so large as to make the option impractical to use.
Example
; adaptive_triangles ; Create a wiggle, then facet without and then with ; the option turned on (option:set "adaptive_triangles" #f) ;; #f (define w (solid:wiggle 50 50 30 2 -2 -2 2)) ;; w (entity:facet w) ;; 419 (entity:display-facets w) ;; () ; Turn on adaptive_triangles and re-facet (option:set "adaptive_triangles" #t) ;; #f (entity:facet w) ;; 567 (entity:display-facets w) ;; ()
