Preferences for controlling iso-surface algorithms. More...
Public Types | |
enum | algorithmType : uint8_t { ALGO_DEFAULT = 0, ALGO_TOPO, ALGO_CELL, ALGO_POINT } |
The algorithm types. More... | |
enum | filterType : uint8_t { NONE = 0, CELL, DIAGCELL, NONMANIFOLD, PARTIAL = CELL, FULL = DIAGCELL, CLEAN = NONMANIFOLD } |
The filtering (regularization) to apply. More... | |
Public Member Functions | |
isoSurfaceParams (const algorithmType algo=algorithmType::ALGO_DEFAULT, const filterType filter=filterType::DIAGCELL) noexcept | |
Default construct, or with specified algorithm. More... | |
isoSurfaceParams (const dictionary &dict, const isoSurfaceParams ¶ms=isoSurfaceParams()) | |
Default construct, setting parameters from dictionary. More... | |
isoSurfaceParams (const dictionary &dict, const algorithmType algo, const filterType filter=filterType::DIAGCELL) | |
Default construct, setting parameters from dictionary. More... | |
algorithmType | algorithm () const noexcept |
Get current algorithm. More... | |
void | algorithm (algorithmType algo) noexcept |
Set algorithm. More... | |
filterType | filter () const noexcept |
Get current filter type. More... | |
void | filter (filterType fltr) noexcept |
Set filter type. More... | |
bool | snap () const noexcept |
Get point snapping flag. More... | |
void | snap (bool on) noexcept |
Set point snapping flag. More... | |
scalar | mergeTol () const noexcept |
Get current merge tolerance. More... | |
void | mergeTol (const scalar relTol) noexcept |
Set merge tolerance (cell/point algo) More... | |
const boundBox & | getClipBounds () const noexcept |
Get optional clipping bounding box. More... | |
boundBox & | getClipBounds () noexcept |
Access optional clipping bounding box. More... | |
void | setClipBounds (const boundBox &bb) |
Set optional clipping bounding box. More... | |
void | print (Ostream &os) const |
Print information about the settings. More... | |
Static Public Member Functions | |
static algorithmType | getAlgorithmType (const dictionary &dict, const algorithmType deflt) |
Get 'isoMethod' or 'isoAlgorithm' as enumeration. More... | |
static filterType | getFilterType (const dictionary &dict, const filterType deflt) |
Get 'regularise' as bool or enumeration. More... | |
Static Public Attributes | |
static const Enum< algorithmType > | algorithmNames |
Names for the iso-surface algorithms. More... | |
static const Enum< filterType > | filterNames |
Names for the filtering types. More... | |
Preferences for controlling iso-surface algorithms.
Some common dictionary properties:
Property | Description | Required | Default |
---|---|---|---|
isoMethod | Algorithm (cell/topo/point/default) | no | default |
regularise | Face simplification (enum or bool) | no | true |
mergeTol | Point merge tolerance (cell/point) | no | 1e-6 |
snap | Point snapping (topo) | no | true |
bounds | Optional clip bounds | no | inverted |
The default algorithm denotes the use of the current standard algorithm.
Filtering types (for topological iso-surface)
none
: leave tet cuts untouchedpartial
, cell
: Combine intra-cell facesfull
, diagcell
: Perform partial
and remove face-diagonal pointsclean
: Perform full
and eliminate open edges as well. (May cause excessive erosion!)Definition at line 102 of file isoSurfaceParams.H.
enum algorithmType : uint8_t |
The algorithm types.
Enumerator | |
---|---|
ALGO_DEFAULT | Use current 'standard' algorithm. |
ALGO_TOPO | |
ALGO_CELL | |
ALGO_POINT |
Definition at line 111 of file isoSurfaceParams.H.
|
strong |
The filtering (regularization) to apply.
Definition at line 122 of file isoSurfaceParams.H.
|
explicitnoexcept |
Default construct, or with specified algorithm.
Definition at line 128 of file isoSurfaceParams.C.
|
explicit |
Default construct, setting parameters from dictionary.
Definition at line 142 of file isoSurfaceParams.C.
References dict.
|
explicit |
Default construct, setting parameters from dictionary.
Definition at line 158 of file isoSurfaceParams.C.
|
static |
Get 'isoMethod' or 'isoAlgorithm' as enumeration.
Definition at line 61 of file isoSurfaceParams.C.
References dict.
|
static |
Get 'regularise' as bool or enumeration.
Definition at line 93 of file isoSurfaceParams.C.
References dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Foam::ListOps::find(), Switch::good(), and Foam::nl.
|
inlinenoexcept |
Get current algorithm.
Definition at line 238 of file isoSurfaceParams.H.
Referenced by distanceSurface::createGeometry(), isoSurfaceBase::New(), and sampledIsoSurface::sampledIsoSurface().
|
inlinenoexcept |
Set algorithm.
Definition at line 246 of file isoSurfaceParams.H.
|
inlinenoexcept |
Get current filter type.
Definition at line 254 of file isoSurfaceParams.H.
Referenced by isoSurfaceCell::isoSurfaceCell(), isoSurfacePoint::isoSurfacePoint(), and isoSurfaceTopo::isoSurfaceTopo().
|
inlinenoexcept |
Set filter type.
Definition at line 262 of file isoSurfaceParams.H.
|
inlinenoexcept |
Get point snapping flag.
Definition at line 270 of file isoSurfaceParams.H.
|
inlinenoexcept |
Set point snapping flag.
Definition at line 278 of file isoSurfaceParams.H.
|
inlinenoexcept |
Get current merge tolerance.
Definition at line 286 of file isoSurfaceParams.H.
Referenced by isoSurfaceCell::isoSurfaceCell(), and isoSurfacePoint::isoSurfacePoint().
|
inlinenoexcept |
Set merge tolerance (cell/point algo)
Definition at line 294 of file isoSurfaceParams.H.
|
inlinenoexcept |
Get optional clipping bounding box.
Definition at line 302 of file isoSurfaceParams.H.
Referenced by isoSurfaceTopo::isoSurfaceTopo().
|
inlinenoexcept |
Access optional clipping bounding box.
Definition at line 310 of file isoSurfaceParams.H.
void setClipBounds | ( | const boundBox & | bb | ) |
Set optional clipping bounding box.
Definition at line 170 of file isoSurfaceParams.C.
void print | ( | Ostream & | os | ) | const |
Print information about the settings.
Definition at line 176 of file isoSurfaceParams.C.
References os().
|
static |
Names for the iso-surface algorithms.
Definition at line 173 of file isoSurfaceParams.H.
|
static |
Names for the filtering types.
Definition at line 178 of file isoSurfaceParams.H.
Referenced by isoSurfaceTopo::isoSurfaceTopo().