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 class | 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 107 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 114 of file isoSurfaceParams.H.
|
strong |
The filtering (regularization) to apply.
Definition at line 123 of file isoSurfaceParams.H.
|
explicitnoexcept |
Default construct, or with specified algorithm.
Definition at line 134 of file isoSurfaceParams.C.
|
explicit |
Default construct, setting parameters from dictionary.
Definition at line 148 of file isoSurfaceParams.C.
References dict, isoSurfaceParams::getAlgorithmType(), isoSurfaceParams::getFilterType(), dictionary::getOrDefault(), and dictionary::readIfPresent().
|
explicit |
Default construct, setting parameters from dictionary.
Definition at line 164 of file isoSurfaceParams.C.
|
static |
Get 'isoMethod' or 'isoAlgorithm' as enumeration.
Definition at line 67 of file isoSurfaceParams.C.
References dict, and dictionary::readIfPresentCompat().
Referenced by isoSurfaceParams::isoSurfaceParams().
|
static |
Get 'regularise' as bool or enumeration.
Definition at line 99 of file isoSurfaceParams.C.
References dict, Foam::exit(), Foam::FatalIOError, FatalIOErrorInFunction, Switch::find(), Switch::good(), keyType::LITERAL, Foam::nl, and dictionary::readIfPresent().
Referenced by isoSurfaceParams::isoSurfaceParams().
|
inlinenoexcept |
Get current algorithm.
Definition at line 213 of file isoSurfaceParams.H.
Referenced by isoSurfaceBase::New(), sampledCuttingPlane::sampledCuttingPlane(), and sampledIsoSurface::sampledIsoSurface().
|
inlinenoexcept |
Set algorithm.
Definition at line 219 of file isoSurfaceParams.H.
|
inlinenoexcept |
Get current filter type.
Definition at line 225 of file isoSurfaceParams.H.
Referenced by isoSurfaceCell::isoSurfaceCell(), isoSurfacePoint::isoSurfacePoint(), isoSurfaceTopo::isoSurfaceTopo(), and sampledIsoSurface::sampledIsoSurface().
|
inlinenoexcept |
Set filter type.
Definition at line 231 of file isoSurfaceParams.H.
|
inlinenoexcept |
Get point snapping flag.
Definition at line 237 of file isoSurfaceParams.H.
Referenced by isoSurfaceTopo::isoSurfaceTopo().
|
inlinenoexcept |
Set point snapping flag.
Definition at line 243 of file isoSurfaceParams.H.
|
inlinenoexcept |
Get current merge tolerance.
Definition at line 249 of file isoSurfaceParams.H.
Referenced by isoSurfaceCell::isoSurfaceCell(), and isoSurfacePoint::isoSurfacePoint().
|
inlinenoexcept |
Set merge tolerance (cell/point algo)
Definition at line 255 of file isoSurfaceParams.H.
|
inlinenoexcept |
Get optional clipping bounding box.
Definition at line 261 of file isoSurfaceParams.H.
Referenced by isoSurfaceCell::isoSurfaceCell(), isoSurfacePoint::isoSurfacePoint(), and isoSurfaceTopo::isoSurfaceTopo().
|
inlinenoexcept |
Access optional clipping bounding box.
Definition at line 267 of file isoSurfaceParams.H.
void setClipBounds | ( | const boundBox & | bb | ) |
Set optional clipping bounding box.
Definition at line 177 of file isoSurfaceParams.C.
void print | ( | Ostream & | os | ) | const |
Print information about the settings.
Definition at line 183 of file isoSurfaceParams.C.
References os().
|
static |
Names for the iso-surface algorithms.
Definition at line 162 of file isoSurfaceParams.H.
|
static |
Names for the filtering types.
Definition at line 165 of file isoSurfaceParams.H.
Referenced by isoSurfaceTopo::isoSurfaceTopo().